filmov
tv
Using Redis Streams to Build Event Driven Microservices and User Interface In Clojure
Показать описание
Bobby Calderwood, founder of Evident Systems, talks about using Redis Streams.
My team built a system for a major auto manufacturer that required significant asynchronous processing. Our client already had Redis in their environment and were comfortable using it, so we decided to build our system using Redis as the event sourcing layer. We saw Redis Streams on the horizon, but the Clojure language client, Carmine, didn't yet support the new Streams functionality. In the course of building our system, we ended up submitting pull requests both to Carmine and to Redis Docs to add support for Redis Streams. This talk will be mostly an experience report, with code examples in Clojure representing our Redis usage (via the Carmine client) both before Redis Streams became available as well as after changing the codebase (a surprisingly small amount) to use Redis Streams. We'll also dig into our architecture, including:
- how we were able to implement Event Sourcing and CQRS using Redis and Streams
- how we managed significant asynchronous processing by microservices behind our API
- how we aggregated current state in a separate data store
- how Redis Streams supported pushing changes to our ClojureScript/React user interface
Stay tuned!
My team built a system for a major auto manufacturer that required significant asynchronous processing. Our client already had Redis in their environment and were comfortable using it, so we decided to build our system using Redis as the event sourcing layer. We saw Redis Streams on the horizon, but the Clojure language client, Carmine, didn't yet support the new Streams functionality. In the course of building our system, we ended up submitting pull requests both to Carmine and to Redis Docs to add support for Redis Streams. This talk will be mostly an experience report, with code examples in Clojure representing our Redis usage (via the Carmine client) both before Redis Streams became available as well as after changing the codebase (a surprisingly small amount) to use Redis Streams. We'll also dig into our architecture, including:
- how we were able to implement Event Sourcing and CQRS using Redis and Streams
- how we managed significant asynchronous processing by microservices behind our API
- how we aggregated current state in a separate data store
- how Redis Streams supported pushing changes to our ClojureScript/React user interface
Stay tuned!
Комментарии