基于微服务的可伸缩云直播平台

2021-06-02 23:46
通信电源技术 2021年3期
关键词:配置管理降级IP地址

陈 兵

(南京微特喜网络科技有限公司,江苏 南京 210000)

0 引 言

在当今的网络时代,云直播已经广为人知。一些互联网公司部署大量的服务器,并在服务器上部署流直播服务器软件,向电信运营商租赁带宽,然后以云直播的方式为用户提供直播服务[1]。云直播不光要处理RTMP或HLS等流媒体内容,还需要处理大量的观众互动。云直播服务的观众流量峰谷效应明显,波谷的时候系统负载较低,波峰的时候较高,配置固定容量的服务器不能满足系统的经济性,因此需要构建基于微服务的可伸缩云直播平台。

1 微服务可伸缩云直播集成平台结构设计

可伸缩的微服务云直播集成平台集成了系统的所有功能,由流媒体服务器、Web服务器、聊天服务器、鉴权服务器、功能服务器以及数据库服务器组成[2]。为了实现系统的可伸缩性还使用了负载均衡与API网关,使用CDN系统分发数据,将微服务治理相关的服务放入支撑系统。

平台架构如图1所示。

图1 平台架构

其中,支撑系统中包含了服务发现、服务注册、容错限流、日志聚合以及监控告警等功能。系统设计的要点包括3个方面。一是服务分离,每个服务专注于一个相对独立的领域,以分散风险和重用组合,也有利于服务的扩展,哪块是瓶颈就优化和扩展哪一块,而不是一起升级所有服务器。二是无状态,不同的服务器的状态同步才能避免单点失败,每个服务器保持一致不能应对海量的请求和数据,为了实现动态伸缩需要外置共享状态,这样服务器才可以随意增加,并线性扩展。三是数据分片,根据地理位置、用户组织、数据中心及服务区集群进行用户数据的分片有利于系统的自动扩展与收缩。

1.1 访问终端

服务器端口安装远程终端工具,可随处登入,使服务器维护更加方便。通过统一管理移动电话与PC办公设备,实现了高效安全且随时随地可扩展的云端体验。接入端的设置提高了终端的扩展性,简化了操作流程和内部控制。在购买和启动云产品实例后,用户可以创建或同步帐户系统,通过下载云客户端完成可信设备的注册[3]。

通过终端访问可以实现多种设备之间的访问控制,该方法的主要步骤包括两个方面。第一,接收权限设置请求,将第一可伸缩云直播平台的穿戴设备绑定到第一用户的帐户,从而建立与第二可伸缩云直播平台穿戴设备进行资源交换访问的权限[4]。第二,允许第二用户帐户绑定第二可伸缩云直播平台的穿戴设备,以便第一类和第二类用户共享资源[5]。使用不同的设备控制穿戴设备,避免用户隐私泄露,从而更好地保护用户的利益,提高服务质量。

1.2 负载均衡服务器

负载均衡服务器指执行负载分配的服务器,它将服务请求平均地分配给实际执行的服务,保证了系统的整体响应速度[6]。负载均衡服务器是系统控制的服务器,负责向主服务器发送所有用户的请求,然后主服务器根据每个处理服务器的实际状态将请求分配给包含公共域名和IP地址的处理服务器。处理服务器软件部分由负载均衡控制和软件管理两部分组成,通常情况下仅执行负载均衡任务分配,并不处理其他网络请求[7]。

负载均衡策略主要有3种。一是HTTP重定。通过修改超文本传输协议响应头中的位置标签,网络服务器返回一个新的网址,浏览器继续请求新的网址,通过页面重定向来平衡负载[8]。二是反向代理负载均衡。反向代理服务的核心是向浏览器和后端Web服务器转发HTTP请求。HTTP层(应用层)是7层网络体系结构的最后一层,可以通过反向代理均衡负载[9]。三是IP负载均衡。可变IP网络层和可变端口传输层的负载均衡服务性能明显优于HTTP层,其通过修改IP层的IP地址和端口信息来实现负载均衡。在收到由IP网络层发送的IP地址和端口信息后,负载平衡服务器可以将IP地址和端口更改为具有相同属性的地址和端口,并将更改的结果以数据包的形式直接发送到网络内部[10]。在实际服务器完成处理后,数据包回传给负载均衡器,服务器将目标IP地址改为用户IP地址,然后再传回客户机。

1.3 服务器部署

不同服务器之间通过超文本传输协议传输信息,因此服务器部署应分为两部分,一部分负责存储信息,另一部分负责为用户提供运行脚本和程序。随着微服务可扩展云直播平台的模式升级,平台对人们需求的响应速度加快,因此微服务体系必须具有良好且连续的部署流程。

2 微服务可伸缩云直播平台核心技术研究

2.1 中心化的注册与调度服务

中心化注册主要包括客户端注册和代理注册。客户端注册由服务本身负责,服务模式启动时,注册线程会在注册表中自行注册,当服务中断时会退出。代理注册是通过代理权服务登记的,服务模式启动时,以某种方式将信息通知给代理,代理负责向注册中心发起注册请求[11]。

调度服务被划分为客户端调度和代理调度。客户端调度负责从注册表中查找可用服务的地址,获得所有可用实例的地址后根据负载均衡算法选择一个实例来发起调用请求。代理调度要添加一个新的路由服务,从注册表中查找可使用服务的地址,并在调用该地址后直接将路由服务发送到用户路由,否则在获得准确的调用结果位置前需再次测试调用请求[12]。中心化的注册与调度服务无侵入,其管理和控制采取利于编排的集中式服务模式。

2.2 链路保护与降级

智能链路保护与降级是微服务的核心技术之一,如图2所示。

图2 链路保护与降级

由图2可知,在某些核心(高可用性)接口中,链路保护和降级操作可以定义多个备用接口。降级支持主要有两种策略,即RT反向操作和异常比例操作。RT反向操作的单位是毫秒,而平均响应时间是秒,如果连续输入5次请求后,平均响应时间始终超过降级阈值,那么该请求视为自动降级。异常比例操作的单位是秒级,当异常总数/秒与资源通过次数之比超过阈值时,资源进入降级状态。在配置的降级窗口中,当资源处于降级状态时,请求迅速失败。例如,一般使用Redis来获取数字,当获取到异常数据时,Redis会将获取的数据返回到数据库,如果数据库中还存在异常数据,则需要从原始API获取数据。智能链路保护是一种故障重试策略,可以确保达到特定的阈值后自动恢复。

2.3 集中配置管理

集中式配置管理是基于软件仓库的版本管理功能,可以自动执行构建过程,为集中式配置管理提供充足的存储空间。此空间允许共享资源,配置管理员还可以通过创建数据库来平均分配项目权限,确保每个项目成员都有权限直接操作数据库。由于项目开发期间会改变配置项,因此配置管理人员要定期维护存储库,如删除垃圾文件和备份存储器等。更改控制是为了防止任意改变配置项而引起混乱,草案中对配置项的修改不视为“改变”,不需要委员会批准,直接按照请求、批准、更改、审查及终止的程序进行即可。集中配置管理一般只有一个副本配置,对于一些简单的配置可以实现批量刷新和故障回滚处理等功能,不需要重启刷新。

3 结 论

以微服务为基础的可伸缩云直播平台具有业务响应速度快、代码重用率高、可靠性好以及硬件投入少等优点。该平台将业务单元分成细粒度的单元,通过修改某些服务来测试和发布新的业务变化。此外,其分散化和集群化可以降低单点故障和性能瓶颈,高峰自动扩展,低谷自动降低,从而合理利用资源。

猜你喜欢
配置管理降级IP地址
汽车委托外加工零件自动化配置管理
吹牛皮
消费降级了吗?
十八大后遭“断崖式降级”的官员
公安网络中IP地址智能管理的研究与思考
论ISO20000体系量化指标梳理
Panda Priorities
《IP地址及其管理》教学设计
建设CMDB任重道远
可信云平台服务运行管理模式初探