图解负载均衡基础架构,快速实现会话同步
负载均衡基础架构是采用集群部署,提供四层(TCP协议和UDP协议)和七层(HTTP和HTTPS协议)的负载均衡,可实现会话同步,以消除服务器单点故障,提升冗余,保证服务的稳定性。
负载均衡作为流量转发服务,将来自客户端的请求通过负载均衡集群转发至后端服务器,后端服务器再将响应通过内网返回给负载均衡。
基础架构说明
阿里云当前提供四层和七层的负载均衡服务。
- 四层采用开源软件LVS(Linux Virtual Server)+ keepalived的方式实现负载均衡,并根据云计算需求对其进行了个性化定制。
- 七层采用Tengine实现负载均衡。Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对有大访问量的网站需求,添加了很多高级功能和特性。
如下图所示,各个地域的四层负载均衡实际上是由多台LVS机器部署成一个LVS集群来运行的。采用集群部署模式极大地保证了异常情况下负载均衡服务的可用性、稳定性与可扩展性。
LVS集群内的每台LVS都会进行会话,通过组播报文同步到该集群内的其它LVS机器上,从而实现LVS集群内各台机器间的会话同步。如下图所示,当客户端向服务端传输三个数据包后,在LVS1上建立的会话A开始同步到其它LVS机器上。图中实线表示现有的连接,图中虚线表示当
LVS1出现故障或进行维护时,这部分流量会走到一台可以正常运行的机器LVS2上。因而负载均衡集群支持热升级,并且在机器故障和集群维护时最大程度对用户透明,不影响用户业务。
入网流量路径
对于入网流量,负载均衡会根据用户在控制台或API上配置的转发策略,对来自前端的访问请求进行转发和处理,数据流转如下图所示。
图 1. 入网流量路径
1.TCP/UDP协议和HTTP/HTTPS协议的流量都需要经过LVS集群进行转发。
2.LVS集群内的每一台节点服务器均匀地分配海量访问请求,并且每一台节点服务器之间都有会话同步策略,以保证高可用。
- 如果相应的负载均衡实例服务端口使用的是四层协议(TCP或UDP),那么LVS集群内每个节点都会根据负载均衡实例负载均衡策略,将其承载的服务请求按策略直接分发到后端ECS服务器。
- 如果相应的负载均衡实例服务端口使用的是七层HTTP协议,那么LVS集群内每个节点会先将其承载的服务请求均分到Tengine集群,Tengine集群内的每个节点再根据负载均衡策略,将服务请求按策略最终分发到后端ECS服务器。
- 如果相应的负载均衡实例服务端口使用的是七层HTTPS协议,与上述HTTP处理过程类似,差别是在按策略将服务请求最终分发到后端ECS服务器前,先调用Key Server进行证书验证及数据包加解密等前置操作。
本文来自 阿里云文档中心 负载均衡 产品架构
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用阿里云服务器安装kangle教程
kangle是国产的Web服务器软件,kangle搭配Easypanel和VHMS可实现自助开通虚拟主机功能,小编以阿里云ECS云服务器为安装环境讲解kangle Web服务器软件的安装教程: kangle安装准备及说明 在安装kangle之前,请确保您的服务器操作系统有g++、libz开发包、libpcre开发包和libiconv开发包(非linux版要)。本文是以阿里云服务器的CentOS系统为例,Linux centos/rhel运行下列命令安装这些包: yum -y install wget make automake gcc gcc-c++ pcre-devel zlib-devel sqlite-devel openssl-devel libaio-devel kangle安装教程 kangle安装教程大致可以分为:下载kangle安装包、解压、编译安装和管理,详细如下: kangle安装阶段 下载kangle源码 wget http://download.kangleweb.com/zcore.php?os=src -O kangle.tar.gz 下载后会得到kangl...
- 下一篇
直播揭秘飞冰 | 淘系中后台负责人教你快速搭建企业微前端架构
主题:微前端 + icejs 助力企业级中后台开发时间:3月5日 19:00-20:00嘉宾:大果 阿里巴巴淘系技术前端技术专家 ★上期直播地址:http://mudu.tv/watch/4662084★PPT获取:关注「淘系技术」微信公众号,后台回复“前端”即可获取全部PPT资料! 分享简介 icejs 是飞冰团队在 2020 年初发布的一个 React 研发框架,目前已广泛应用于淘系中后台业务中。icejs 致力于建设一套上手简单、生态完善的研发框架,从基础的路由到状态管理再到 SSR、微前端等我们是如何思考与设计的?icejs 与社区已有的框架 nextjs、nuxtjs 等又有哪些区别?本次直播带你一探究竟。 另一方面,今年在国内前端社区突然火起来的微前端到底是解决什么问题的?在淘系业务场景下微前端方案 icestark 又是怎
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果