GoJek’s tech stack is varied and they use Java, Ruby, Go, Clojure, JavaScript and PHP. The entire brain behind finding a driver and allocating to it the customer is on Clojure because a functional language is needed to solve that kind of problem. Ruby and Ruby on Rails power GoJek’s portals, and Java powers their backend (the company use gRPC instead of REST). Go (programming language)solves the concurrency problem and takes all high processing loads. They use MySQL for old parts and newer ones use PostgreSQL with MongoDB at few places.
GoJek has 120 microservices right now and the company processes 180 million internal API calls per second.
People don’t realize how complex it is to have these 16 products using the same user ID, same credentials, 16 different OMS(Operations Management Suite) sending you 16 different receipts but appearing the same. Because your history is coming from 16 places. We use a lot of message buses, and queues(event driven framework) to solve this problem.
Team created mircoservices (a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services) and attacked problems. For example, if you get a lot of login one day, then if you had login service you could just increase the instances for that service. That’s how they created the chain of commands which could do these things one at a time. Microservices helped a lot in scaling.
---------------------------------------------------------<<<<>>>>>>>>>-----------------------------------------
No comments:
Post a Comment