Posts

Showing posts from January, 2019

Architecture Review : Improve by adding scalability and availability to existing service

 Recently, I have received a task at work. There is a microservice which is a push message broker. It is provided with messages from service servers and sends those messages to GCM, APNS, and etc. This service handles requests well and everything is fine.  However, scalability and availability were not considered when this service was implemented at first. As I am making use of Auto Scaling Group on AWS environment now, I need to think about adding these necessary features to the service.  After below review, using ASG on this service deferred. Let me explain why. Current Architecture  As a push message broker, the service is consists of two modules: producer and consumer. Also, this service should store push messages somewhere. Currently, Cassandra is adopted as message storage. So basically, producers put push messages to Cassandra and consumers take out messages from Cassandra.  To deal with massive traffic from service servers, I am managi...