Architectures Articles

Read-Optimized, Eventually-Consistent Data Stores: In Practice

Jean-Philippe Daigle posted October 15, 2019
This is Part 2 of a series on how TripAdvisor uses event-driven architecture. In Part 1, we introduced basic concepts and trade-offs; now we’ll dig into two different real-world use cases: followee feed-building and member profile search. Both of these use cases rely on maintaining an eventually-consistent, non-authoritative view of data managed by other services for the purposes of fast querying. Followee / Follower Model The Travel Feed on TripAdvisor is a collection of recent…
Full Article

Toward CQRS: Read-Optimized Data Stores, the Join Problem, and Event Collaboration

Jean-Philippe Daigle posted October 8, 2019
This is Part 1 of a series on how TripAdvisor uses event-driven architecture and read-optimized data stores to orchestrate complex work across a complex fleet of microservices. TripAdvisor runs a constellation of microservices, several of which operate as the source of authoritative truth for one small part of the business' overall data model. Services marshall, through their public API, access and update requests for the data they manage. The Join Problem With…
Full Article

Revamping systems – The Agile way

Irena Shaigorodsky posted July 26, 2019
When revamping a system using a waterfall methodology, legacy systems are modified while new systems are built. At feature parity, they need to run in parallel for a reasonable amount of time to ensure that the new system can genuinely replace the existing one. Using an agile rewrite, we can start seeing wins sooner — kind of like rebuilding an airplane piece-by-piece while still in flight. The decision to rewrite…
Full Article