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.
88 lines
1.6 KiB
88 lines
1.6 KiB
= 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
|
|
|
|
|
|
|
|
|
|
|