Development Engineer at Blibli.com ▸ Part of Research and Development Team at Blibli.com ▸ Code Java almost 10 years, but sometimes code Scala and Go-Lang.
engineers. ▸ More than 80 microservices. ▸ More than 400 nodes in production. ▸ Almost all microservices build using JVM ▸ Spring is our favorite framework (90% microservices).
code base intimidates developers. ▸ Overloaded IDE. ▸ Overloaded web container. ▸ Scaling the application can be difficult. ▸ Requires a long-term commitment to a technology stack.
FRONTEND SERVER FRONTEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER THIRD PARTY DATABASE DATABASE LET’S SAY LATENCY GOES UP HERE
FRONTEND SERVER FRONTEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER THIRD PARTY DATABASE DATABASE THREAD BLOCKED HERE
FRONTEND SERVER FRONTEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER THIRD PARTY DATABASE DATABASE LATENCY GOES UP HERE
FRONTEND SERVER FRONTEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER THIRD PARTY DATABASE DATABASE THREAD BLOCKED HERE
FRONTEND SERVER FRONTEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER BACKEND SERVER THIRD PARTY DATABASE DATABASE AND THERE AND DOWN!
because too many communication with other systems. ▸ Network failures is your best friend ▸ Microservices mean you will have farms, not pets. ▸ Don’t trust other services
public class PromoFeignFallback implements PromoFeign{ public Single<Boolean> redeem(@RequestParam String voucher){ return Single.just(Boolean.FALSE); } }
LOGISTIC SERVICE PAYMENT SERVICE EDGE SERVICE CART SERVICE PURCHASE ORDER MOVE CART INSERT ORDER CALCULATE RISK SCORE CREATE AWB CONFIRM PAYMENT ERROR ERROR