Development speed

In developing microservices, the principle of using the mono-repository. This allowed us to gain the following advantages: 

  1. The ability to reuse libraries and services between all microservices in the repository
  2. Automatic generation of SDKs by each microservice. These SDKs are used by other microservices that communicate with the service that generated the SDK. Accordingly, in case of any critical changes, errors in the use of the imported SDK are visible at the development stage
  3. Updating npm packages in 1 place makes it easier to maintain updates
  4. Automated CI/CD allows you to quickly update microservice logic

Security

When developing microservices, we used the Saga orchestration approach. This allowed us to get 1 access point to all the functionality, which provided

  1. The use of JWT authorisation allowed us to reject requests that do not meet the requirements at the receiving stage (on the orchestrator service)
  2. Validation of requests at the entrance
  3. Restriction of access to internal microservices. Only the orchestrator service has access from the external network. The orchestrator communicates with the rest of the services using the internal network

Scalability and reliability

The use of microservice architecture made it possible to scale only services that have a high load, and in case of a crash of one of the raised copies of the microservice, traffic was redistributed to the active copies, while the microservice that experienced problems was restarted. This also allowed the other services to continue working in case of failure of one of them.

Communication between microservices

This is organised in 2 ways:

  1. using the REST API for synchronous processing of requests that require immediate results
  2. using queues with the RabbitMQ broker to process large amounts of data (processing of customer transactions)

An example of microservices in banking integrationAn example of microservices in banking integration

Monitoring

All microservices on the project were connected to ELK, which allows receiving, analysing, and monitoring system parameters in one place. When a service request enters the orchestrator, an internal identifier is assigned to it and transmitted to the microservices, respectively, using the logging system – you can filter the logs for this request and analyse which service is not working correctly and for what reason.

More about microservices:

Request more case details at SUCCESS@42FLOWS.TECH or fill the form bellow.

Let’s build a bright digital future!

 

MORE CASES

contact-us-btn

Contact Us: