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.

89 lines
1.6 KiB

3 years ago
= Architecture!
Apostolos rootApostolos@swarmlab.io
// Metadata:
:description: Architecture instructions
:keywords: Architecture
ifndef::env-browser[]
:data-uri:
endif::[]
:images-cdn: http://localhost:3080/images
:toc: right
:toc-title: Table of contents
:toclevels: 4
:source-highlighter: highlight
:no-header-footer:
:nofooter:
:last-update-label!:
:icons: font
:sectnums:
:url_mongodb: https://en.wikipedia.org/wiki/MongoDB
.Architecture
****
We will be trying to create a swarm implementation that will allow communication between all of the members/nodes.
****
== Deploy microservices to a Swarm cluster
[.float-group]
--
[.right]
image::./microservices-swarm.png[Docker,650,role=right]
:hardbreaks:
{empty} +
{empty}
:!hardbreaks:
.microservices architecture
* a microservice performs a simple task
** communicates with clients or
** other microservices
*** communication mechanisms such as REST API requests or Websocket etc
[NOTE]
====
* Microservices can include any programming language you like
** and with the orchestration tools they are easy to deploy and maintain
This architecture uses NodeJS and Redis microservices deployed as Docker containers
====
--
=== Scalability
You can scale your application by updating the number of replica nodes in the swarm cluster
[source,yml]
----
...
deploy:
replicas: 15
placement:
max_replicas_per_node: 1
constraints:
- node.labels.region==regio1
...
----
.Segmentation
TIP: Dynamic infrastructure: services can scale up and down without waiting for each other.
=== Availability
No single point of failure.
=== Security
=== Configuration