Skip to main 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