Methodology for Building Scalable Microservice Architectures on Go for High-Load E-Commerce Platforms

Ruslan Tsyganok

Citation: Ruslan Tsyganok, "Methodology for Building Scalable Microservice Architectures on Go for High-Load E-Commerce Platforms", Universal Library of Engineering Technology, Volume 01, Issue 02.

Copyright: This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

The article describes a methodology for building scalable microservice architectures in the Go language for high-load e-commerce platforms. The basic principles of decomposition by “bounded contexts,” the choice of communication protocols (REST vs. gRPC), as well as the use of stability patterns (Circuit Breaker, Bulkhead, Retry) and built-in Go capabilities (context.Context, error wrapping). The infrastructure of containerization (Docker), orchestration (Kubernetes), CI/CD pipelines, and Blue/Green & Canary deployment processes is described. The following scaling strategies have been investigated: horizontal/vertical, automatic (HPA, Cluster Autoscaler), load balancing, asynchronous processing via Kafka/RabbitMQ, caching (Redis) and profiling (pprof). Prototypes and load testing (k6, JMeter) confirmed a close to linear dependence of throughput on the number of replicas. The proposed methodology ensures reliability, fault tolerance, and an economical auto-scaling model with increasing user and transactional loads. The information described in this article will be in demand by leading researchers and architectural engineers of distributed systems engaged in the methodological justification and practical verification of scalable microservice solutions in the Go language for highly loaded e-commerce environments.


Keywords: Microservices, Go, E-Commerce, Scalability, Devops, Kubernetes, Performance.

Download doi https://doi.org/10.70315/uloap.ulete.2024.0102007