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.
🚆✈️🚌🛳 + 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? They wanted to quickly design and implement an “internal startup” - an innovative B2B/B2C solution for the travel industry.