Technical
Horizontal Scaling of Socket.IO Microservices with RabbitMQ
In our initial model, users get load balanced to the server with the least active connections, such that the distribution of connections stays even over all of our WebSocket workers. But now, it's a whole new world.
Details on the 22/07/2019 incident and how we are fixing this for the future
On July 22th, Crisp experienced infrastructure issues caused hardware failures with our provider DigitalOcean. We wanted to be transparent about the technical cause of this incident.
Ditch your Status Page: How we monitor Crisp at scale
The Crisp technical architecture runs around 40+ different micro-services, all replicated across different physical machines. Adding to that, we have around 20 daemons operating different tasks, eg. data storage with MongoDB, or email delivery with Postfix. Those microservices handle 1 billion+ requests each month (this is growing). We need to know when something crashes, quickly. After a thorough analysis of the status page / monitoring solutions available on the market, either as SaaS or Open