微服务治理-负载均衡

微服务治理-负载均衡 一、介绍 1.1 什么是负载均衡 负载均衡(Load Balancing)是微服务治理中的核心能力之一,它负责在多个服务实例之间合理分配请求,提高系统吞吐能力、可用性和扩展能力 假设: User Service 只有一台服务器:10.0.0.5 随着后面业务越来越大增加服务器:10.0.0.5,10.0.0.6,10.0.0.7 … 现在应该调用哪一个? 于是出现: 负载均衡(Load Balancing) 它负责: 从多个可用实例中选择一个最合适的实例。 1.2 为什么需要负载均衡? 假设:10000 个请求全部发送:10.0.0.5 导致服务宕机 结果: 10.0.0.6, 10.0.0.7 却一直空闲 负载均衡能够平均分配 1.3 负载均衡解决什么问题? 主要包括 1.流量分摊 2.提高可用性 3.方便扩容 4. 支持灰度发布 二、原理 2.1 整个调用流程 Order Service ↓ Service Discovery ↓ Registry ↓ 返回: 10.0.0.5 10.0.0.6 10.0.0.7 ↓ Load Balance ↓ 选择: 10.0.0.6 ↓ HTTP 2.2 轮询(Round Robin) 特点: 简单 公平 实现容易 缺点: 不能反映机器性能差异。 2.3 随机 优点:...

2025年09月15日 · 1 min · Leanku

NGINX负载均衡

NGINX负载均衡 Nginx是一个强大的开源Web服务器和反向代理服务器,它支持正向代理和反向代理功能。 正向代理 正向代理是客户端访问代理服务器去访问目标服务器,并且对目标服务器隐藏了客户端的真实信息(IP等信息) 正向代理的主要用途包括: 访问被限制的资源:当某些资源受到网络限制或访问限制时,可以使用正向代理绕过这些限制来获取资源。 提高访问速度:代理服务器可以缓存经常请求的资源,从而提高客户端访问资源的速度。 突破防火墙:正向代理可以帮助绕过企业或国家防火墙的限制,访问被封锁的网站或资源。 反向代理 反向代理是指代理服务器接收客户端的请求,然后反向代理将客户端的请求分发给一个或多个目标服务器,最后将响应返回给客户端,对于客户端隐藏了真实的服务端信息 反向代理的主要用途包括: 负载均衡:反向代理可以根据一定的算法将请求均匀地分发给后端的多台服务器,从而实现负载均衡,提高系统的并发处理能力和稳定性。 缓存静态资源:反向代理可以缓存经常请求的静态资源,减少后端服务器的负载,提高网站的访问速度。 安全性和可靠性:反向代理可以作为防火墙和安全设备,提供安全认证、访问控制、DDoS攻击防护等功能。 Nginx配置文件 #user nobody; 是用来指定 Nginx 进程运行的用户和用户组的配置项。 在 Linux 系统中,各个进程需要以某个用户的身份来运行,以限制权限并提高安全性 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 8080; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 第一部分 全局块worker_processes:...

2024年04月20日 · 3 min · Leanku