Archive for May 2022

Building Event-Driven Microservices - Chapter 3 - Communication and Data Contracts

Building Event-Driven Microservices - Chapter 3 - Communication and Data Contracts

Translations: RU

The Event-Driven model heavily relies on the QUALITY of events.

Good quality events are:

  • explicitly defined via contracts
  • have comments
  • support evolution with backward and forward compatibility
  • support code generation
  • breaking changes are well thought

Good events are implemented using the right tools:

  • use Avro/Thrift/Protobuf formats and never use JSON!
  • use the right event broker (such as Pulsar)

Good events are designed to:

  • contain all the info needed by consumers
  • use separate streams for each event type
  • use the right data types for their fields (don’t use string for numbers, use enums, etc.)
  • don’t use type field and fields based on it
  • be as small as possible
  • consider requirements from consumers
  • not just signals - they contain all info needed by consumers

These topics are disclosed in the Chapter 3 of the book we are currently studying:

Ingenius EMPERA Blockchain and PoM

Ingenius EMPERA Blockchain and PoM

Translations: RU

I accidentally met with the founders of EMPERA blockchain. As you may know, despite the fact that I believe in the blockchain future, I am a bit skeptical about new projects and ideas in this field as there are many pure scams and unprofessional enthusiasts.

However, after reading all the papers and after a deep talk with the founders I am now very excited about this particular project. And I want to share with you my insights (as well as a few skeptical unclarities to be 100% honest). If you see some problems in my analysis please let me know!

Building Event-Driven Microservices - Chapter 2 - Event Driven Microservice Fundamentals

Building Event-Driven Microservices - Chapter 2 - Event Driven Microservice Fundamentals

Translations: RU

Introduction into Event-driven microservice (EDM) architecture consists of the following topics:

  • two topologies
  • content of events
  • three types of events
  • table-stream duality
  • schemas for defining event data
  • single writer principle
  • features of event broker
  • event broker vs message broker
  • single source of truth principle
  • scaling using containers and VMs
  • microservice taxes that we should pay

These topics are disclosed in the Chapter 2 of the book we are currently studying: