Emerson Macedo
OLX Brazil
Audience: Intermediate, Advanced
Topic: GenServer/Broadway

Using Phoenix and Broadway with RabbitMQ to Handle 10M Monthly Ad insertions on OLX Brazil Marketplace

On this talk, you'll see the challenges we had at OLX Brazil to replace a 15 years old C TCP Service, with lots of memory leaks, using a large legacy database and also unsuitable for maintenance. The new Elixir Microservice had to come without service interruption, so there were also rollout challenges with all client platforms like mobile, web, and even mass insertion. Also, we created a CQRS approach to deal with Ad lifecycle events and preserve Ad state.

Key Takeaways:

  1. Replacing old TCP C service with Phoenix (HTTP) - Ad Insertion
  2. Using Broadway to consume Ad lifecycle events and create a snapshot view - Event Sourcing
  3. Dealing with legacy database, zero downtime and the new CQRS / Event Sourcing architecture
  4. Challenges and Next Steps
Bio

I'm a Software Architect/Engineer with more than 21 years of experience. Currently, I work at OLX, the absolute marketplace leader for used stuff in Brazil with a significant market share. Previously, I worked at Globo.com, the Internet army of one of the five largest media conglomerates in the world and absolute leader in Latin America. From work experience before Globo.com, I have extensive knowledge in fields of telecommunications, insurance, banking, web portals, amongst others.