Microservices

Debezium – Transaction log miner

In the previous post the services used eventuate to communicate. But how did it know to create events? How does the CDC module work? Well behind the scenes it is mining the transaction logs and create events from it. Enter Debezium. It's build on top of Kafka and records the changes made to the database in… Continue reading Debezium – Transaction log miner

Microservices

Eventuate

Eventuate is a framework that makes event-driven microservices easy. It simplifies a lot our work, as it has change data capture(CDC), message broker(Kafka) and a event store (Eventuate). For more information regarding eventuate you can start with this.  Now let's apply this on our known use case(items and bids). First of all, a picture will… Continue reading Eventuate

Microservices

Communication between microservices

There are different strategies here, depending of situation. The most common style of communication is Remote Procedure Invocation (RPI). This includes REST calls, gRPC or thrift.  It can be used only when one service calls another. This is known also as request/response. These are synchronous, the response must come in a timely fashion in order to… Continue reading Communication between microservices

Microservices

Service discovery

The purpose of service discovery is like the name states to make the microservices discoverable. Their network locations should be dynamically assigned, as they could fail, become unresponsive and another instance should be there to perform the required work. These microservices should be highly-available.(CAP theorem). We need a service registry where the services should be… Continue reading Service discovery

Microservices

Micro-service data management

In the micro-services world,  some rules must be respected: Services must be loosely coupled so that they can be developed, deployed and scaled independently Business transactions span across multiple services; they used data owned by multiple services Queries must aggregate data owned by multiple services. Different services may have different data storage requirements. In one of… Continue reading Micro-service data management