You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
472 lines
14 KiB
472 lines
14 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<title>project structure and technologies used :: Swarmlab faq</title>
|
|
<link rel="canonical" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab_poc-datacollector/docs/index-structure.html">
|
|
<meta name="generator" content="Antora 2.3.4">
|
|
<link rel="stylesheet" href="../../_/css/site.css">
|
|
<link rel="stylesheet" href="../../_/css/search.css">
|
|
<script>var uiRootPath = '../../_'</script>
|
|
</head>
|
|
<body class="article">
|
|
<header class="header">
|
|
<nav class="navbar">
|
|
<div class="navbar-brand">
|
|
<a class="navbar-item" href="http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs">Swarmlab faq</a>
|
|
<button class="navbar-burger" data-target="topbar-nav">
|
|
<span></span>
|
|
<span></span>
|
|
<span></span>
|
|
</button>
|
|
</div>
|
|
<div id="topbar-nav" class="navbar-menu">
|
|
<div class="navbar-end">
|
|
<a class="navbar-item" href="#">Home</a>
|
|
<div class="navbar-item has-dropdown is-hoverable">
|
|
<a class="navbar-link" href="#">Products</a>
|
|
<div class="navbar-dropdown">
|
|
<a class="navbar-item" target ="hybridgit" href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid">Hybrid</a>
|
|
<a class="navbar-item" target ="venusgit" href="https://git.swarmlab.io:3000/swarmlab/venus-client">Venus</a>
|
|
</div>
|
|
</div>
|
|
<div class="navbar-item has-dropdown is-hoverable">
|
|
<a class="navbar-link" href="#">Services</a>
|
|
<div class="navbar-dropdown">
|
|
<a class="navbar-item" target ="hybrid" href="https://api-client.swarmlab.io:8088/">Hybrid</a>
|
|
<a class="navbar-item" target ="venus" href="https://api-client.swarmlab.io:8088/">Venus</a>
|
|
</div>
|
|
</div>
|
|
<div class="navbar-item">
|
|
<input id="search-input" type="text" placeholder="Search docs">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
<div class="body">
|
|
<div class="nav-container" data-component="swarmlab_poc-datacollector" data-version="docs">
|
|
<aside class="nav">
|
|
<div class="panels">
|
|
<div class="nav-panel-menu is-active" data-panel="menu">
|
|
<nav class="nav-menu">
|
|
<h3 class="title"><a href="index.html">swarmlab_poc-datacollector</a></h3>
|
|
<ul class="nav-list">
|
|
<li class="nav-item" data-depth="0">
|
|
<ul class="nav-list">
|
|
<li class="nav-item" data-depth="1">
|
|
<a class="nav-link" href="index.html">datacollector</a>
|
|
</li>
|
|
<li class="nav-item is-current-page" data-depth="1">
|
|
<button class="nav-item-toggle"></button>
|
|
<a class="nav-link" href="index-structure.html">project structure</a>
|
|
<ul class="nav-list">
|
|
<li class="nav-item" data-depth="2">
|
|
<a class="nav-link" href="index-vuejs.html">Vue.JS</a>
|
|
</li>
|
|
<li class="nav-item" data-depth="2">
|
|
<a class="nav-link" href="index-nodejs.html">Node JS</a>
|
|
</li>
|
|
<li class="nav-item" data-depth="2">
|
|
<a class="nav-link" href="index-mongo.html">Mongo</a>
|
|
</li>
|
|
<li class="nav-item" data-depth="2">
|
|
<a class="nav-link" href="index-redis.html">Redis</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-item" data-depth="1">
|
|
<button class="nav-item-toggle"></button>
|
|
<a class="nav-link" href="index-src.html">src-files</a>
|
|
<ul class="nav-list">
|
|
<li class="nav-item" data-depth="2">
|
|
<a class="nav-link" href="doc-dummy_service.html">dummy_service</a>
|
|
</li>
|
|
<li class="nav-item" data-depth="2">
|
|
<a class="nav-link" href="doc-readmongo_service.html">readmongo_service</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-item" data-depth="1">
|
|
<button class="nav-item-toggle"></button>
|
|
<a class="nav-link" href="index-usage.html">Usage</a>
|
|
<ul class="nav-list">
|
|
<li class="nav-item" data-depth="2">
|
|
<a class="nav-link" href="index-dummy_service.html">dummy_service</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-item" data-depth="1">
|
|
<a class="nav-link" href="index-microservice.html">Add Microservice</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
<div class="nav-panel-explore" data-panel="explore">
|
|
<div class="context">
|
|
<span class="title">swarmlab_poc-datacollector</span>
|
|
<span class="version">docs</span>
|
|
</div>
|
|
<ul class="components">
|
|
<li class="component">
|
|
<a class="title" href="../../CloudComputing_Lab/docs/index.html">CloudComputing_Lab</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../CloudComputing_Lab/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_faq/docs/index.html">swarmlab_faq</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_faq/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_how-to-build-a-Swarmlab-service/docs/index.html">swarmlab_how-to-build-a-Swarmlab-service</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_how-to-build-a-Swarmlab-service/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_infrastructure-as-code/docs/index.html">swarmlab_infrastructure-as-code</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_infrastructure-as-code/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_iot-sensor-node/docs/index.html">swarmlab_iot-sensor-node</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_iot-sensor-node/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_network-adhoc/docs/index.html">swarmlab_network-adhoc</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_network-adhoc/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component is-current">
|
|
<a class="title" href="index.html">swarmlab_poc-datacollector</a>
|
|
<ul class="versions">
|
|
<li class="version is-current is-latest">
|
|
<a href="index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_raspi-docker/docs/index.html">swarmlab_raspi-docker</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_raspi-docker/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_sec-intro/docs/index.html">swarmlab_sec-intro</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_sec-intro/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_sec-iptables/docs/index.html">swarmlab_sec-iptables</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_sec-iptables/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_sec-ssh-tunneling/docs/index.html">swarmlab_sec-ssh-tunneling</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_sec-ssh-tunneling/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_sidecar-firefox/docs/index.html">swarmlab_sidecar-firefox</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_sidecar-firefox/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_tech-list/docs/index.html">swarmlab_tech-list</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_tech-list/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="component">
|
|
<a class="title" href="../../swarmlab_xelatex-thesis/docs/index.html">swarmlab_xelatex-thesis</a>
|
|
<ul class="versions">
|
|
<li class="version is-latest">
|
|
<a href="../../swarmlab_xelatex-thesis/docs/index.html">docs</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
</div>
|
|
<main class="article">
|
|
<div class="toolbar" role="navigation">
|
|
<button class="nav-toggle"></button>
|
|
<a href="../../swarmlab_faq/docs/index.html" class="home-link"></a>
|
|
<nav class="breadcrumbs" aria-label="breadcrumbs">
|
|
<ul>
|
|
<li><a href="index.html">swarmlab_poc-datacollector</a></li>
|
|
<li><a href="index-structure.html">project structure</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
<div class="content">
|
|
<aside class="toc sidebar" data-title="Contents" data-levels="2">
|
|
<div class="toc-menu"></div>
|
|
</aside>
|
|
<article class="doc">
|
|
<h1 class="page">project structure and technologies used</h1>
|
|
<div class="sect1">
|
|
<h2 id="_dynamic_structure"><a class="anchor" href="#_dynamic_structure"></a>Dynamic Structure</h2>
|
|
<div class="sectionbody">
|
|
<div class="openblock float-group">
|
|
<div class="content">
|
|
<div class="imageblock right right">
|
|
<div class="content">
|
|
<img src="_images/swarm-poc.png" alt="swarm poc">
|
|
</div>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p><br>
|
|
</p>
|
|
</div>
|
|
<div class="ulist checklist">
|
|
<div class="title">From → To</div>
|
|
<ul class="checklist">
|
|
<li>
|
|
<p><i class="fa fa-check-square-o"></i> monolithic → networking architecture</p>
|
|
</li>
|
|
<li>
|
|
<p><i class="fa fa-check-square-o"></i> static → Dynamic</p>
|
|
</li>
|
|
<li>
|
|
<p><i class="fa fa-check-square-o"></i> host based → Service based</p>
|
|
</li>
|
|
<li>
|
|
<p><i class="fa fa-check-square-o"></i> linear → agile</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="admonitionblock tip">
|
|
<table>
|
|
<tr>
|
|
<td class="icon">
|
|
<i class="fa icon-tip" title="Tip"></i>
|
|
</td>
|
|
<td class="content">
|
|
You will learn to code, coordinate and orchestrate a swarm of self-acting nodes.
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_dynamic_instaces"><a class="anchor" href="#_dynamic_instaces"></a>Dynamic Instaces</h2>
|
|
<div class="sectionbody">
|
|
<div class="openblock float-group">
|
|
<div class="content">
|
|
<div class="imageblock right right">
|
|
<div class="content">
|
|
<img src="_images/docker-images.png" alt="210" width="260">
|
|
</div>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p><br>
|
|
</p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p>Server instances are <strong>platform agnostic container-based applications.</strong></p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p>To build a large - scale distributed application we take advantage of standardized code deployments using Docker containers.</p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p>Docker-based applications can be seamlessly moved from local development machines to production deployments</p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p><br></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_dynamic_networks_swarm"><a class="anchor" href="#_dynamic_networks_swarm"></a>Dynamic networks - Swarm</h2>
|
|
<div class="sectionbody">
|
|
<div class="openblock float-group">
|
|
<div class="content">
|
|
<div class="imageblock right left">
|
|
<div class="content">
|
|
<img src="_images/gynamic-swarm.png" alt="320" width="540">
|
|
</div>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p><br></p>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p><strong>From Code to full-blown systems</strong></p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>from a single container on your local machine</p>
|
|
</li>
|
|
<li>
|
|
<p>to a running cloud native - container-based environment</p>
|
|
</li>
|
|
<li>
|
|
<p>in the simplest and most logical format as possible.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p><br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
</p>
|
|
</div>
|
|
<div class="literalblock">
|
|
<div class="content">
|
|
<pre>Services in a dynamic and Scalable Distributed Architecture</pre>
|
|
</div>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_datacollector_structure"><a class="anchor" href="#_datacollector_structure"></a>Datacollector structure</h2>
|
|
<div class="sectionbody">
|
|
<div class="openblock float-group">
|
|
<div class="content">
|
|
<div class="imageblock right right">
|
|
<div class="content">
|
|
<img src="_images/swarm-poc1.png" alt="230" width="280">
|
|
</div>
|
|
</div>
|
|
<div class="paragraph">
|
|
<p></p>
|
|
</div>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>(red) Redisserver</p>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>redis sync for readmongo_service and dummy_service</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<p>(blue) readmongo_service</p>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>reads data from mongodb (Rest api)</p>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>1. Webclient → readmongo_service</p>
|
|
</li>
|
|
<li>
|
|
<p>2. readmongo_service ← mongo</p>
|
|
</li>
|
|
<li>
|
|
<p>3. webclient ← readmongo_service</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<p>reads data from mongodb (socket)</p>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>Webclient ←→ readmongo_service ←→ redis ←→ readmongo_service ←→ mongo</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<p>(green) dummy_service</p>
|
|
<div class="ulist">
|
|
<ul>
|
|
<li>
|
|
<p>IoT devive or App → mongo</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="admonitionblock tip">
|
|
<table>
|
|
<tr>
|
|
<td class="icon">
|
|
<i class="fa icon-tip" title="Tip"></i>
|
|
</td>
|
|
<td class="content">
|
|
<strong>(red), (blue) and (green) are scalable microservices</strong>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
<footer class="footer">
|
|
<p>This page was built using the Antora <a href="https://gitlab.com/antora/antora-ui-default" target="antora">default UI</a> </p>
|
|
</footer>
|
|
<script src="../../_/js/site.js"></script>
|
|
<script src="../../_/js/vendor/lunr.js"></script>
|
|
<script src="../../_/js/vendor/search.js" id="search-script" data-base-path="../.." data-page-path="/swarmlab_poc-datacollector/docs/index-structure.html"></script>
|
|
<script async src="../../_/../search-index.js"></script>
|
|
<script async src="../../_/js/vendor/highlight.js"></script>
|
|
</body>
|
|
</html>
|
|
|