Brian Thomas StortiinAlphaSights EngineeringSWIM: The scalable membership protocolIn a distributed system we have a group of nodes that need to collaborate and send messages to each other. To achieve that they need to…Nov 1, 2017Nov 1, 2017
Brian Thomas StortiinAlphaSights EngineeringRaft: Consensus made simple(r)Consensus is one of the fundamental problems in distributed systems. We want clients to perceive our system as a single coherent unit, but…Oct 23, 2017Oct 23, 2017
Brian Thomas StortiinAlphaSights EngineeringA Primer on Database ReplicationReplicating a database can make our applications faster and increase our tolerance to failures, but there are a lot of different options…Aug 11, 20171Aug 11, 20171
Brian Thomas StortiinAlphaSights EngineeringExponential Backoff with RabbitMQRabbitMQ is a core piece of our event-driven architecture at AlphaSights. It makes our services decoupled from each other and extremely…Jul 5, 20167Jul 5, 20167
Brian Thomas StortiinAlphaSights EngineeringSpeaking Rabbit: A look into AMQP’s frame structureRabbitMQ supports several different messaging protocols, but there is no doubt that AMQP (0–9–1) is the one most commonly used (and what…May 9, 2016May 9, 2016
Brian Thomas StortiinAlphaSights EngineeringProcess registry in Elixir: A practical exampleProcesses in Elixir (and Erlang, for that matter) are identified with a unique process id, the pid. That’s what we use to interact with…Mar 28, 201614Mar 28, 201614