Episode 75
RabbitMQ and Commanded at Simplebet with Dave Lucia
November 30th, 2021
55 mins 31 secs
About this Episode
We talk with Dave Lucia about Simplebet’s use of RabbitMQ and Commanded for solving unique real-time problems. We learn how Simplebet uses Elixir when creating real-time sports betting markets. We also learn what CQRS systems are, how the Commanded library supports that in Elixir, and how Commanded pairs well with RabbitMQ. Dave talks about moving away from Kafka to RabbitMQ and how that made sense for their use cases. Also valuable, Dave shares where they have found the “dragons” in their design. A helpful discussion that helps identify when CQRS systems might be a tool to use when solving our own problems. Also, Simplebet is betting on SurfaceUI for front-end design in a big and interesting way as well!
Show Notes online - http://podcast.thinkingelixir.com/75
Elixir Community News
- https://fly.io/phoenix-files/ – Phoenix focused section of Fly.io blog
- https://fly.io/phoenix-files/safe-ecto-migrations/ – Safe Ecto Migrations multi-part guide
- https://github.com/erlang/otp/pull/5292 – Erlang 25 is documenting all the built-in types
- https://twitter.com/theerlef/status/1460683487317577734 – Erlang Ecosystem Foundation shared that they reached the milestone of 1000 members!
- https://www.youtube.com/watch?v=y8-9yZlye30 – Quinn Wilton's "100 years of Erlang" Code Beam America presentation
- https://slides.com/rc-6/100-years-of-erlang-slimmed – Quinn's slides
- https://github.com/spawnfest/eep49ers/ – SpawnFest Overall Winner
- https://github.com/spawnfest/eArangoDB – SpawnFest Maintainability Winner
- https://github.com/spawnfest/beamoji – SpawnFest Innovation Winner
- https://www.twitch.tv/josevalim – Advent of Code problems will be solved by Jose Valim on Twitch
- https://github.com/rrrene/credo/blob/master/CHANGELOG.md – Credo 1.6 release includes
mix credo --first-run
feature - https://github.com/livebook-dev/kino/pull/50 – Jonathan's Kino PR that adds "controls" and is demonstrated by playing multi-player Pong in a Livebook notebook!
- https://github.com/pprzetacznik/IElixir – Jupyter's kernel for Elixir
- https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md – ExDoc v0.26.0 is out with new usability features
- https://twitter.com/josevalim/status/1462436734285795340 – José Valim highlights several new ExDoc features
- https://vimeo.com/647867227 – Oban Web v2.8.0 is out along with Oban Pro v0.9.3 and a video demonstrates the changes
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
- https://www.youtube.com/watch?v=dmBdFh5N1g4 – Migrating from Kafka to RabbitMQ at SimpleBet: Why and How | David Lucia | RabbitMQ Summit 21
- https://medium.com/@davelucia/two-years-of-elixir-at-the-outline-ad671a56c9ce
- https://medium.com/@davelucia/beyond-functions-in-elixir-refactoring-for-maintainability-5c73daba77f3
- https://medium.com/@davelucia/battleship-elixir-json-sunk-my-float-dc3df46447db
- https://soundcloud.com/elixirtalk/episode-153-feat-dave-lucia-the-dream-stack-with-rust-elixir
- https://www.youtube.com/watch?v=xmUfTl33-fU – Rustling up predictive sporting betting models on the BEAM - DAVID LUCIA
- https://www.youtube.com/watch?v=wvfhrvAFOoQ – David Lucia - Refactoring Elixir for maintainability | Code BEAM SF 19
- https://www.youtube.com/watch?v=Lh5rA1pgWCk – ElixirConf 2021 - Dave Lucia - Surface - a bridge to the Javascript community
- https://github.com/davydog187/migrating_from_kafka
- https://speakerdeck.com/davydog187/betting-on-observability-at-simplebet
- https://lightstep.com/case-studies/simplebet/
- https://theoutline.com/
- https://www.bloomberg.com/
- https://www.theverge.com/
- https://www.bdg.com/
- https://www.draftkings.com/
- https://www.amqp.org/
- https://www.rabbitmq.com/
- https://github.com/commanded/commanded
- https://opencollective.com/commanded
- https://microservices.io/patterns/data/cqrs.html
- https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
- https://www.confluent.io/blog/avro-kafka-data/
- https://kafka.apache.org/
- https://www.linkedin.com/in/joseph-lozano/
- https://en.wikipedia.org/wiki/Synthetic_monitoring
- https://github.com/surface-ui/surface
Guest Information
- https://twitter.com/davydog187 – Dave Lucia on Twitter
- https://twitter.com/sb_engineers – Simplebet Engineering on Twitter
- https://twitter.com/simplebethq – Simplebet on Twitter
- https://github.com/davydog187/ – on Github
- https://davelucia.com – Blog
Find us online
- Message the show - @ThinkingElixir
- Email the show - show@thinkingelixir.com
- Mark Ericksen - @brainlid
- David Bernheisel - @bernheisel
- Cade Ward - @cadebward