Service discovery and Server Load Balancer mainly solves the issue of communication reliability. To guarantee the reliability, Container Service introduces the Server Load Balancer mechanism. Communication is divided into two types: communication that exposes services and communication between internal services.
Swarm mode clusters are built with a Server Load Balancer mechanism. Based on the Server Load Balancer module composed of ingress (namely, routing mesh), IPVS, and iptables, the dynamic service discovery and Server Load Balancer in the cluster are implemented. Working with Alibaba Cloud Server Load Balancer, multiple services can be bound to one Server Load Balancer instance, which allows you to access Container Service from the Internet to implement high-availability Server Load Balancer and service discovery.
See the following scenarios for different solutions.
We recommend that you use simple routing service for simple Layer-7 protocol Server Load Balancer and web service reverse proxy. For more information, see Simple routing - supports HTTP and HTTPS, Simple routing - configure domain names, and Simple routing - change HTTP to HTTPS.
Server Load Balancer distributes the loads evenly to containers with the same functions in Layer-4 protocol Server Load Balancer and services of non-container clusters access the services of containers in container clusters when a traditional architecture is migrated to a container architecture. We recommend that you use Server Load Balancer routing.
Services in the same cluster need to discover and communicate with each other, and need the Server Load Balancer capabilities. We recommend that you use Routing and Server Load Balancer between services in a cluster.
Services in the same cluster need to discover and communicate with each other, but do not need the Server Load Balancer capabilities. We recommend that you use Service discovery.