SpringCloud微服务体系软负载实践
作者:互联网
基础架构图
LVS 实现
LVS的组成
LoadBalancer
负载调度器,由一台或多台DirectorServer(调度器)组成,负责请求的分发,不负责具体业务。监控业务层中服务器状态,及时踢除异常的服务器或将恢复的服务器重新入列。
ServerArray
服务器池,由多台具有相同功能的服务器(Real Server)组成。
SharedStorage
共享存储,为服务器池提供一个共享的存储区域,保证相同功能服务的数据一致性。
LVS的三种机制
VS/NAT(Virtual Server via Network Address Translation)
当DirectorServer接收到请求后,将数据报文的地址改写成目标Real Server的地址,目标Real Server处理完成需要返回DirectorServer。因为此机制客户端请求与返回必然经过DirectorServer,并发量大时,DirectorServer是性能瓶颈。
VS/TUN(Virtual Server via IP Tunneling)
利用IP隧道技术,DirectorServer收到请求后封装数据报文转发给目标Real Server,然后由目标Real Server直接响应给客户端。
VS/DR(Virtual Server via Direct Routing)
VS/DR通过改写请求报文中的MAC地址,直接将请求发送到目标Real Server,目标Real Server直接响应给客户端,节省了IP隧道开销,为三种机制中性能最高的一种,但是要求DirectorServer和Real Server物理上有一个网卡通过不间断的局域网相连。
Ribbon简介
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用,Feign也是基于此实现。
ID生成器
使用雪花算法,不依赖其他模块,具有有序性。
Docker容器化部署
DockerMachine
docker-machine可以快速的在多服务器环境下安装docker环境。
DockerSwarm
标签:Real,负载,请求,SpringCloud,DirectorServer,服务器,Server,服务体系,客户端 来源: https://blog.csdn.net/IAGod/article/details/100031989