Eventing Systems for Microservice Architecture

Hosted by Vancouver Scala Meetup

Public group
Vancouver Scala Meetup
Vancouver Scala Meetup
Public group
Location image of event venue


Hey Scala members!

Update: we've added a second presentation also about microservices! And fixed a mistake regarding who was presenting ;)

I'm pleased to announce we've got a new Meetup for Thursday, November 12th @ 6pm. Yaroslav Tkachenko from Bench will be talking about building eventing systems for microservice architecture. Afterwards, Jim Riecken from Hootsuite will be talking about a new scalable event bus. We'll be hosting our Meetup at Hootsuite Headquarters. Doors open at 5:45pm and talks will begin at 6:15pm. This is also an opportunity for all of us to catch up since it's been a while since our last gathering in the summer!

More info about our topics:

Yaroslav Tkachenko, Director of Engineering, Platform

Building Eventing Systems for Microservice Architecture
In Bench Accounting we heavily use various events as first class citizens: notifications, in-app TODO lists (and messaging solution in future) rely on the eventing framework we built. Recently we’ve migrated our old legacy eventing system to the new framework with a focus on microservices architecture. We’ve chosen event sourcing approach as well as tools like Akka, Camel, ActiveMQ, Slick and Postgres (JSONB). In this presentation we would like to share high-level overview of the system, implementation details and challenges we’ve faced.

Jim Riecken, Senior Software Engineer

Building an Event Bus at Scale
At Hootsuite, we've been transitioning from a single monolithic PHP application to a set of scalable Scala-based microservices. To avoid excessive coupling between services, we've implemented an event system using Apache Kafka that allows events to be reliably produced + consumed asynchronously from services as well as data stores.

In this presentation, I'll talk about:
- Why we chose Kafka
- How we set up our Kafka clusters to be scalable, highly available, and multi-data-center aware.
- How we produce + consume events
- How we ensure that events can be understood by all parts of our system (Some that are implemented in other programming languages like PHP and Python) and how we handle evolving event payload data.


Looking forward to seeing you all there!

- Justin

Address for Hootsuite HQ:
5 East 8th Avenue, Vancouver, BC