Vritti August 2020 | Page 17

Technically Speaking vritti August 2020 17 All these micro services are controlled by a service orchestrator built in house and flexible enough to Stitch any business flow using configurations. Each business flow consist of no of command events or messages which are served by different micro services asynchronously. System is built for high performance and scalability. Below are some mechanism we implemented to handle performance and scalability requirement. Extensive parallelization of processing with the competing consumers pattern, by having multiple parallel running (micro) service instances Using optimistic locking, to avoid the need for complex distributed locking mechanisms which was a bottleneck in earlier monolithic architecture. Independent scaling of processing components, to more flexibly manage needed capacity These patterns ensure that design is scalable and industry proven. Getting Payment Processing Right ® mobiquity core is payment processing which has to be reliable and fault tolerant. The ® conceptual model of the mobiquity Payments processing is based on the ideas of the double-entry bookkeeping. The Payments Platform inherits three key principles from double-entry bookkeeping: Immutability of transactions (once created, the payment transactions are immutable: if a transaction was created in error, a new corrective transaction needs to be created) Auditability of all money movements (reliably stored and cannot be changed) Error detection based on the zero-sum principle. Every entry to an account requires a corresponding and opposite entry to a different account.