Architect’s Guide: Backend Architecture, Microservices, Service Mesh, and Message Queues

This comprehensive article reviews backend architectural concepts such as microservices design, service mesh, observability pillars, gateway patterns, service registration, configuration centers, and a detailed comparison of message‑queue technologies, providing practical guidance for architects and engineers.

Architect's Guide
Architect's Guide
Architect's Guide
Architect’s Guide: Backend Architecture, Microservices, Service Mesh, and Message Queues

Overview – The author presents a “architect roadmap” that reflects personal experience in backend design, emphasizing that architecture is a series of decisions constrained by team expertise, cost, resources, schedule, and business stage.

Microservices – Defined as a style of building small, single‑responsibility services communicating via language‑agnostic APIs. The section discusses Conway’s Law, the importance of domain‑driven design (DDD) and lists DDD implementation steps.

Gateway – Differentiates access gateways (domain/DNS, load‑balancing, SSL, IPv6) from business gateways (authentication, rate‑limiting, circuit‑breaker, retry, plugin, BFF) and mentions popular open‑source implementations such as Kong, APISIX, Spring Cloud Gateway, gRPC‑Gateway, Kratos, go‑zero.

Protocol Selection – Compares HTTP REST and RPC (Dubbo, Motan, Thrift, gRPC), outlining their strengths in API definition, transmission efficiency, and fault tolerance.

Service Registration & Discovery – Explains server‑side (DNS + load balancer) vs client‑side (etcd, ZooKeeper, Consul) models, with pros and cons of each approach.

Configuration Center – Reviews etcd/ZooKeeper/Consul, Kubernetes ConfigMap/Secret, and higher‑level solutions like Nacos and Apollo.

Observability – Covers the three pillars: tracing (OpenTracing, Jaeger, Zipkin, SkyWalking, OpenTelemetry), logging (RFC 5424 levels, collection pipelines), and metrics (Prometheus, Zabbix, counter/gauge/histogram/summary types).

Service Mesh – Describes the sidecar‑based mesh architecture, its role in handling service‑to‑service communication, and lists popular implementations (Istio, Linkerd, Conduit) with notes on high‑availability considerations.

Message Queues – Defines MQ concepts, key selection criteria (HA, throughput, features, broadcast, backlog, persistence, duplicate consumption, ordering) and compares Redis, RabbitMQ, Kafka, RocketMQ, and Pulsar, highlighting each system’s strengths and trade‑offs.

Tracing Diagram

[Span A]  ←←←(the root span)
        |
 +------+------+
 |          |
[Span B]      [Span C] ←←←(Span C is a child of Span A, ChildOf)
 |          |
[Span D]      +---+-------+
           |           |
       [Span E]    [Span F] >>> [Span G] >>> [Span H]
                                   ↑
                                   ↑
                                   ↑
                         (Span G is called after Span F, FollowsFrom)

The article concludes with references and a brief author note, reinforcing that architecture is a decision‑making process guided by constraints and continuous learning.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Backend ArchitectureObservabilityService Mesh
Architect's Guide
Written by

Architect's Guide

Dedicated to sharing programmer-architect skills—Java backend, system, microservice, and distributed architectures—to help you become a senior architect.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.