ryanrborn
Designing a Broker-Agnostic API Layer in Elixir
Four Elixir behaviours keep a production trading pipeline completely broker-agnostic — not one big interface but four, each with a distinct responsibility. The dispatch mechanism stores the broker module as an atom in the database and calls behaviour callbacks directly on it: no case statements, no pattern matching on broker types, just function dispatch to whatever module is configured for the session. The post also covers partial implementations (brokers that do market data but not order execution), auth isolation that ranges from standard OAuth2 to a username/password flow with a push-based token refresh model, and two things in the design I’d change now.
Popular in Blog Posts
I saw this thread so I decided to write about how we do it :smile:
New
https://medium.com/@jpiepkow/distributed-state-is-hard-5a0d384c2f3c
New
Elixir Blog Posts
How to use this section
You can post links to your blog posts either in one of the Official Blog Posts threads, or, vi...
New
Learn how to leverage Erlang + Elixir’s GenServer to build a robust FTP Client.
https://rlopzc.com/posts/elixir-ftp-client-genserver-par...
New
https://medium.com/the-realreal-product-tech-blog/monitoring-hackney-connection-pools-with-telemetry-3aaeafa8eeb8
Hi, everyone! In this ...
New
OTP 26 was released and the Elixir 1.14.4 builds have been updated! Erlang OTP 26 changed how map keys are sorted, or not sorted actually...
New
Hey there,
I’ve started a little blog series about building and deploying Elixir applications. Now I would like to share with you the fi...
New
I’m closing out, for now, my series on questions at the heart of development with an analysis of when we need more abstraction. For exam...
New
This post is a guide on how Norba and I are building LiveMatch, a real-time app for soccer to follow multiple games in one place.
https:...
New
Dialyzer is a tool that you’ve probably heard about in the Elixir community. You may have even used it. However, adding Dialyzer to an ex...
New
Other popular topics
Hi All,
I set a environment variables in dev.exs , like below code.
when i start server, how can i set the ${enable} value?
thanks.
d...
New
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1]
15:22:35.803 [error] gen_event {lager_file_backend...
New
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
After calling mix ecto.create I get this error:
17:00:32.162 [error] GenServer #PID<0.412.0> terminating
** (Postgrex.Error) FATAL...
New
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
New
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine)
This is a plugin that adds support for Elixir to JetBrains IntelliJ...
New
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








