版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
业务上云设计建议能源行业业务技术架构总体上可以分为两个部分:一个部分是云基座,这一部分包括IAAS层资源,和云上的云管与安全灾备服务,一般由云服务厂商提供。另一个部分是可变的客户技术架构,这一部分主要描述在云基座上,客户为了实现自身业务,会采用哪些技术,这些技术是可变的且有多种来源,有可能是客户自研应用、开源技术、其他云服务商提供的服务,或者华为云提供的高阶服务。图能源行业业务技术架构全景图如图所示,能源行业客户技术架构可以细分为接入层、应用层、数据层。在应用层和数据层中,又可以分为客户应用、中间件、微服务、容器、数据库、大数据等六个技术模块。其中,客户应用完全由客户自身开发决定,其他五个模块中均有华为可以提供的云服务技术。下表列出了与客户技术需求对应的华为组件。表组件选型建议技术层技术需求华为组件技术特点接入层弹性ip地址EIPEIP是一个静态的公共IP地址,可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均衡等资源灵活地绑定及解绑。高速低时延网络云专线用户可以通过云专线将用户侧的用户网络、数据中心、主机托管区连接至云上VPC专线连接,享受高性能、低延迟、安全专用的数据网络。虚拟专用网络VPNVPN用于在远端用户和虚拟私有云之间建立一条安全加密的通信隧道。负载均衡ELB弹性负载均衡可以通过流量分发扩展应用系统对外的服务能力,实现更高水平的应用程序容错性能。弹性负载均衡可以消除单点故障,提高整个系统的可用性。应用层缓存数据库DCS分布式缓存服务兼容了Redis内存数据库引擎,提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,满足用户高并发及数据快速访问的业务诉求。消息队列SMN消息通知服务能够实现一站式集成多种推送通知方式。大大简化系统耦合,能够根据用户的需求,向订阅终端主动推送消息。服务网格ASM应用服务网格提供非侵入式的微服务治理解决方案,支持完整的生命周期管理和流量治理,兼容Kubernetes和Istio生态,功能包括负载均衡、熔断、限流等多种治理能力。并内置金丝雀、蓝绿灰度发布流程,提供一站式自动化的发布管理。微服务管理ServiceStage应用管理与运维平台提供应用发布、部署、监控与运维等一站式解决方案。支持Java、Go、PHP、Node.js、Docker、Tomcat等运行环境。支持Web应用,以及ApacheServiceComb、SpringCloud、Dubbo、服务网格等微服务应用和通用应用,让企业应用上云更简单。容器运行服务CCE云容器引擎提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器。借助云容器引擎,可以在云上轻松部署、管理和扩展容器化应用程序。容器镜像服务SWR容器镜像服务提供简单易用、安全可靠的镜像管理功能,帮助您快速部署容器化服务。数据层关系型数据库RDSRDS支持MySQL关系型数据库的发放和管理,具有完善的性能监控体系和安全防护措施。通过提供专业的数据库管理平台,让用户能够在云中轻松设置、操作和扩展关系型数据库。GaussDBGaussDB(foropenGauss)具备企业级复杂事务混合负载能力,同时支持优异的分布式事务,同城跨AZ部署,数据0丢失,支持1000+扩展能力,PB级海量存储等企业级数据库特性。拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。文档数据库DDS文档数据库服务提供安全、高可用、高可靠、弹性伸缩和易用的数据库服务,同时提供一键部署、弹性扩容、容灾、备份、恢复、监控和告警等功能。数据仓库DWS数据仓库服务是一种基于云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务。数据分析MRSMapReduce服务是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的数据处理分析服务。应用层和数据层除客户应用以外的其他技术和组件因其通用性,可以被任何其他应用使用,可以称之为通用组件。为确保上层业务应用合理、可靠、安全、高效地使用云资源,指导业务系统正确的选用通用软件,应遵循如下原则要求:通用性原则通用软件组件需要在相关领域内具备一定的知名度和市场份额,在领域内具备规模批量部署的相关资质和条件兼容性原则通用软件组件需要与已选基础设施组件,包括但不限于虚拟化、云管平台等软件组件保持兼容性通用软件组件各层次之间需确保向下兼容,例如数据库需确保兼容Windows操作系统和Linux操作系统通用软件组件各版本之间需保持前向兼容,最新版本需要能够兼容历史版本松耦合原则通用软件组件之间需保持松耦合,组件之间调用需要通过接口API进行安全原则通用软件组件需遵循公司安全自检规范通用软件组件需遵循业内通用的安全协议通用软件组件需具备定期、可度量、可检测的安全机制可靠性原则通用软件组件需具备明确清晰的可靠性标准以及可度量的SLA指标通用软件组件需具备基本的高可用能力接入层设计建议接入层设计规范接入层负责定义系统的接入形式,即采用负载均衡接入以分担流量提升性能、采用CDN网络进行加速、采用静态缓存服务器提升访问效率等技术形态。接入层开发过程中需遵循可扩展性原则、部署形态、安全防护、接入方式四部分原则要求,详情参见下表:表接入层开发规范序号自检原则原则说明判断细则检测级别备注1可扩展性应用无状态,可弹性扩展是否存在负载均衡机制强制无负载均衡机制的,需整改后入云是否有会话管理机制强制无会话管理机制,需整改后入云会话session不在本地文件中保存强制会话Session存储在本地的需整改为存储在分布式缓存/共享存储/对象存储中2部署形态接入层部署形式应用支持虚拟机部署强制必须支持虚拟机部署,否则无法进行业务上云应用支持容器部署建议建议支持容器化部署应用按照接入方式不同,部署不同的接入服务器。强制Web接入方式/App接入方式需部署不同的接入服务器是否未与其他应用程序共部署在一台主机上强制共部署形态需要单独打开分析,其部署模式是否合理,不建议共部署3安全防护接入层采用的安全防护具备应用级别防DDoS攻击机制强制无应用级别防DDoS攻击机制的,需整改后入云具备应用级别入侵检测机制强制无应用级别入侵检测机制的,需整改后入云4接入模式接入层的网络接入方式是否使用VPN接入建议无是否使用专线建议无“强制”检测级别的选项,如不满足条件,则需通过整改后方能入云。“建议”检测级别的选项,如不满足条件,则无强制要求。接入层设计技术建议业务上云对接入层的关注点主要有以下四个方面:1、网络接入方式接入层为外部访问提供了访问入口,因此,网络的接入方式是必须考虑的上云因素之一。云上业务部署在VPC私有网络中,默认与外部网络隔离,当外部需要访问VPC内业务时,根据场景,一般有两种方式:表网络接入方式接入方式应用场景说明云专线(TYPE1)/路由直通网络(TYPE2)专线搭建用户本地数据中心与云上虚拟私有云(VirtualPrivateCloud,VPC)之间高速、低时延、稳定安全的专属连接通道。可以通过云专线打通云上VPC和用户数据中心的数据业务。用户可以通过云专线将用户侧的用户网络、数据中心、主机托管区连接至云上VPC专线连接,享受高性能、低延迟、安全专用的数据网络。EIPEIP是通过NAT方式,实现外部网络与VPC私有网络的通信,由于NAT的流量绕行,转发路径较长,且仅支持单点IP的映射,不支持网段的连接,因此,推荐用于Internet访问云上业务的场景。企业内部网络与VPC互通的场景,建议首选专线方案。IPSecVPNIPSecVPN是通过VPN专业设备,基于Internet建立安全可靠的IPsec加密通道2、可靠性为了满足业务可靠性要求,在正式生产业务中一般不允许出现单点故障(开发测试类业务一般无此要求)。常见接入层有两种部署形态:表高可靠部署形态部署形态场景说明主备通过第三方软件,根据业务状态,实现浮动IP与两台主机的动态绑定,达到单点故障业务快速自动恢复的目的,一般秒级即可完成故障倒换,同一时间只有主服务器提供业务接入能力,适用于低访问量的业务。负载均衡集群通过负载均衡,实现多台服务器的集群化,所有服务器都能提供业务接入能力,单台服务器故障,不影响整体功能,并且根据访问量的变化,可以手动调整后端服务器的数量,也可通过弹性伸缩实现动态的自动调整,满足访问量增长的需要。适用于无状态的业务接入。说明所谓无状态,指的是不存储任何上下文信息,仅根据请求所携带的信息进行业务逻辑处理,业务请求到任何一台服务器,都能得到相同的结果。3、可扩展性有些业务面向公网,用户量存在很大的变数,这种情况下系统的可扩展性就非常重要。业务上云时,推荐接入层使用多台小规格服务器部署,通过负载均衡对外提供统一入口,如果业务存在突发峰值的情况,再搭配弹性伸缩服务,实现自动扩展与收缩。扩展性有两种,一种是垂直的,通过增加服务器的CPU、内存,来提升系统性能,我们称之为Scale-up;另一种是水平的,通过横向增加服务器数量提升系统性能,称之为Scale-out。由于服务器规格不能无限增加,因此Scale-up局限性非常明显,并且随着分布式的推广,Scale-out形式的扩展能力越来越普及,也是我们推荐的方式。4、接入安全接入层由于需要暴露给外部访问,因此最容易遭受攻击,尤其是需要公网访问的业务。从私有云平台的角度,可以从三个方面去增强接入的安全性:通过高级安全服务,如CFW、WAF、WTP等,加强系统的安全性,防御外部攻击。按需配置虚拟防火墙及安全组规则,减少暴露的系统端口,降低外部威胁。接入层与其它层分别配置不同的安全组,按需配置安全组规则,防止内部威胁扩散。基于以上因素,应用上云时,推荐的典型的接入层架构有如下两种:图接入层上云推荐架构接入层选型建议接入层我们本章节重点关注云内、云外接入方式,将基于接入方式给出选型建议。云外接入选型建议1、云外接入选型建议1.1.组件对比表云外与云内VPC互通组件对比产品名称使用场景产品特性参数建议历史实践L3GW1.在政企云场景,政企客户的业务部署在客户的自有机房,客户一部分系统已迁移入云,一部分仍然在云外,业务之间有互访需求,需要通过网络或专线进行互联。2.在运营商私有云场景,客户老机房因为电力,空间等因素,需要将新的业务部署到HCS上,业务系统的一部分在云内,一部分在云外,通过网络或专线进行互联。-超高安全性能物理专线的私网连接不通过公网,网络链路用户独占,无数据泄露风险,安全性能高,可满足金融、政企等高等级网络连接需求。-稳定网络延时网络延时可靠性高,通过固定路由配置,免去拥堵或故障绕行带来的时延不稳困扰。增强型云专线做云内云外互通时,云内VXLAN流量通过核心租户VRF转发至L3GW,在L3GW进行VXLAN到VLAN的转换,并通过L3GW内的专线VRF转发至外部网络节点;(也就是说增强型云专线不需要经过SDN网络节点,不会出现与其他业务流量抢占带宽的场景)XX业主使用L3GW进行网络互通EIP-通用性应用需要被外部访问的WEB服务器的ELBvIP地址绑定在EIP地址上,WEB服务器就能被外网用户访问。并绑定的EIP地址可以进行域名注册,以域名对外提供服务,使得EIP地址并不直接对外暴露,实现EIP地址发生变化,而不影响客户。-业务系统之间互联当云内业务系统和传统云外的业务系统需要相互通信或接口调用,可以将需要访问的接口服务器(通过ELB、HA或单机)IP地址和需要访问网络的EIP地址进行绑定,实现业务互通。一个弹性公网IP只能绑定一个云资源使用,且弹性公网IP和云资源必须在同一个区域,不支持跨区域使用弹性公网IP。通用可用区的EIP不支持绑定至边缘可用区的实例,边缘可用区的EIP也不支持绑定至通用可用区的实例NAT1.使用SNAT访问公网当VPC内的云主机需要访问公网,请求量大时,为了节省弹性公网IP资源并且避免云主机IP直接暴露在公网上,可以使用公网NAT网关的SNAT功能。VPC中一个子网对应一条SNAT规则,一条SNAT规则可以配置多个弹性公网IP。公网NAT网关提供不同规格的连接数,根据业务规划,可以通过创建多条SNAT规则,来实现共享弹性公网IP资源。简规划易运维管理高安全零冲突ELB公网类型的负载均衡实例可以通过公网将客户端请求按照制定的监听规则分发到后端多台服务器上。公网负载均衡通过创建时分配或选择的弹性IP对外提供服务。公网访问云内VPC时,可以部署多台应用服务器,提升业务系统的可靠性和性能。-高性能:支持最高亿级并发连接;支持用户使用4层/7层的负载分发-超灵活与弹性伸缩服务无缝集成,根据实际流量,自动扩展处理能力,自动满足变化的流量需求-高可用冗余设计,自动移除异常节点,并将流量向正常节点重新分发,保障业务高可用性能源行业ELB性能规格:2022.930版本,现有ELB网元保持资源占用/性能不变,提高ELB整体软件规格:单region规格:a.支持3200个ELB(原1600);b.支持12000监听器(原9600);c.16000member(原8000);单ELB实例规格:a、支持300个监听(原100);b、单pool支持500个member(原80)《XX业主核心交易系统ELB替换F5最佳实践》http://3/documents/docinfo/783884124072083456?bookstackId=53913&catalogId=253962351770521600VPN1.单站点混合云部署2.多站点混合云部署3.跨区域VPC互联-数据安全可靠-无缝扩展资源-联通成本低廉-开通管理便捷-灵活架构适配-专业运维能力使用IPsecVPN实现VPC与站点的连接1.2.选型实践:以XX业主为例,首要考虑高性能高可用,选取L3GW作为网络互通方式。场景说明:XX业主A+核心业务系统上云,客户在云外发起请求访问云内VPC业务单元配置方法:使用L3GW+防火墙方式互通图L3GW互通实践云内接入选型建议云内接入场景产品名称使用场景产品特性历史实践云内不同Region互通L3GWHCS多Region场景,ManageOne管理多个Region,需要通过网络或专线和多个Region互通。-超高安全性能物理专线的私网连接不通过公网,网络链路用户独占,无数据泄露风险,安全性能高,可满足金融、政企等高等级网络连接需求。-稳定网络延时网络延时可靠性高,通过固定路由配置,免去拥堵或故障绕行带来的时延不稳困扰。增强型云专线做云内云外互通时,云内VXLAN流量通过核心租户VRF转发至L3GW,在L3GW进行VXLAN到VLAN的转换,并通过L3GW内的专线VRF转发至外部网络节点;(也就是说增强型云专线不需要经过SDN网络节点,不会出现与其他业务流量抢占带宽的场景)XX业主使用L3GW进行网络互通云连接CC支持8.0.1及以后版本Type1场景跨区域多VPC互通当云上多个跨区域的VPC之间需要进行通信时,云连接可以根据您的网络规划,轻松实现多个跨区域VPC连通的场景,提高网络拓扑的灵活性,并为您提供安全可靠的私网通信。当前支持主动授权方式将自己的VPC授权给对方的云连接服务供其加载。举例:某项目为HCS8.xTypeI方案,客户业务需要在双DC中实现业务层容灾,主站点到备站点间通过专线/CC实现数据复制-全网互联云上网络任意两点互联,保证网络转发一跳可达,无须中转。-简单灵活只需三步,分钟级构建跨区域跨境多VPC互通网络,支持混合云架构。-性能优异华为全球网络基础设施能力,提供低时延、高质量体验。-全球合规提供全球一站式合规的网络能力,支持用户专注自身业务创新。同一Region不同VPC互通L3GWHCS多Region场景,ManageOne管理多个Region,需要通过网络或专线和多个Region互通。-超高安全性能物理专线的私网连接不通过公网,网络链路用户独占,无数据泄露风险,安全性能高,可满足金融、政企等高等级网络连接需求。-稳定网络延时网络延时可靠性高,通过固定路由配置,免去拥堵或故障绕行带来的时延不稳困扰。XX业主使用L3GW进行网络互通VPCPeering两个VPC之间实现网络连接对等连接:已接受的占配额,并且待接受状态的占用发起方的配额,不占用接受方的配额。路由配额:一个VPC下的路由配额默认是200个,包括专线路由和对等连接路由等其他路由VPCEndpoint基于终端节点可以使得用户实现跨VPC的服务访问,利用其构建的云生态系统,增强应用的扩展能力。通过VPN或者云专线利用建立的终端节点通过内网高速访问华为云服务(OBS服务),无需经过公网,提高用户的访问效率。通过VPC终端节点建立连接的两个VPC之间,仅支持终端节点所在VPC访问终端节点服务所在后端资源的指定端口。终端节点(VPCEndpoint)可以在VPC内提供便捷、安全、私密的通道与终端节点服务(云服务、用户私有服务)进行连接,该服务使用内部网络,无需弹性公网IP,为您提供性能更加强大、更加灵活的网络同一VPC内不同子网互通组件ELB公网类型的负载均衡实例可以通过公网将客户端请求按照制定的监听规则分发到后端多台服务器上。公网负载均衡通过创建时分配或选择的弹性IP对外提供服务。公网访问云内VPC时,可以部署多台应用服务器,提升业务系统的可靠性和性能。-高性能:支持最高亿级并发连接;支持用户使用4层/7层的负载分发-超灵活与弹性伸缩服务无缝集成,根据实际流量,自动扩展处理能力,自动满足变化的流量需求-高可用冗余设计,自动移除异常节点,并将流量向正常节点重新分发,保障业务高可用性XX业主ELB性能规格:2022.930版本,现有ELB网元保持资源占用/性能不变,提高ELB整体软件规格:单region规格:a.支持3200个ELB(原1600);b.支持12000监听器(原9600);c.16000member(原8000);单ELB实例规格:a、支持300个监听(原100);b、单pool支持500个member(原80)XX业主使用L3GW进行网络互通VFW不同业务系统部署在同一个VPC内的不同子网,业务系统之间三层互通,需要放通防火墙和安全组相关ACL规则性能考量。单个安全组规则数量越多,转发到虚拟机的报文匹配次数越多,转发性能越差。对于Type1场景,单个虚拟防火墙的出规则和入规则不建议超过20条(总计不超过40条),Type2场景基本上不需要考虑ACL规则限制高速网络当同一VPC内子网有超高性能互通的诉求,可以通过物理网线进行互通局域网范畴拥有超高传输速率在局域网范畴,一般称多达1Gb/s(每秒1000兆比特,1G=1000M)以上带宽的光纤网络为超高速网络。在核心骨干网,一级称2.5Gh/s以上的光纤网络为超高速网络XX业主业务,请求访问A应用,A应用同一VPC内不同子网互相调用同子网内VM互通默认互通同一子网中的计算实例子网内部二层互通,只要在创建计算实例时选择相同子网,默认互通,无需手动配置-子网划分时需要综合考虑应用系统规模,以及后续扩容预留一些冗余量。如果子网资源足够,建议子网按照一个或者半个C段进行划分安全组同一子网中的计算实例通过安全组进行隔离-各个不同的部署规模对应的网络资源限制,详情参照对应版本的性能规格清单:如50PM场景,单Region内最大的安全组数量限制在500个,单Region内最大的安全组规则数量限制在2500个,单个安全组最大支持的规则数量50个-性能考量。单个安全组规则数量越多,转发到虚拟机的报文匹配次数越多,转发性能越差ELB公网类型的负载均衡实例可以通过公网将客户端请求按照制定的监听规则分发到后端多台服务器上。公网负载均衡通过创建时分配或选择的弹性IP对外提供服务。公网访问云内VPC时,可以部署多台应用服务器,提升业务系统的可靠性和性能。-高性能:支持最高亿级并发连接;支持用户使用4层/7层的负载分发-超灵活与弹性伸缩服务无缝集成,根据实际流量,自动扩展处理能力,自动满足变化的流量需求-高可用冗余设计,自动移除异常节点,并将流量向正常节点重新分发,保障业务高可用性XX业主ELB性能规格:2022.930版本,现有ELB网元保持资源占用/性能不变,提高ELB整体软件规格:单region规格:a.支持3200个ELB(原1600);b.支持12000监听器(原9600);c.16000member(原8000);单ELB实例规格:a、支持300个监听(原100);b、单pool支持500个member(原80)关键组件选型建议负载均衡组件选型对比目前主流负载均衡组件为ELB及F5,一般建议优先选用ELB完成负载任务。ELB与F5功能对比:在协议支持、会话保持、分配策略、健康检查、转发策略以及各级别监控指标等功能诉求讲ELB与F5进行对比,对比情况如表表ELB与F5功能对比功能要求业务诉求F5ELB协议支持TCP/UDP/HTTP/HTTPS√√会话保持四层负载需要支持会话保持√只有轮询支持会话保持分配策略加权轮询/最少连接/源IP√√健康检查TCP/HTTP√√网络访问内网负载均衡/外网负载均衡/VPN/专线负载均衡√√多种类型后端ECS/BMS/TargetIP√√转发策略基于域名与URL的基础转发策略/基于域名与URL的高级转发策略√√水平扩展集群内主主(16)/多集群(3)×√实例级监控功能/指标并发连接数;新建连接数;活跃连接数;非活跃连接数;流入数据包数;流出数据包数;网络流入速率;网络流出速率;异常主机数:;正常主机数√√节点级监控功能/数据总并发连接数;总新建连接数;CPU使用率内存使用率;网络流入/流出速率;磁盘使用率:节点;磁盘IO写入/读出;磁盘读/写操作速率√√其它证书管理/限速/客户端白名单√√性能对比:ELB的各个网元结构的性能指标L4/L7的吞吐量、每秒请求数、每秒会话数、最大并发连接数与与某银行现使用的组件—F5对比,对比情况如表表ELB与F5性能对比性能指标F5(BIG-IPI4800)ELB单网元(X86+CX5)ELB单网元(ARM+CX5)ELB单网元(ARM+1822)L4Throughput20Gbps南北向TCP:6.5Gbps南北向UDP:6Gbps东西向TCP:14Gbps东西向UDP:10.5Gbps南北向TCP:7.5Gbps南北向UDP:6.5Gbps东西向TCP:14Gbps东西向UDP:13Gbps南北向TCP:16Gbps南北向UDP:11Gbps东西向TCP:16.5Gbps东西向UDP:15GbpsL4HTTPRequestsperSecond(rps)2M---L4ConnectionsperSecond(cps)450K130K85K130KL4MaximumConcurrentConnections28M2.2M2.2M2.5ML7Throughput20Gbps---L7ConnectionsperSecond(cps)(1-1)150K29K16K15KL7RequestsperSecond(rps)(1-inf)350K并发连接数:320K并发连接数:320K并发连接数:350KIncludedSSL/TLSTPS(RSA2KKeys)20000新建连接数:3K并发连接数:120K新建连接数:3K并发连接数:120K新建连接数:3K并发连接数:120KMaximumSSL/TLSTPS(RSA2KKeys)20000新建连接数:3K并发连接数:120K新建连接数:3K并发连接数:120K新建连接数:3K并发连接数:120K行业实践及案例金融行业ELB替换F5最佳实践1、业务现状A⁺系统生产核心区中主备部署一对F5,主备切换大约在2秒左右。F5通过不同virtualserver分别对应外部网络访问A⁺系统应用和应用调用后端数据库。图A⁺系统生产核心区图业务数据流逻辑示意图存汇业务:业务请求,通过F5分发到应用服务器应用请求通过F5分发到DB-ProxyDB-Proxy依据数据分片发送到数据库对应写操作,需要通过数据复制确保一定数据副本同步数据返回DB-Proxy,经过F5返回APP(每笔业务会有多次交互)经F5业务返回2、客户诉求高可用诉求客户对于ELB的高可用要求,需要在环境中进行单物理机故障、单网元故障、节点全链路故障的模拟,测试出相关的数据。测试数据如下表表高可用诉求分类测试数据高可用故障切换时间,流量中断时间故障切换会话是否重建,重建的比例自我保护机制,到达连接上限,清楚未使用的连接使用要求:如负载实例资源隔离,优先级保证等性能诉求客户对于ELB的性能评估,需要在环境中进行生产测试,进行端到端的相应时长、经ELB耗时时延、ELB的稳定性以及ELB负载容量指标的测试,具体测试见下表表性能诉求分类ELB性能评估项性能规格A⁺系统业务端到端响应时长经过ELB的耗时及分段时延稳定性:压测时长12h响应时长不同负载下的时延单region下ELB、监听器、pool、member的最大数量单VDC内LB、监听器、pool、member的最大数量单个ELB的监听器数量规格单个ELB的最大pool数量单个pool最大member数量东西向/南北向转发宽带TCP新建/并发连接数其他MO提供ELB网元集群性能监控API以某银行ELB替换F5方案为例,其中ELB测试验证结论如下总体结论:结合功能,高可用,性能测试,在业务可用上ELB基本符合业务要求,对不满足需求有临时规避方案,并落入版本需求,有路标。经客户与专家评审,基于当前现状XX替换。基于行里关注点功能、高可用、性能测试项结果及分析评估各项替换结论具体见表。1.高可用项基本满足A⁺系统要求;2.性能低并发场景(小于300并发,TPS小于6000),ELB基本与F5持平;性能高并发场景(大于300并发,TPS大于6000),ELB略于F5;且高并发测试场景全ELB负载业务RT每分钟波动1次:a) TPS小于4000时,波动小于1ms;b) 4000<TPS<6000,波动小于5ms;c) TPS大于9000时,波动在100ms左右;表测试项评估分类行里关注点测试对象测试项测试结果结果分析评估结论高可用单网元故障,业务恢复时长网元单网元故障(OM界面安全重启)无中断进程安全杀死,平稳切换,流量不中断高可用已测试场景数据基本符合原理数据,需行里评估对业务影响。单网元故障(reboot-f)7s实验室测试约5s:交换机日志在第4s时打印BFD检查失败,流量切换到另一台cvs节点4.87s,转发到后端恢复业务约5s。单网络节点故障,业务恢复时长网络节点单网络节点故障(OM界面安全重启)无中断进程安全杀死,平稳切换,流量不中单网络节点故障(reboot-f)7s实验室测试约5s:交换机日志在第4s时打印BFD检查失败,流量切换到另一台cvs节点4.87s,转发到后端恢复业务约5s。trunk链路故障,业务恢复时长链路全部trunk链路故障(进trunk口shutdown)1.8sBFD每隔1s探测一次,trunk链路down交换机直接感知到,所以在第2s左右实际第3次探测已经失败。后端member异常,链路不同,业务切换到正常member时长member后端member异常,链路不同,业务切换到正常member时长-与健康检查配置策略强相关:场景一:检查周期5s,超时时间10s,最大重试3s,测试发包每次1s间隔,中断打印约10.4s场景二:检查周期1s,超时时间3s,最大重试3s,测试发包每次1s间隔,中断打印约2.1s检查失败时间=超时时间×3+检查周期×(3-1)若这种直接直接停止后端服务的,会直接”Brokenpipe”,意味着超时时间无限小,失败时间则=检查周期*2隔离2个网络节点,在路上的流量中断时长网络节点隔离2个网络节点,在路上的流量中断时长-同单trunk链路故障场景或删除等价路由场景,跟隔离手段相关。在交换机上删除等价路由,看流量中断时间链路在交换机上删除等价路由,看流量中断时间2.12sBFD每隔1s探测一次,无等价路由交换机会直接感知到,所以在第2s左右实际第3次探测已经失败。上层交换机单点故障业务恢复时长交换机上层交换机单点故障业务恢复时长NA无法判断流量走的哪台交换机无法构造场景升级/回退/扩容业务不中断网元升级业务不中断-每次重启中断1秒,中断次数为2次×CVS网元个数网元回退/扩容业务不中断-未测试。性能A⁺系统业务端到端响应时长A⁺系统(ELB与F5对比)混合交易10/20/30/48/60并发单台应用压测5分钟业务表现对比-小于60并发下全经ELB表现优于全经F5,平均RT低6~9ms,平均TPS高18~27。性能已对比测试场景(业务交易成功率都为100%):低并发10/20/30/48/60场景,全ELB与F5业务表现基本持平;高并发200/400/600/960/1200场景,全ELB较F5较差。高并发200/400/600/960/1200场景全ELB负载业务RT每分钟波动1次:a)TPS小于4000时,波动小于1ms;b)4000<TPS<6000,波动小于5ms;c)TPS大于9000时,波动在100ms左右;混合交易200/400/600/960/1200并发20台应用压测5分钟业务表现对比-大于200并发全经ELB表现略于全经F5,平均RT高4-20ms,平均TPS低2300左右。且应用前经ELB表现有业务波动混合交易10/20/30/48/60并发单台应用压测5分钟业务表现云内云外对比-小于60并发下全云内在48并发时与全云外数据基本持平。经过ELB的耗时及分段时延ELB混合交易单经ELB耗时:云内23C虚机应用前经ELB和不经ELB对比,其它项一致-混合交易并发5/10/23/30/46,应用前加elb负载相较不经负载在平均RT和TPS表现基本持平;在23并发时,RT增加1.6ms左右,TPS下降2.8左右。单项的经过ELB和经过F5的对比时长A⁺系统(ELB与F5对比)混合交易10/20/30/48/60并发单台应用压测5分钟业务表现只应用前负载不同对比-混合交易并发10/20/30/48/60,应用前elb负载相较F5负载在平均RT和TPS表现基本持平;RT增加3ms左右,TPS下降1左右。混合交易10/20/30/48/60并发单台应用压测5分钟业务表现只DB-Proxy前负载不同对比-混合交易并发10/20/30/48/60,DB-Proxy前加elb负载相较不经负载在平均RT和TPS表现基本持平;RT混合交易200/400/600/960/1200并发20台应用压测5分钟只应用前负载不同业务表现对比-混合交易并发200/400/600/960/1200,应用前elb负载相较F5负载在平均RT和TPS表现较差;RT增加17ms左右,TPS下降1000左右。混合交易200/400/600/960/1200并发20台应用压测5分钟只DB-Proxy前负载不同业务表现对比-混合交易并发200/400/600/960/1200,DB-Proxy前elb负载相较F5负载在平均RT和TPS表现较差;RT增加20ms左右,TPS下降800左右。稳定性:压测时长12h响应时长A⁺系统(ELB)混合交易1并发压测时长8h业务表现-业务表现稳定,交易率100%。查询交易80/200/240/280/320/360/400/1600/2400并发压测时长1h业务表现-业务表现稳定,交易率100%。随并发数增加,rt与TPS成线性增长。不同负载下的端到端响应时长A⁺系统(ELB与F5对比)查询交易40/80/120/160/200/280/400/600/800/1200/1600/2000/2400/3840/4800/5200/5600/6000/8000/10000/12000并发压测5分钟业务表现对比-随压力增加,RT/TPS线性增加,ELB在4800并发达到TPS最大11723,F5在2400并发达到TPS最大13273;并发小于280,TPS小于6000时,ELB业务表现较F5稍好,rt相较低3ms,TPS高200左右;并发大于400,TPS大于7000时,ELB业务表现较F5较差,RT相较高8ms,TPS低2000左右。金融行业L3GW最佳实践-XX业主新一代招聘系统互通设计XX业主新一代招聘系统包含多种场景互通,我们以该系统为例进行互通设计详细拆解。新一代招聘管理系统业务简介前端信息收集系统,包括人资资源系统、测评系统等,这些系统完成人力资源信息、招聘数据等基础信息采集;招聘管理系统,包括招聘计划、笔试管理、面试管理、测试管理、录用入职、人才库、第三方/猎头管理,招聘管理等,这些系统完成中枢管理工作;后端应用系统,包括OA系统、笔试系统、背调系统等,这些系统配合管理系统,被管理系统调用。图XX行新一代招聘系统招聘管理系统多种互通方式云外与云内VPC互访:客户端发起请求,通过L3GW,走到7层负载,之后分发给Node1和Node2,Node端接口收到请求后,转发给后端挂载的service,再由Service分发给招聘管理系统;同一VPC不同子网互相调用:管理系统收到请求后,需要调用后端OA系统、笔试系统等,流量从管理系统发起,先通过目标集群前端4层ELB进行流量分发,Node端接口收到请求后,转发给后端挂载的service,再由Service分发给OA管理系统、笔试系统等,完成调用;不同VPC之间互相调用:OA系统在进行处理时,需要调用数据库进行数据处理,此次流量为跨VPC互通,先经由请求端发起流量,经过L3GW走4层ELB,之后由四层负载分发流量给DB,完成数据库交互。图XX行招聘系统网络互通应用层设计建议应用层设计规范应用层定义:应用层的实际作用是将“数据访问层”的最基础的存储逻辑组合起来,形成一种业务规则。应用层封装针对具体问题的业务逻辑,或者是数据层的抽象操作对数据业务逻辑进行处理,能够提供interface\API层次上所有的功能。应用层开发过程中需遵循对外依赖、部署形态、数据处理三部分原则要求,详情参见下表:表应用层开发规范序号自检原则原则说明判断细则检测级别备注1对外依赖主要是对各种中间件服务的依赖是否使用二级负载均衡服务建议建议优选ELB是否使用应用中间件建议NA是否使用会话管理服务建议NA是否使用消息总线服务建议NA是否使用分布式缓存服务建议NA对外接口与内部接口之间是否隔离建议NA对外接口需具备流量监控和访问控制机制建议NA对外提供的API调用形式为Restful建议NA对外提供的API调用形式为JSon建议NA对外提供的API调用形式为Httpget/post建议NA2部署形态应用与中间件、其他应用之间的部署关系应用支持虚拟机部署强制必须支持虚拟机部署,否则无法进行业务上云应用支持容器部署建议建议支持容器化部署应用中间件是否集群模式部署强制要求应用中间件集群式或者支持负载均衡部署是否未与其他应用共同使用同一中间件强制要求不能与其他应用共部署在同一中间件是否未与其他应用共部署在同一主机强制要求不能与其他应用共部署在同一主机3应用数据处理应用数据处理方式应用状态数据严禁在本地持久化强制要求不能做本地持久化应用状态数据持久化到数据库强制要求应用状态数据持久化到数据库采用并行计算进行数据处理建议建议采用并行计算进行数据处理应用层设计方案传统架构构建的应用已经不足以支撑当前业务的需求,建议对业务进行微服务化和容器化改造。微服务化改造方案应用微服务拆分传统架构建应用的方法,无法真正建立开放性的行业生态,只有改为采用基于服务构建应用的方法,才能实现客户主导和业务敏捷。因此,面临这种状况,急需进行服务化的拆分和改造,单体服务到微服务的转型,避免单体服务继续地无序扩展,让功能模块的划分更加清晰明确。而且,可以使得单独模块可以由单独小团队去维护、开发、部署,分工更加明确,提高开发的效率。表微服务架构VS单体架构对比项微服务架构单体架构分工不同单独开发、单独部署、单独维护一个有规模的团队围绕一个单体应用工作,可能是一人一个模块存储方式不同模块都可以使用不同的存储方式共用一个数据库部暑方式不同可独立部暑功能的变更或缺陷的修复都会导致需要重新部暑整个应用容灾不同故障会被隔离在单个服务中故障很有可能在进程内扩散,形成应用全局性的不可用开发模式不同每个模块都可以使用不同的开发技术所有的模块开发所使用的技术一样设计思路:领域驱动设计(DDD):综合软件系统分析和设计的面向对象建模方法。通过合理运用面向对象等设计范式,将业务概念和业务规则转换为对象及其属性与行为,降低或隐藏整个系统的业务复杂性,使得系统具有更好的扩展性,应对复杂多变的现实业务问题。核心思想:统一语言:同一术语代表同一件事情。先发散再收敛:通过事件风暴等还原业务,建立通用语言的限界上下文,识别领域和应用边界,支撑微服务识别。业务模型与系统模型一致:业务模型与代码模型建立映射关系,业务后续调整时系统架构可持续演进。领域建模:从原有业务模型中识别、沉淀可复用的能力并重新组合,形成具备可复制的通用能力。划分原则:按业务边界划分基于微服务和领域驱动设计理念,首选原则即按业务边界划分。这样的好处是当某一块业务未来持续演进时,只需要扩展对应的微服务即可,大幅提升开发效率。另一种考量因素是能力复用,如果在多个业务场景存在相同的业务流程,可以将此业务流程单独划分为微服务,以便被其他微服务调用,实现能力复用。按业务变化频率划分对于某个业务场景暂未详细进行软件设计或该业务场景可以预见将面临较大的调整,应将此场景单独划分成独立的微服务,让业务变化对软件的影响控制在局部微服务中,得到整体的稳定。按非功能需求划分某个场景需要有特殊的技术诉求(软件从业者常称为“非功能需求”或“跨功能需求”)。例如,部分业务存在较大的性能压力或需要进行安全加固,都需要更多的软硬件资源投入。为了减少不必要的开支,可以将此场景单独划分为微服务,只需针对它进行投入即可。这些特殊的技术诉求通常包括:弹性、安全、性能、技术选型、集成等。按系统开发组织划分大型软件开发项目中,往往存在多团队协作开发的情况,为了保障整体开发效率和质量,应避免单个微服务被多个团队共同维护,减少不必要的协同。划分步骤:领域建模时,我们会根据场景分析过程中产生的领域对象,比如命令、事件等之间关系,找出产生命令的实体,分析实体之间的依赖关系组成聚合,为聚合划定限界上下文,建立领域模型以及模型之间的依赖。财政预算管理一体化系统采用全球化业务高效运行的微服务架构设计方法论(领域驱动设计),通过领域驱动设计围绕财政预算管理业务概念构建领域模型来控制业务的复杂性。让业务和系统形成“绑定”,当业务发生变化时系统架构能随之改变。微服务通信选型微服务间通讯有同步和异步两种方式:同步通信:主流的方式有3种:RPC(Remoteprocedurecalls)、REST(RepresentationalStateTransfer)、GraphQL耦合性约束性复杂度缓存可发现性版本控制RPC高中低custom差困难REST低低低http良好简单GraphQL中高中custom良好无REST模型资源,可以是表达域模型的自然方法。REST基于HTTP谓词定义统一接口,从而有利于可演化性。它在幂等性、负面影响和响应代码方面具有完善定义的语义。此外,它实施无状态通信,从而提高了可伸缩性。HTTPREST方式指的是使用http协议进行数据传递,数据格式是使用json格式。RPC主要面向操作或命令。由于RPC接口看上去与本地方法调用类似,因此可能导致设计出过于琐碎的API。RPC是一种远程过程调用,消息格式是采用二进制格式。优点:可定制协议/传输类型,可实现高性能通讯。常用的有:SOAP、RMI、Thrift、Avro、gRPC、Dubbo协议。GraphQL面向数据查询。本身需要使用强类型的Schema来对数据模型进行定义,因此相比REST它的约束性更强,但是语法相比较REST和RPC均复杂一些。特别适合图状数据结构的业务场景(比如好友、流程、组织架构等系统)总结:微服务架构的要求看更偏向于使用REST以方便实现异构系统的通讯。基于HTTP的REST不需要特殊的库。它只会产生极少程度的耦合,因为调用方不需要客户端存根即可与服务通信。有丰富的工具生态系统来支持RESTfulHTTP终结点的架构定义、测试和监视。最后,HTTP与浏览器客户端兼容。异步通信:异步消息传递通常有两种模式无代理模式:指的是C端直接将消息发送给P端即可不需要得到恢复,当需要P端恢复时由于是异步通信,C端也不会阻塞,P端处理完后再根据接收到的信息向C端回复处理结果。这种方式比较小众主要适用于一些异步通知场景。消息代理:这里需要借助一些消息中间件,比如RocketMQ、kafka等。这种方式的使用场景比较广泛,行业内有很多成熟方案。通过使用异步消息通信的方式能够很好的实现微服务的解耦。通信模式同步模型异步模型优点调用机制简单,代码清晰。根大部分微服务或者RPC框架契合好业务线程不会同时阻塞,解决了微服务间的时间耦合缺点会导致时间耦合业务流程调用API时,可能出现长时间阻塞1.异步机制的代码复杂,对于客户端和服务端,都变复杂了。2.应对场景的处理方式也更多(比如异步阻塞),给程序的处理带来更多分支场景。适用场景1.需要尽快反馈,甚至处理过程中需要调用。比如关联银行卡的第三方支付。2.服务端处理速度快。服务端需要处理的时间更长,比如10+秒。阻塞的业务线程数TPS*响应时长。建议实现通常是基于HTTP协议的RESTfulAPI,一般使用RestTemplate,SpringCloudFegin等组件实现服务间同步调用。MQS微服务化高可靠部署业务系统最少两个可用区,CSE部署时选择多可用区双引擎模式。CSE实例之间集成ServiceCenter提供的Syncer能力,双向同步微服务数据(微服务、实例、配置和帐号角色),同步数据采用高效的gRPC协议。配置建议配置微服务治理,应对突发流量配置服务弹性伸缩微服务应用亲和性和反亲和性配置升级策略为灰度发布配置负载均衡/容错/熔断,保障应用不中断配置服务降级/限流,保障核心业务可用性微服务框架改造线下架构分析以预算执行子系统为例客户痛点描述:各系统开放的服务标准不统一,耦合紧密,如下图,系统间集成方式主要通过SOAP协议。当客户需要开发新业务时,牵一发而动全身,导致业务落地非常缓慢财政系统偶尔出现异常,不能提前发现并快速定位解决,曾出现70+业务断点无法及时定位的情况财政系统还有很多系统不云化,如OA系统等,需要考虑如何与这些传统系统进行集成对接当前架构分析:对外接口不统一,无认证鉴权机制:服务对外提供的接口、协议不统一、缺少认证鉴权机制系统耦合严重:服务注册采用zookeeper,作为子模块打包在平台框架里,不支持独立部署本地配置繁琐:服务配置存放在本地配置文件,维护繁琐易出错系统集成工作量大:第三方业务系统只能采用WebService方式与预算执行系统集成,定制化接口开发、维护工作量大缺少服务治理:服务之间通信复杂,应对服务之间的访问异常没有相关的控制机制,包括流量控制、异常链路追踪、故障隔离等版本演进周期长:服务版本演进需要下线重新部署,影响业务连续性云化架构增加API网关,对外提供统一访问入口,并提供认证鉴权机制引入服务注册中心,独立部署,提供服务注册功能采用统一配置中心,支持批量、动态更新服务配置系统集成接口采用RESTAPI,统一注册到API网关,实现内部与第三方系统的集成对接引入微服务治理组件,对服务之间的调用进行流量控制、异常链路追踪、故障隔离等引入灰度发布机制,支持业务平滑演进关键设计点1)通过API网关实现服务接口注册,统一对外访问入口开发者将预算执行系统预定义好的API接口,转发规则注册到API网关外部或第三方服务通过RESTAPI访问API网关指定接口API网关提供访问鉴权认证、匹配路由转发规则,将请求转发到后端指定微服务建议将API网关上的接口定期同步到GitLab仓库,做好版本管理。2)基于API网关实现统一认证鉴权开发人员使用管理员分配的“API提供者”账号/密码登录管理Portal并发布API开发人员使用管理员分配的“API消费者”账号/密码登录开发者Portal并订购API前端应用调用已订购的API,支持的应用认证方式包括APP/Key,APPToken,不认证API路由到后端服务,支持的认证方式包括HttpBasic(用户名密码),PublicKey,无认证,项目建议后端微服务不认证3)基于API网关应用之间的访问路径应用内部微服务访问场景:直接访问服务API接口,不需要经过API网关外部应用与预算执行系统访问场景:通过API网关通信第三方系统与预算执行系统访问场景:通过API网关通信4)基于华为CSE微服务框架,增加服务治理能力基于Swagger标准定义财政行业标准的RESTAPI基于CSE构建符合服务契约和REST开发规范的服务提供方和服务消费方基于CSE提供服务治理的能力,包括限流、容错(重试)、隔离仓、熔断功能基于业务标准的外开放的RESTAPI作为APaaS中的行业API产品注册到网关上网关通过边缘服务访问后端的服务提供方5)微服务集成设计通过ELB访问业务应用的前端,获取静态资源(如Html),访问后端微服务通过边缘服务转发总部级租户内(单租户模型)应用微服务访问aPaaS微服务通过CSE的跨应用访问实现其他租户(如分公司租户)或非CSE应用通过APIG访问aPaaS只有aPaaS微服务注册到APIG,应用微服务只在本应用内互相访问,不对外开放微服务框架选型建议服务注册中心选型:高可用性:接入微服务引擎后,所有服务都注册到注册中心,需要保证高可用数据一致性:注册中心承担服务注册以及服务订阅,一般都会集群部署,需要考虑分布式下数据的一致性配置中心选型:配置生效及时性:数据存储到配置中心,能否及时推送给各微服务,是一个非常重要的考虑点易用性:是否提供可视化操作界面,是否可以快速配置数据下发熔断器选型:熔断降级策略:是基于响应时间还是基于失败率做熔断降级隔离策略:需要考虑隔离策略对系统性能的影响,是采用线程池隔离,还是采用并发数进行隔离流量控制:是否支持对微服务之间进行流量控制轻量级、高性能:是否支持轻量级接入,无需过多依赖,引入后带来的性能损耗是否足够小链路追踪选型:多语言支持:业务系统通常涉多语言开发,需要考虑支持多语言环境下的链路追踪代码侵入性:链路追踪需要埋点,拦截请求,有些全链路追踪通过字节码实现对代码无侵入全局调用:支持业务微服务接口追踪,还支持对缓存、数据库等技术组件的链路追踪微服务框架对比分析功能点/服务框架华为CSESpringCloudgRPCDubbo功能定位完整微服务框架完整的微服务框架RPC框架RPC框架支持Rest是是,Ribbon支持多种可插播的序列化选择否否支持RPC是否是是支持多语言是是是否负载均衡是是(服务端zuul+客户端Ribbon),zuul-服务,动态路由,云端负载均衡Eureka(针对中间层服务器)否是(客户端)配置服务是NetfixArchaius,SpringCloudConfigServer集中配置否否服务调用链监控否,与APM搭配使用可满足是(zuul),zuul提供边缘服务,API网关否否高可用/容错是是(服务端Hystrix+客户端Ribbon)否是(客户端)社区活跃程度一般高高2017年后重新开始维护,之前中断了5年容器化改造方案技术架构设计传统分层业务系统按照各个部件的功能特点,一般可以抽象出三个层级:接入层、应用层、数据层。接入层设计负责接受用户的数据输入并向用户呈现数据,或接收外部调用请并返回调用结果,需要与应用层交互。一般是部署静态页面或者负载均衡软件。表接入层不同维度方案匹配维度方案具体说明网络接入方式云专线云专线是搭建在用户本地数据中心与云上虚拟私有云(VirtualPrivateCloud,VPC)之间高速、低时延、稳定安全的专属连接通道。可以通过云专线打通云上VPC和用户数据中心的数据业务。用户可以通过云专线将用户侧的用户网络、数据中心、主机托管区连接至云上VPC专线连接,享受高性能、低延迟、安全专用的数据网络。EIPEIP是通过NAT方式,实现外部网络与VPC私有网络的通信,由于NAT的流量绕行,转发路径较长,且仅支持单点IP的映射,不支持网段的连接,因此,推荐用于Internet访问云上业务的场景。企业内部网络与VPC互通的场景,建议首选专线方案。IPSecVPNIPSecVPN是通过VPN专业设备,基于Internet建立安全可靠的IPsec加密通道,一般优选前面两种接入方式。可靠性/可扩展性ELB+多容器实例容器以集群形式部署,优先选择无状态工作负载。接入层工作负载的一般是对外提供服务,建议使用负载均衡方式访问。创建节点选择在不同的可用区,在多个可用区(AZ)多个节点的情况下,根据自身业务需求合理的配置自定义调度策略,可达到资源分配的最大化。创建多个节点池,不同节点池部署在不同可用区,通过节点池扩展节点。工作负载创建时设置实例数需大于2个。工作负载实例采用默认部署,即无规则调度到集群中的不同节点上。搭配弹性伸缩服务,实现自动扩展与收缩。接入层安全WAF+虚拟防火墙+安全组通过安全服务,如WAF(web应用防火墙),加强系统的安全性,防御外部攻击。按需配置虚拟防火墙及安全组规则,减少暴露的系统端口,降低外部威胁。接入层与其它层分别配置不同的安全组,按需配置安全组规则,防止内部威胁扩散。基于以上方案场景,业务上云时,接入方式考虑高性能建议使用云专线(L3GW),如下图。图典型接入层架构应用层设计负责工作流控制,实现业务逻辑。上承接入层,处理接入层的请求,返回请求结果;下接数据层,实现对数据的增删改查。为了保证业务的连续性及业务波峰波谷带来的冲击,应用层上云时重点需要考虑可靠性与可扩展性。表应用层不同维度方案匹配维度方案具体说明可靠性ingress/service+多容器实例容器以集群形式部署,优先选择无状态工作负载。应用层工作负载的一般是针对接入层的容器内部调用访问,此时建议使用ClusterIP方式访问。应用层需要对外暴露接口的场景,可以考虑通过ingress或者service的ELB实例对外提供服务,容器化部署支持申请多种服务访问类型,从而更好的区分流量。创建节点选择在不同的可用区,在多个可用区(AZ)多个节点的情况下,根据自身业务需求合理的配置自定义调度策略,可达到资源分配的最大化创建多个节点池,不同节点池部署在不同可用区,通过节点池扩展节点。工作负载创建时设置实例数需大于2个。工作负载实例采用默认部署,即无规则调度到集群中的不同节点上。可扩展性工作负载伸缩HPA策略:即HorizontalPodAutoscaling,是Kubernetes中实现POD水平自动伸缩的功能。该策略在kubernetes社区HPA功能的基础上,增加了HPA级别的冷却时间窗和扩缩容阈值等功能。CustomedHPA策略:弹性伸缩增强能力,能够基于指标(CPU利用率、内存利用率)或周期(每天、每周、每月或每年的具体时间点),对无状态工作负载进行弹性扩缩容。主要功能如下:支持按照当前实例数的百分比进行扩缩容。支持设置一次扩缩容的最小步长。支持按照实际指标值执行不同的扩缩容动作。基于以上因素,应用上云时推介容器化部署架构如图所示。应用层可能是上述两种架构单元的一个或多个组合,形成了一个可靠、可扩展的系统。图容器化部署架构数据层设计负责系统业务数据的持久化,为上层业务逻辑的实现提供数据支持,一般是各类数据库、文件系统、分布式缓存等。数据层包括结构化的数据(如关系数据库)和非结构化数据(如各类文件服务器),传统业务中,大部分是关系数据库类的结构化数据。对于海量数据处理的设计,建议使用EI大数据云服务进行处理。对于客户使用已有数据上云,建议通过BMS部署。数据层实现的五种场景如图,优先建议使用①云组件方式。图数据层实现①优先使用云平台提供的数据库服务,如业务系统在上云前使用的是MySQL数据库,可以申请RDSforMySQL实例完成云化部署;采用分布式缓存组件如MemCached或者Redis时,申请云平台提供的DCS服务,将热点数据缓存,提升数据的读取效率,为应对大规模访问场景打下基础。②可以把数据丢失不敏感的业务(搜索、埋点)就可以数据化,利用数据库分片来来增加实例数,从而增加吞吐量。docker适合跑轻量级或分布式数据库,当docker服务挂掉,会自动启动新容器,而不是继续重启容器服务。数据库利用中间件和容器化系统能够自动伸缩、容灾、切换、自带多个节点,也是可以进行容器化。为保证性能和可靠性,不建议将重要业务系统依赖的数据库容器化部署。③对客户明确使用已有数据上云部署,对性能要求高,如Oracle数据库或者相同量级的数据库集群,建议通过BMS手动部署。④对客户明确使用已有数据上云部署,对性能无要求,明确不支持容器化部署的商业数据库建议通过ECS手动部署上云。⑤云化部署后,申请SFS实例和OBS桶,应用层容器应用直接访问OBS桶和SFS实例,实现文件的存取。部署架构建议业务上云时,客户对应用级与平台级业务连续性保障,从部署架构来保障业务本身高可靠,可扩展能力至为关心。能源类业务可以根据业务本身在整个能源行业信息系统中重要程度分为A+/A/B/C类业务,因此无论从整体的高可靠性还是组件单点的高可靠性都有不同的要求。两地三中心架构对A+类核心系统为保障业务高可靠,建议整体采用两地三中心架构,服务同城双活,数据同城灾备,同城不丢失数据情况下跨机房级别容灾;核心是解决底层数据双活,由于双机房距离近,通信质量好,底层储存例数据库可以采用同步复制,有效保证双机房数据一致性。灾备中心能防范同城双中心同时出现故障时候利用备份数据进行业务的恢复。部署示意图如图图两地三中心架构部署示意图同城双活架构对A/B/C类业务为保障业务高可靠,建议整体采用同城双活架构,服务同城双活,数据同城灾备,同城不丢失数据情况下跨机房级别容灾。核心是解决底层数据双活,由于双机房距离近,通信质量好,底层储存例如数据库可以采用同步复制,有效保证双机房数据一致性。图同城双活架构部署示意图从业务架构解耦分层来看,可以使用云平台服务能力,各层级共同实现同城双活。在该方案中结合能源行业客户高可用高要求,建议组件直接使用华为云组件承接,由云组件本身集群跨AZ部署去保障高可用。对客户强管控不考虑华为云的组件,建议自身同城主备双活部署。表不同业务层级及方案说明层级方案说明接入层网络出口故障自动切换,保持EIP不变。相对金融业务采用L3GW出口,直接负载ELB的VIP保持不变ELB高可用,实现跨数据中心负载均衡APIC跨数据中心集群部署,自动切换应用层应用层无状态部署,CCE/ECS跨AZ双活中间件层DCS/MQS集群跨AZ主备部署,单边故障无需修改配置,访问方式保持不变数据层MRS/DWS支持跨AZ双集群容灾数据库跨AZ集群拉远部署,单边故障VIP不变云原生双活架构对能源类业务上云后,Region内单集群业务接入层使用ELB+L3GW出口云外;应用层在集群内多副本部署,置于ELB后端member,通过健康检查机制保障业务高可用,对异常后端pod流量隔离;数据层数据库使用BMS部署,单独在一个VPC内,与容器集群VPC内部互访。图云原生双活架构图业务集群设计集群创建原则云平台资源管理在发放容器集群,建议采用如下原则:集群不支持跨Region部署隔离的网络分区,分别创建集群不同网络分区分别创建集群(不同网络分区,通常由具体的资源隔离诉求,因此需要分开)资源池架构:x86,鲲鹏,不同的硬件架构资源池建议分别创建集群(防止集群内部应用的复杂性,如果业务确实需要混合资源,可以采用混合集群)集群规模:超大规模集群(2000容器节点),建议采用容器隧道网络模式(Overlay模式)当容器节点超过2000,或者更多的情况下,建议创建多个集群由于每个容器集群规模过大容器导致故障域过大,故障定位难度指数级增加,建议每个集群的规模不超过1000节点。VPC网络模式,可以提供高性能容器网络,集群规模受限于VPCrouter自定义路由规格(1000条),容器集群规模不支持超过1000的规模。不同应用性质:不同业务类型的应用,非密切配合类的应用(AI训练/大数据业务),建议可以考虑分别建立集群核心业务,可以按照业务组建立独立的集群,应用高可用,可以基于多套相同应用的集群,实现双AZ&双集群应用本地高可用。其他一般业务可以多业务共用集群开发测试、生产环境,由于区域隔离,需要创建不同的集群,资源必须隔离不同的k8s版本,需要部署在不同集群租户/用户设计根据应用生命周期及容器化过程涉及的角色,一般可分为表中的角色,如表所示。表按客户进行不同用户角色分类表租户/用户设计建议用户角色定义描述对应行内人员对应平台上用户应用开发测试者负责应用开发调测、构建、打包、验证并发布商用软件包(镜像包)客户开发团队一般为开发测试VDC下容器项目的管理人员,可对开发、测试环境进行自我管理。应用管理者负责应用部署上线、弹缩扩容、故障定位排障等生命周期管理工作客户应用维护人员一般为生产VDC下容器项目的管理人员,能管理VDC资源、集群与容器的生命周期。应用巡检者负责日常应用监控、报表生成等日常巡检活动客户业务监控团队一般为生产VDC下容器项目的只读人员,只能查看监控容器应用平台管理员负责整个平台资源规划、分配与创建客户IT管理人员为平台超级管理员自定义角色客户业务场景中,对特定服务的权限控制,如镜像管理员客户自定义角色团队平台自定义角色网络模型选型能源类业务上云时,出于对网络高性能要求,且集群规模不超过1000个节点,容器网络一般建议采用VPC网络。对网络延时、带宽等要求不是特别高,但对防控策略等强管控的业务建议采用容器隧道网络。具体见表。如XX业主对业务网络性能要求高,业务集群统一使用VPC网络。图容器网络模型表网络模型选型对比维度VPC网络容器隧道网络IP地址管理每个节点分配一个小子网(全集群固定掩码长度,在集群创建时制定)在VPCRouter上添加静态路由,下一跳为节点IPIP地址可迁移网络性能无隧道封装,性能好,媲美裸机网络基于vxlan隧道封装,有性能损耗组网规模1000节点(受限VPC路由表能力)2000节点网络策略暂时不支持(后期CCETurbo方案天然支持)支持networkpolicy外部依赖依赖VPCRouter静态路由表能力无适用场景对网络延时、带宽要求高容器与虚机IP互通,使用微服务注册框架的,如Dubbo、CSE等一般容器业务场景对网络延时、带宽要求不是特别高的场景业务存储设计创建工作负载时,可以使用以下类型的存储。建议将工作负载pod数据存储在云存储上。若存储在本地磁盘上,节点异常无法恢复时,本地磁盘中的数据也将无法恢复。根据容器存储场景分类,可以分为运行临时数据和持久化数据见图,业务容器上云后对存储的诉求不一致,使用的建议也不一样。图容器存储场景分类本地硬盘:将容器所在宿主机的文件目录挂载到容器的指定路径中(对应Kubernetes的HostPath),也可以不填写源路径(对应Kubernetes的EmptyDir),不填写时将分配主机的临时目录挂载到容器的挂载点,指定源路径的本地硬盘数据卷适用于将数据持久化存储到容器所在宿主机,EmptyDir(不填写源路径)适用于容器的临时存储。配置项(ConfigMap)是一种用于存储工作负载所需配置信息的资源类型,内容由用户决定。密钥(Secret)是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型,内容由用户决定。云硬盘存储卷:CCE支持将EVS创建的云硬盘挂载到容器的某一路径下。当容器迁移时,挂载的云硬盘将一同迁移。这种存储方式适用于需要永久化保存的数据。文件存储卷:CCE支持创建SFS存储卷并挂载到容器的某一路径下,也可以使用底层SFS服务创建的文件存储卷,SFS存储卷适用于多读多写的持久化存储,适用于多种工作负载场景,包括媒体处理、内容管理、大数据分析和分析工作负载程序等场景。对象存储卷:CCE支持创建OBS对象存储卷并挂载到容器的某一路径下,对象存储适用于云工作负载、数据分析、内容分析和热点对象等场景。容器存储当前云平台提供三种存储,分别为块存储、文件存储、对象存储,三种存储主要区别如表。根据金融各行业务要求,可以选择不同存储方式。对比项文件存储块存储对象存储使用方式符合标准文件协议,用户可以将文件系统挂载给服务器,像使用本地文件目录一样。像使用传统服务器硬盘一样,用户可以对挂载到服务器上的块存储(硬盘)做格式化、创建文件系统等操作。具备标准RestfulAPI接口,用户必须通过编程或第三方工具访问对象存储共享方式数据共享,支持多台服务器共享,多台服务器可挂载相同的文件系统,数据可以共享操作和访问。数据不共享,或特殊的数台服务器共享卷,每台服务器使用独立的块存储(硬盘),多服务器之间数据隔离。数据共享,设备无限制,服务器、嵌入式设备、IOT设备,所有调用相同路径,均可访问共享的对象存储数据场景对比企业办公OA、AI训练、门户网站、游戏、DEVOPS、容器微服务、渲染等场景。关系数据库、NoSQL数据库、ELK分布式日志搜索、企业办公应用、数据仓库、高性能计算等场景。互联网应用、OTT视频、视频监控、备份/归档、大数据/IOT等场景容器场景使用说明共享存储,可以同时为多个Pod提供共享存储服务,即一个PVC可以同时被多个Pod使用。读写性能相对于对象存储OSS高。非共享存储,通过PV/PVC使用云盘时,一个云盘只能同时被一个Pod挂载。推荐使用有状态应用(StatefulSet)挂载使用云盘。无状态应用(Deployment)挂载云盘时Replica需要为1,不能保证挂载、卸载的优先顺序。共享存储,可以同时为多个Pod提供共享存储服务。适合于读文件场景。例如:读配置文件、视频、图片文件等场景。不擅长于写文件的应用场景。如果您的业务是将文件写入存储的场景,推荐使用文件存储。支持直挂支持通过CSI插件自动挂载支持通过CSI插件自动挂载支持非云&跨RegionCSI插件不支持解决办法:1.打通网络2.挂载NFS文件目录到指定的应用节点上3.通过本地卷方式挂载给应用CSI插件不支持CSI插件不支持解决方法:1.应用自行通过OBSAPI方式访问表存储设计建议一般建议容器使用块存储,容器备份使用对象存储,对于需要共享访问使用文件存储。如XX业主容器主要使用块存储,容器备份使用对象存储,没有使用云内的文件存储,对于需要共享访问,用的行内自己的NAS存储。业务镜像设计镜像构建镜像是容器的基础,容器基于镜像定义的内容来运行。镜像是多层存储,每一层是前一层基础上进行的修改。定制镜像时,一般使用Dockerfile来完成。Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建镜像的其中一层,因此每一条指令的内容,就是描述该层应该如何构建。\o""如何写出更好的Dockerfile,建议采用如下原则:一个容器只运行一个进程不要在构建中升级版本将变化频率一样的RUN指令合一使用特定的标签删除多余文件选择合适的基础镜像设置WORKDIR和CMD使用ENTRYPOINT(可选)在entrypoint脚本中使用exec优先使用COPY合理调整COPY与RUN的顺序设置默认的环境变量、映射端口和数据卷使用EXPOSE暴露端口使用VOLUME管理数据卷使用LABEL设置镜像元数据添加HEALTHCHECK编写.dockerignore文件镜像管理根据使用的技术栈(java、spring、go、python)提供标准的基础镜像,由基础设施团队负责(包括版本更新、漏洞处理等)。对应用软件包进行垂直切分,从下到上可分为OS、软件依赖、应用工具、应用软件等多层便于灵活快速的组合出不同场景和环境的镜像.操作系统镜像层:各种Linux操作系统及不同版本基础环境依赖层:各种业务运行环境,如java,python,go等基础依赖包应用中间件层:各种应用软件依赖层,包括中间件,数据库等业务应用层:各种OA,ERP等业务应用将OS、软件依赖等划为基础镜像并交给对应的部门管理和维护,进行行内共享,保证行内软件栈统一。业务高可用设计业务在对外访问保障高可用不仅要从后端pod故障考虑,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东水利电力职业技术学院《微波技术与天线》2023-2024学年第一学期期末试卷
- 广东生态工程职业学院《教育活动设计与应用》2023-2024学年第一学期期末试卷
- 广东青年职业学院《设计制造综合实训》2023-2024学年第一学期期末试卷
- 广东女子职业技术学院《功能高分子材料概论》2023-2024学年第一学期期末试卷
- 广东南华工商职业学院《基础俄语四外方》2023-2024学年第一学期期末试卷
- 广东梅州职业技术学院《第二外语日语(二)》2023-2024学年第一学期期末试卷
- 广东岭南职业技术学院《药品生产质里管理工程》2023-2024学年第一学期期末试卷
- 大学信息技术基础福建农林大学学习通测试及答案
- 幼儿园中班心理健康教育工作总结
- 《结直肠癌早筛早治》课件
- 2024时事政治考试100题及参考答案
- 医疗废物转移实施方案
- (赛斯资料)健康之道(全本)
- 工程师个人年终总结
- 汽车常识课件教学课件
- 【学易金卷】2023-2024学年四年级数学上册期末全真模拟提高卷(三)(A4版)(北师大版)
- GB 17353-2024摩托车和轻便摩托车防盗装置
- 学校膳食管理委员会工作制度和职责
- 房租收条格式(3篇)
- 期末试卷(试题)2024-2025学年培智生活语文二年级上册
- 2024秋期国家开放大学本科《中国当代文学专题》一平台在线形考(形考任务一至六)试题及答案
评论
0/150
提交评论