Open source isn’t going anywhere.
A survey by the Linux Foundation shows that 72 percent of companies use open-source software for internal reasons and 55 percent use open source for commercial products. For customer acquisition and adtech company Centerfield, Vice President of Software Engineering Aniketh Parmar uses open-source technologies Redis and RabbitMQ to process the millions of API requests he receives each day.
According to Parmar, these programs are built to scale Centerfield’s business and come with necessities such as low latency capabilities, persistent data storage and disaster recovery capabilities. Below, Parmar explains why he uses these technologies over others.
What are a couple of the key open-source technologies your team is using to support the business and how are you using them?
At Centerfield, we process millions of API requests per day to track clicks, calls and sales transactions. Open-source technologies like Redis (in-memory datastore) and RabbitMQ (message broker) have been at the forefront for building a highly scalable and available platform called “Dugout.”
At Centerfield, we process millions of API requests per day to track clicks, calls and sales transactions.”
Being an in-memory data store, Redis allows us to store various data structures like Hash or List. Its native support coupled with Lua scripts enables us to implement the control structures all within in-memory with lightning speed. RabbitMQ, on the other hand, is a very lightweight and reliable event bus highly integrated within Centerfield's infrastructure for async processing of click and call events.
What is RabbitMQ?
Why did you choose this software over other solutions that are out there?
We primarily went with Redis because of its high throughput and low latency capabilities over other products like Memcached. In addition to this, Redis also offers persistent data storage, support for Lua script and replication.
RabbitMQ trumped the evaluation when compared to other products like MSMQ because we primarily needed a very lightweight but sophisticated message bus with pub/sub capabilities and high reliability. RabbitMQ comes out of the box with centralized management UI as well as disaster recovery capabilities and clustering, which made it the very obvious choice over other products.