Why every Kafka message must be versioned?

Apache Kafka – is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.

It is not the secret that Apache Kafka became a standard of communication between microservices last time.

Becoming a standard entails the need for proper operation and using.

The hint of being proper used is to provide every message sent to Kafka with version information. And here is why.

Continue reading

‘At least one’ validator

Are you familiar with Java Validation API? And Spring validation? (if not, take a look at the end of this article for links to read)

In my practice I had an interesting case. The task was to implement an web endpoint accepting the request which body consisted of three fields. And only one of them must be specified at the time.

Continue reading

Normalized Logger for OpenFeign

Standard OpenFeign logger provides the only approach to log communications — it logs every header in separated log entries, the body goes into another log entry.

It is very inconvenient to deal with such logs in production especially in multithreaded systems.

‘Normalized Logger’ is intended to combine all log entries related to one request-reply communication into one log entry.

Continue reading