Skip to Content

Techincal Micro Architecture

Factors that influence the technical Micro Architecture

  • Communication
  • Resilience
  • New Microservices
  • Operation
    • logs
    • metrics
    • configuration
    • deployment

Reactive Programming

The Reactive Manifesto  defines the term “reactive” based on the following characteristics:

Responsive

  • Responsive means that the system responds as fast as possible.

Resilient

  • Because of resilience the system remains available even if parts fail.

Elastic

  • The system can deal with different levels of load, for instance by using additional resources. After the load peak subsides the resources are freed again.

Asynchronous communication

  • The system uses asynchronous communication (message-driven).

reactive programming  means something completely different. This programming concept resembles the data flow

Reactive programming and the reactive manifesto

Spring Boot 

Communication APIs

Operations

  • Deployment - JAR file
  • Configuration: application.properties
  • logs  or JSON data to server.
  • Metrics: Actuator 

Go - Speed and concurrency

Moving to Microservices: Top 5 Languages to Choose From 

Go vs. C: A Language Comparison of Concurrent Programming Features 

Communication: REST, AMQP  , Redis 

Operation

  • Deployment: docker multi-staging
  • Configuration: Viper  for both JSON and YAML
  • logs 
  • Metrics: Go Kit , Prometheus, Graphite, InfluxDB

Resilience

resilience patterns such as Circuit Breaker  , Hystrix library 

Last updated on