Home / Archives / March 2018 / Articles

PERFORMANCE OPTIMIZATION OF ENTERPRISE MICROSERVICES USING DISTRIBUTED CACHING AND ASYNCHRONOUS COMMUNICATION

Authors: Shubh Prabhat

Country: India

Abstract

Enterprise microservice architectures promise independent deployment, bounded functional ownership, and elastic resource allocation. However, decomposition does not automatically improve response time: network round trips, repetitive database reads, synchr onous fan - out, serialization, and contention may cause an application to exhibit higher latency than the monolithic implementation it replaces. This paper presents a systematic design framework for improving enterprise microservice performance using a coor dinated combination of distributed caching and asynchronous communication. The proposed framework places a shared, partitionable cache on read - intensive service paths, uses event - driven integration for operations that need not block a client request, and a pplies capacity - aware backpressure and failure - isolation mechanisms to prevent uncontrolled resource consumption. We define workload classes, consistency requirements, cache invalidation policies, queue - delivery semantics, and observability measures before discussing implementation choices. An analytical evaluation design compares a synchronous uncached baseline, a cache - enabled configuration, an asynchronous configuration, and a combined configuration. Numerical examples are explicitly illustrative, not me asurements from a deployed organization. The analysis indicates the conditions under which the combination should reduce database demand and critical - path latency, while documenting limitations arising from stale data, duplicate message delivery, hot keys, and operational complexity. The main contribution is a reproducible architecture and decision procedure suitable for enterprise architects evaluating performance improvements in heterogeneous systems as of 1 March 2018.

Keywords

Distributed systems; enterprise microservices; distributed caching; Redis; Memcached; asynchronous communication; Apache Kafka; AMQP; response latency; eventual consistency; performance engineering.

References

1) R. Nishtala et al., “Scaling Memcache at Facebook,” Proceedings of the 10th USENIX Symposium on
Networked Systems Design and Implementation (NSDI), pp. 385–398, 2013.
https://www.usenix.org/conference/nsdi13/technical-sessions/presentation/nishtala
2) J. Dean and L. A. Barroso, “The Tail at Scale,” Communications of the ACM, vol. 56, no. 2, pp. 74–
80, 2013. doi:10.1145/2408776.2408794.
3) M. Kleppmann, Designing Data-Intensive Applications, 1st ed. O’Reilly Media, March 2017.
4) J. Kreps, N. Narkhede, and J. Rao, “Kafka: a Distributed Messaging System for Log Processing,”
Proceedings of NetDB, 2011.
5) J. Lewis and M. Fowler, “Microservices,” martinfowler.com, 25 March 2014.
https://martinfowler.com/articles/microservices.html
6) M. Fowler, “Circuit Breaker,” martinfowler.com, 6 March 2014.
https://martinfowler.com/bliki/CircuitBreaker.html
7) J. D. C. Little, “A Proof for the Queuing Formula: L = λW,” Operations Research, vol. 9, no. 3, pp.
383–387, 1961.
8) M. T. Nygard, Release It!: Design and Deploy Production-Ready Software, 1st ed. Pragmatic
Bookshelf, 2007.
9) E. Brewer, “CAP Twelve Years Later: How the Rules Have Changed,” Computer, vol. 45, no. 2, pp.
23–29, 2012.
10) G. DeCandia et al., “Dynamo: Amazon’s Highly Available Key-value Store,” Proceedings of SOSP,
pp. 205–220, 2007.
11) P. Hunt, M. Konar, F. P. Junqueira, and B. Reed, “ZooKeeper: Wait-free Coordination for Internetscale Systems,” Proceedings of USENIX ATC, 2010.
12) T. Akidau et al., “The Dataflow Model: A Practical Approach to Balancing Correctness, Latency, and
Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing,” Proceedings of VLDB, vol. 8, no.
12, pp. 1792–1803, 2015.