This Repository contains a collection of tools and services that you may need when building a microservices based system with (CQRS) and (Event-Sourcing)
Microservices are a software development technique —a variant of the service-oriented architecture (SOA) structural style— that arranges an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight. Defination from wikipedia : https://en.wikipedia.org/wiki/Microservices
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Language |
Website |
Spring boot |
Java |
|
Microsoft.Net Core |
c# |
|
Grails Groovy |
Java |
|
Eclipse Vertx |
Java |
|
Helidon |
Java - Kotlin |
|
Fresh Squeezed Limonade |
PHP |
|
Lumen |
PHP |
|
MolecularJs |
Javascript |
|
NodeJs |
Javascript |
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Docker |
|
CoreOS rkt |
|
Linuxcontainers LXC |
|
OpenVZ |
|
Containerd |
It groups containers that make up an application into logical units for easy management and discovery. = Useful Readings
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Kubernetes |
|
Docker Swarm |
|
OpenShift |
|
Diego |
https://docs.cloudfoundry.org/concepts/diego/diego-architecture.html#diagram |
CoreOs Fleet |
|
Mesos Marathon |
|
Amazon ECS |
|
Amazon ECR |
|
Azure K8s Service |
https://azure.microsoft.com/en-us/services/kubernetes-service/ |
Let’s imagine that you are writing some code that invokes a service that has a REST API or Thrift API. In order to make a request, your code needs to know the network location (IP address and port) of a service instance. In a traditional application running on physical hardware, the network locations of service instances are relatively static. For example, your code can read the network locations from a configuration file that is occasionally updated.
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Consul |
|
Apache ZooKeeper |
|
Etcd |
|
Eeureka |
|
Smartstack |
|
SkyDNS |
|
Bakerstreet |
An API gateway takes all API calls from clients, then routes them to the appropriate microservice with request routing, composition, and protocol translation. Typically it handles a request by invoking multiple microservices and aggregating the results, to determine the best path. It can translate between web protocols and web‑unfriendly protocols that are used internally. = Useful Readings
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Kong |
|
Ambassador |
|
Ocelot |
|
Tyk |
|
Amazon AWS Gateway |
|
Azure Application Gateway |
https://docs.microsoft.com/en-us/azure/application-gateway/overview |
Spring Cloud |
|
KrakenD |
Event driven architecture pattern is a distributed asynchronous architecture pattern to create highly scalable reactive applications. The pattern suits for on every level application stack from small to complex ones. The main idea is delivering and processing events asynchronously.
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Apache kafka |
|
Rabbit MQ |
|
Azure Service bus |
https://azure.microsoft.com/en-us/services/service-bus/?ef_id=Cj0KCQiA1-3yBRCmARIsAN7B4H0iLfdqXdXdY-H3vw1dUbn6wscnCict2F4_RdhJXLFhbpReq-tDYaAoj1EALw_wcB%3AG%3As&OCID=AID2000076_SEM_e9PC46VT&MarinID=e9PC46VT_324582039256_azure%20service%20bus_e_c71931028028_kwd-318783172040&lnkd=Google_Azure_Brand&dclid=CNeUzvOx-ucCFQzkuwgdYF4Mdg |
Amazon SQS |
|
Google Cloud Pub/Sub |
Each service instance generates writes information about what it is doing to a log file in a standardized format. The log file contains errors, warnings, information and debug messages.
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Fluentd |
|
Graylog |
|
Logstash |
|
Bunyan |
|
Suro |
|
CloudWatch |
|
Kibana |
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Grafana |
|
Prometheus |
|
cAdvisor |
|
Riemann |
|
Spigo |
https://www.spigotmc.org/resources/lagmonitor.21348/?cf_chl_jschl_tk=134eae81f7fcca7748cef25cf0b537500782b487-1583104534-0-AayA-zzcVh0KIjL08ER8ojxteMEUsHCOn9EwVTqMFcVtqWU3eUv8KUiiltEbyh2rzkIoEfVOd9C_4ha-5aKFEbfEchSbNScDZQRfRN5tY6TpQhPWV-wAvuo3b9RrJnfZFkz3dFzfMA1MWQprj2JeS0O02cnwi0cTE8YTGVogFWtmo4RRfgyDuW3CB3UVJMhM5guQJbCF5ulLl5EkGhcpmPynsyQIytizfWRnRNuLDnEgYUhwPJIXY_5Y2AV2HRlhookupXDMctySU_h83qfmiNWR6rfouzJsbiEXnjTjk7kpLbSC2i7432QRZuRv-Avgyw |
Sensu |
|
Sysdig |
|
NewRelic |
|
zabbix |
|
ntop |
Api documentation
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Swagger |
|
Apiary |
|
Slate |
|
Gelato |
|
Aglio |
|
LucyBot’s DocGen |
Api documentation
This list is not a must it’s for reference and to be can be updated anyone using a different tool
Tool |
Website |
Postman |
|
Hoverfly |
|
Pact |
|
Gatling |
|
RestAssured |
|
Citrus |