Building a distributed payment system to handle scale.
Submitted by Mahesh Lal (@maheshlal) on Friday, 7 October 2016
Digital currencies are becoming mainstream. You can pay for a cab using your wallet, some vegetable vendors accept digital payments, grocery stores are moving to it, and the eventual dominance of digital currency is inevitable. How do you then build systems which can handle a sudden surge of transactions? What technology choices would you make, why would you make an architectural decision.
At Go-Jek, we have seen around 900x growth in the past year, and we expect a more aggressive growth curve in the coming years. To pay for the logistics services we provide, we use both cash and digital payments. This talk will outline what are the decisions we have made in making our payments systems resilient, fault tolerant, highly distributed and eventually consistent, keeping in mind the traffic we face now, and we expect to face in the future.
1) Brief about GoJek and GoPay
2) Idempotent systems and how they can help
3) Designing eventually consistent payment systems.
4) Building fault tolerance using circuit breakers
5) Achieving performance using gRPC
Mahesh Lal is a member of the core engineering team which kicked off GoPay. His interests are both product and tech. Loves Python. Currently writes Java. Author of “Neo4j Graph Data Modelling”
https://www.packtpub.com/big-data-and-business-intelligence/neo4j-graph-data-modeling Tweets at @mahesh_lal