一、概述
在高可用场景中,后端服务器集群之前通常会部署负载均衡器,负载均衡器作为访问流量的统一入口,会将用户的访问流量按照一定的策略自主分发给多台后端服务器,从而调整资源利用情况,消除由于单台后端服务器故障对系统的影响,提高系统可用性、扩展系统服务能力。
京东云独创分布式网络负载均衡(Distributed Network Load Balancer,简称DNLB), 是一款基于京东云成熟健全的SDN技术实现的无状态四层负载均衡,提供软件定义的全可用区分布式负载均衡服务。
DNLB
不单独占用计算资源
天然具有转发性能无瓶颈
全可用区高可用
低时延和长期免费的优点
满足客户“三高一低”的服务场景需求
【高性能】
【高可用】
【高弹性】
【低延时】
本文以DNLB的高可用场景为例介绍其部署的最佳实践,使用到的京东云产品包括 云主机、DNLB、高可用组、私有网络及安全组。
二、场景需求
-
负载均衡服务需采用多可用区部署,提供可用区级别的高可用。
-
后端服务可根据流量负载情况自动调整后端服务器个数,以实现合理利用资源,并提供服- 务器跨AZ、跨机架的高可用。
-
后端服务器绑定安全组,提供实例级别的安全防护。
-
后端服务器需获取客户端的源IP,基于源IP地址统计用户访问量。
产品配置列表
三、配置步骤
私有网络
步骤1:创建私有网络
私有网络(Virtual Private Cloud,简称VPC),是您在京东公有云上自定义的逻辑隔离的网络空间,与您在数据中心搭建的传统网络类似,此私有网络空间由用户完全掌控,支持自定义网段划分、路由策略等。
创建DNLB和后端服务器所属的VPC。DNLB采用VPC内部署,可通过绑定弹性公网IP对外提供服务,隐藏内部结构,增强系统安全性。
步骤2:创建子网
子网是所属VPC IP地址范围内的 IP 地址块。目前私有网络中的部分云资源部署在子网内,如云主机、负载均衡等。不同VPC的子网 CIDR可以重叠,同一个VPC下的子网CIDR不可以重叠。
为提供子网级的安全性,部署后端服务实例属于单独的私有子网lb-subnet1,DNLB属于公有子网lb-subnet2。
安全组
安全组是一种分布式的、有状态的包过滤虚拟防火墙,可实现对实例的网络访问控制,从而控制一台或多台实例的访问流量。
修改私有网络dnlb-test-vpc的安全组“Linux安全组开放22端口”中的规则:
-
入站规则放行目的端口为22、80的流量;
-
出站规则放行所有流量。
实例模板
步骤1:创建私有镜像
私有镜像是基于您的自有实例创建自定义镜像,您可以为已部署业务的实例制作镜像,基于此镜像快速创建多个具有相同配置和软件环境的实例。您可以将私有镜像共享给同其他京东云用户,被共享镜像会显示在目标用户同区域的共享镜像列表中。
本举例中基于部署Nginx WEB服务的云主机创建私有镜像,并部署 GoAccess 用来统计源端用户的访问情况,高可用组弹性扩展时使用该镜像创建云主机实例。
步骤2:创建实例模板
高可用组
高可用组(Availability Group,简称AG)是京东云提供的业务高可用部署解决方案,是计算资源逻辑集合。提供了组内单元在数据中心内横跨多个故障域(Fault Domain,简称FD)均衡部署的机制,示例分散部署在相互隔离的物理资源上,当出现硬件故障或定时维护时只会影响部分实例,您的业务仍为可用状态。故障域间故障隔离,最大程度规避了局部故障对高可用应用整体的影响:
1、基于实例模板创建高可用组;
2、开启高可用组的自动伸缩功能,设置组内最大实例个数、最小实例个数及移除策略;
3、添加告警策略,基于监控指标实现后端服务器的弹性伸缩。
分布式网络负载均衡
步骤一:创建DNLB实例
DNLB实例必须与后端服务器组属于同一个地域下的同一个私有网络;
DNLB实例默认全可用区分布式部署,不需要用户额外配置。
步骤二:创建监听器
监听器用来通过协议和端口号监听需要进行负载均衡的请求。
步骤三:创建后端服务
后端服务用来定义访问流量自DNLB转发到后端服务器的转发协议、端口和调度算法。DNLB默认透传客户端源IP地址,不需要用户在DNLB和后端服务器上额外配置,满足用户溯源或基于源IP统计需求。
步骤四:创建健康检查
DNLB通过健康检查定时检测后端服务器的运行状况,可自定义检测频率、健康/不健康判断条件。开启健康检查后,当后端服务器运行异常时,DNLB将停止向其分发流量,且将流量分发给其他运行正常的后端服务器,异常后端服务器恢复正常后,DNLB再继续向其分发流量。
当绑定的后端服务为高可用组时,如不配置健康检查的端口,默认为后端服务上配置的端口。
步骤五:添加服务器组
添加高可用组作为后端服务器组提供服务。高可用组内的实例将根据负载情况按照设置的弹缩策略,自动增加或减少。
验证服务访问情况
(1)在浏览器中输入DNLB的公网IP,请求默认使用80端口,验证服务可以正常访问。
(2)DNLB可透传客户端源IP,不需后端服务器做任何额外配置。通过可视化工具 GoAccess 可统计不同源IP的访问情况。
*点击“ 阅读原文 ”
了解更多京东云分布式网络负载均衡产品信息 *
想要了解更多高并发解决方案,除我们的负载均衡产品,
还可报名参加 5月26日(周日)在上海举办的“京东云技术沙龙”
从京东在零售业和社交电商方面的核心技术以及在“618”、“双11”大促时的成功解决方案出发,带你探索新零售时代的数字化创新
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 干货 | 分布式系统入门
- 5000+字硬核干货!Redis 分布式集群部署实战
- 前端面试题干货集合
- 干货 | 解释 ReGenesis 构想
- 干货 | 什么是 Substrate?
- 干货 | 理解 ProgPoW 算法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。