Kafka

Building Event-Driven Microservices - Chapter 14 - Supportive Tooling

Building Event-Driven Microservices - Chapter 14 - Supportive Tooling

Translations: RU

Quite often the tooling is a forgotten area during the beginning of development. This chapter overlooks the tooling that can help build and maintain event-driven microservices. Useful checklist! This topic includes:

  • Org rules
  • Documentation, tagging
  • Quotas
  • Schema registry
  • Offset management
  • ACL
  • State management and app reset
  • Consumer offset lag monitoring
  • Container Management Controls
  • Cluster Creation and Management
  • Dependency Tracking

All of these is disclosed in the Chapter 14 of the book:

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:

Travel Industry B2B/B2C solution

Travel Industry B2B/B2C solution

🚆✈️🚌🛳 + Math + Highload + Machine Learning…

Two and a half years ago we’ve got a request from the Travel-business IT company, whose B2C IT solution is the basis for one of the world’s largest travel companies that serves over 1 billion passengers every year.

What did they want to achieve?

What did they want to achieve?

They wanted to quickly design and implement an “internal startup” - an innovative B2B/B2C solution for the travel industry.