如何熟悉Avi Vantage Platform?

Load balancing

1 基本概念

1.1 ServiceMesh

1.1.1 众多微服务产生的问题

– 服务发现,服务的消费方(Consumer)如何发现服务的提供方(Provider)
– 负载均衡,服务的消费方如何以某种负载均衡策略访问集群中服务提供方的实例

1.1.2 传统三种服务的发现模式

– 传统集中式代理,由运维或框架手动配置,介于服务消费者与生产者之间的独立代理层(典型有Nginx(7层)或F5(4层))
– 客户端嵌入式代理,由嵌入代码监视服务状态并自动注册和定期心跳且自动配置负载均衡,范例有开源的Eureka和Dubbo
– 主机独立代理,由Agent监控主机并发现服务并自动注册且自动配置负载均衡,范例有SmartStack

1.2 Virtual Service

– Virtual Service即虚拟服务
– 虚拟服务使Avi Vantage负载均衡和代理功能的核心
– 虚拟服务对外宣告IP地址倾听客户端流量
– 虚拟服务可以代理客户端的网络连接
– 虚拟服务支持安全、加速、负载均衡、收集流量统计信息和其他任务
– 虚拟服务将客户端请求数据转发到目标地址池进行负载均衡

2 Avi Vantage

2.1 Avi Vantage的介绍

– Avi Vantage平台基于软件定义原则构建(灵活且简单)
– Avi Vantage架构将数据和控制平台分离(提供负载均衡之外的服务,如应用分析、预测性自扩展、微分段和自助服务)
– Avi Vantage提供集中管理动态负载均衡资源池,从而简化管理
– Avi Vantage控制器集群使用大数据分析并在仪表板上提供操作见解

2.2 Avi Vantage的架构

2.2.1 Avi Service Engines

– Avi Service Engines,即服务引擎,简称SE
– SE执行负载均衡以及所有客户端和服务器的网络交互通讯
– SE通过接受和执行来自控制器的指令来处理平台的操作
– SE从应用程序流中收集实时应用程序遥测数据
– SE支持集群高可用
SE的运行运行机制如下,

– 客户端只能与虚拟服务(由SE托管在Avi Vantage中的IP地址或端口中)直接通讯
– 虚拟服务在平台内部通过许多配置文件传递并关联
– 客户端发起的HTTP请求流量,SE可以终止和代理客户端发起的TCP、SSL/TLS连接并代理此请求
– 一旦请求得到验证,请求将被平台内部转发到池并由池将选择可用的后端服务器
– 然后,SE将发起一个新的TCP连接,使用SE内部网络上的IP地址作为请求的源地址,流量按原路返回
– 客户端以独占的方式与虚拟服务器IP地址通讯而不是接与后端服务器的IP地址通讯

2.2.2 Avi Controller Gluster

– Avi Controller Gluster,即集群控制器(集群的“大脑”)
– 控制器通常会部署三个节点来实现高可用
– 控制器实现平台的总体控制功能
– 控制器支持多个Avi Vantage集群的管理(无论负载均衡的应用程序数量或所需的SE数量多少)
– 控制器由REST API提供所有已配置的应用程序(虚拟服务)的可见性
– 控制器与底层编排器一起根据需求启动新的SE(需要部署在写访问模式下),集群也支持手动创建SE
– 控制器负责放置虚拟服务到SE上实现应用程序的负载均衡或横向性能扩展
集群控制器的运行运行机制如下,

– 控制器与SE安全且不间断地交换信息
– 控制器定期接收SE收集服务器的健康状况、客户端连接统计信息和客户端请求日志的倾泻信息
– 控制器分担处理日志和集合分析的工作
– 控制器负责将命名下发到SE,例如配置变更
– 控制器和SE通过其管理IP地址进行通讯

2.2.3 Avi Admin Console

– Avi Admin Console,即管理控制台
– 管理控制台支持Web和CLI管理界面
– 管理控制台支持基于角色访问控制、管理和监视应用程序
– 管理控制台支持REST API调用(可实现IT自动化、开发人员自助服务和第三方集成)

2.3 Data Plane Scaling


– 即数据平台的缩放
– 集群支持本地或基于BGP负载均衡技术扩一个或多个SE扩展虚拟服务
– 当虚拟服务跨多个SE扩展时,每个SE共同分担负载(分担能力由硬件能力决定)
– 主SE使用自己的MAC地址与虚拟服务器IP绑定,主SE可以自己处理客户端的连接或2层转发请求到从SE之一的MAC地址
– 每个SE将使用服务器网络中自己的IP地址作为客户端连接源IP地址进行负载均衡并转发流量到服务器
– 多个SE将流量发送到同一个服务器池,流量也能按原路径返回
– VMware环境中启用SE横向扩展式,副SE可直接回应客户端而无需返回流量到主SE
– OpenStack中,副SE将通过主SE返回客户端响应

2.4 Avi Vantage的提供的功能

– Software Load Balancer,即软件负载均衡器
– Intelligent Web Application Firewall,即智能Web应用防火墙(iWAF)
– Elastic Service Mesh,即弹性服务发现

2.5 Avi Vantage的特点

– 自动化和自助服务
– 多云应用服务
– 大规模弹性和性能
– 生态系统集成
– 应用分析和故障排除
– 总体拥有成本低

2.6 Avi Vantage的部署

– 裸机部署(x86-intel)
– 虚拟机部署(VMware、OpenStack)
– 容器部署(Docker)
– 公有云部署(Azure、AWS、Google Cloud Platform)

2.7 Avi Vantage BGP

2.7.1 BGP的概述

– Avi Vantage负载均衡的一种方式是将虚拟服务放置在其他服务引擎(SE)上
– Avi Vantage负载均衡的另一种方式是使用边界网关协议(BGP)功能
– Avi Vantage传统(主备)以及弹性(双主和N+M高可用模式均支持BGP)
– Avi Vantage如果虚拟服务被其运行状态监控器标记为关闭或者其他原因,Avi SE会撤回其虚拟IP(VIP)的路由宣告
– Avi Vantage每个虚拟服务最多支持四个SE,总SE数量最多64个
参阅文献
==================

ServiceMesh
———–
https://www.jianshu.com/p/27a742e349f7

SmartStack
———–
https://www.consul.io/docs/intro/vs/smartstack

Avi官方文档
————
https://avinetworks.com/docs/

Avi的架构
———
https://avinetworks.com/docs/latest/architectural-overview/

Avi BGP
—————-
https://avinetworks.com/docs/20.1/bgp-support-for-virtual-services/

Avi缓存加速
———–
https://avinetworks.com/docs/20.1/overview-of-http-cache/

Avi Virtual Hosting
——————–
https://avinetworks.com/docs/21.1/enhanced-virtual-hosting/

没有评论

发表评论

Elastic Stack
如何部署Elasticsearch集群?

1 基础知识 1.1 集群的介绍 – Elasticsearch集群允许节点单点故障 & …

Load balancing
如何编译部署systemd启动的haproxy?

1 基础知识 1.1 软件的介绍 – HAProxy是一款开源免费、快速、可靠的解决方案 …

Load balancing
如何编译部署传统启动的haproxy?

1 基础知识 1.1 软件的介绍 – HAProxy是一款开源免费、快速、可靠的解决方案 …