# How we scaled Wisembly's infrastructure : moving from our Elephant to RabbitMQ

DevFeed: [How we scaled Wisembly's infrastructure : moving from our Elephant to RabbitMQ](<https://devfeed.tech/articles/how-we-scaled-wisembly-s-infrastructure-moving-from-our-elephant-to-rabbitmq-34698.md>)

Original publisher: [Read original article](<https://medium.com/unexpected-token/how-we-scaled-wisembly-s-infrastructure-moving-from-our-elephant-to-rabbitmq-282e1fba68ed?source=rss----2d2624499d2---4>)

Author: Guillaume POTIER

Published: 2015-07-02T13:31:56Z

Content type: article

Language: en

Sources: [eFounders](<https://devfeed.tech/sources/efounders.md>)

Topics: [RabbitMQ](<https://devfeed.tech/topics/rabbitmq.md>), [Socket.IO](<https://devfeed.tech/topics/socket-io.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [PHP](<https://devfeed.tech/topics/php.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [growth](<https://devfeed.tech/tags/growth.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [php](<https://devfeed.tech/tags/php.md>), [rabbitmq](<https://devfeed.tech/tags/rabbitmq.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [redis](<https://devfeed.tech/tags/redis.md>), [saas](<https://devfeed.tech/tags/saas.md>), [startup](<https://devfeed.tech/tags/startup.md>), [tech](<https://devfeed.tech/tags/tech.md>), [websockets](<https://devfeed.tech/tags/websockets.md>)

## AI overview

This article describes how Wisembly evolved its infrastructure as usage grew. It focuses on using RabbitMQ on the backend to communicate between application components and servers, after earlier use of Node.js, Socket.IO, PHP, MySQL, Redis, and WebSockets.

## Source excerpt

Hi, I'm Guillaume, I am the CTO and co-founder of Wisembly, a SaaS solution facilitating interactions during your big meetings and events. We recently launched a beta of our new product: Solid to help you make your every-day-meetings more productive and actionable. This is the story of how we improved our performance by changing and adding elements to our stack over the time. I'll particularly focus on how using RabbitMQ on the backend to communicate between different stack and servers improved our life. Where we once were Here are the building blocks for our tech team's philosophy: start small, DRY (Don't Repeat Yourself) and YAGNI (You Ain't Gonna Need It). Back in 2012, when we implemented real-time websockets communications with Node.js and Socket.io, we had a pretty small stack: everything fullstack on Symfony2 with MySQL as single storage and some tiny parts of Backbone.js here and there to power up our application. One year later I presented these slides at the Symfony2 Live Paris 2013 explaining how we implemented Elephant in raw PHP to communicate from our Symfony2 backend with our distant socket.io push server. https://medium.com/media/dfdfc12635e346b3ceb1b2838fda5808/href As I said, our stack was pretty minimal at the time. We didn't feel the need to complexify it for the sake of the socket.io push server. So we looked at websockets and found a pretty way to implement them, connect and emit events with our Open Source library. It did the job, we open-sourced something cool (more than 500 stargazers now and still active!), on our way to live happily ever after :)... Or did we? Where we are now Quite recently, as the business was growing, more and more push events were sent every minute on the various customer meetings we handle daily. For example, we have a specific feature for very interactive seminars where more than 500 users can answer a live poll. Oftentimes, all the attendees submit their answers during the same 10-to-20-second time window, right after