开发者社区 > 博文 > 干货 | 独创分布式网络负载均衡最佳实践
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

干货 | 独创分布式网络负载均衡最佳实践

  • 京东科技开发者
  • 2019-05-14
  • IP归属:北京
  • 287760浏览


一、概述

在高可用场景中,后端服务器集群之前通常会部署负载均衡器,负载均衡器作为访问流量的统一入口,会将用户的访问流量按照一定的策略自主分发给多台后端服务器,从而调整资源利用情况,消除由于单台后端服务器故障对系统的影响,提高系统可用性、扩展系统服务能力。


京东云独创分布式网络负载均衡(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”大促时的成功解决方案出发,带你探索新零售时代的数字化创新





文章数
544
阅读量
5632291

相关产品

  • 高可用组
    跨可用区的物理分散容灾部署方案
  • 私有网络
    安全隔离的网络空间,灵活部署
  • VPN 连接
    连接京东云和企业内网,安全可靠