智慧园区云平台-方案建议书_第1页
智慧园区云平台-方案建议书_第2页
智慧园区云平台-方案建议书_第3页
智慧园区云平台-方案建议书_第4页
智慧园区云平台-方案建议书_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智慧园区云平台方案建议书目录第一章 方案概述61.1 总体架构61.2 IT基础设施配置61.3 软件列表7第二章 IAAS基础设施云平台设计82.1 总体规划82.2 基础硬件层92.3 分布式存储层92.4 云主机管理层92.5 云平台统一管理102.6 云平台安全11第三章 PAAS应用支撑云平台设计133.1 总体规划133.1.1 系统设计目标133.1.2 系统设计原则133.1.3 总体规划143.1.4 支撑平台143.1.5 应用支撑平台部署架构153.2 分布式服务框架(Eon-SF)163.2.1 服务订阅管理193.2.2 服务分组管理203.2.3 支持高并发,高性能

2、203.2.4 简单的应用集成213.2.5 服务总线横向扩展213.2.6 应用管理213.2.7 服务发布管理213.2.8 服务实例管理223.2.9 服务状态管理223.2.10 在线更新/升级服务支持233.2.11 服务监控管理233.2.12 应用开发要求233.2.13 性能指标243.2.14 可用性约束253.3 分布式缓存(Eon-IM)263.3.1 数据缓存273.3.2 缓存数据管理293.3.3 执行应用缓存节点变更293.3.4 分布式架构的支持303.3.5 缓存资源管理(物理机)313.3.6 应用申请缓存资源管理313.3.7 缓存节点管理323.3.8

3、获取缓存节点当前运行信息333.3.9 获取缓存节点监控信息333.3.10 采集性能数据333.3.11 应用开发要求333.3.12 性能指标343.3.13 可用性约束353.4 分布式消息(Eon-MQ)363.4.1 发送消息373.4.2 查询消息373.4.3 监听消息373.4.4 高可用支持383.4.5 消息持久化383.4.6 高性能383.4.7 分布式架构393.4.8 读写分离和分组管理393.4.9 消息资源的分配管理(机器)393.4.10 队列/主题管理393.4.11 应用开发要求403.4.12 性能指标403.4.13 可用性约束413.5 自动化部署(

4、Eon-AD)423.5.1 Dashboard(图形化展示)443.5.2 任务管理443.5.3 配置管理453.5.4 应用接入申请453.5.5 报表中心463.5.6 技术指标463.6 分布式数据库(Eon-DB)473.6.1 分布式事务-事务补偿483.6.2 分布式数据库-跨库Join查询493.6.3 分布式数据库-数据同步49第四章 云平台运营518.1 总体运营架构518.2 运营工作职能518.3 运营目标51第一章 方案概述1.1 总体架构智慧园区云平台架构1.2 IT基础设施配置平台最小IT基础设施(50台)推荐IT基础设施(88台)IaaS + PaaS 平台1

5、0台服务器,两路x86处理器,32GB内存,1TB以上的硬盘;网络交换设备按照此配置进行以太网交换部署,千兆以太网;50台以上的服务器,两路或者四路x86处理器,32GB内存,2TB以上的硬盘;网络交换设备按照此配置进行以太网交换部署,万兆以太网;大数据平台3台服务器,两路x86处理器,32GB内存,1TB以上的硬盘;网络交换设备按照此配置进行以太网交换部署,千兆以太网;30台以上服务器,两路或者四路x86处理器,64GB内存,2TB以上的硬盘;网络交换设备按照此配置进行以太网交换部署,万兆以太网;1.3 软件列表平台产品说明易用云产品IaaS云主机管理平台Eon-Stack分布式存储平台Eo

6、n-StorPaaS服务框架Eon-SF分布式数据访问Eon-DB消息中间件Eon-MQ分布式缓存Eon-IM自动化部署Eon-AD大数据平台数据抽取ETL工具数据持久易用云大数据开发和运行平台分析工具第二章 Iaas基础设施云平台设计第一章第二章2.1 总体规划易用云在多年的系统平台的研发和运维过程中结合开源产品、业界经验和自身多年的最佳实践形成了一套适合云计算平台业务需求的IT基础设施服务云平台易用云的IAAS平台,其系统架构如下所示:易用云IAAS总体架构图方案优势综上可以看出,相对于其他的自动部署方案具有以下的优势:l 基于流程化定义部署策略l 99.5%的全自动部署l 能在0.5小时

7、内安装1000台机器的操作系统,从祼机开始l 能在1.0个小时内部署IAAS系统需要的数据库、消息中间件等核心模块l 可以支持异构化的服务器,如IBM、HP和Dell的标准服务器l 模块化解决方案,部署时可灵活配置l 支持图形化和命令行两种操作模式2.2 基础硬件层在系统架构图中位于最底层的是IDC的硬件基础设施,这里除了图示的服务器、存储和网络外还包括机架、UPS机房环境等。为了保证整个数据中心的稳定、可靠运行我们建设的数据中心均达到T4级别:保证任何的计划性活动不会引起关键负载的中断,容错能力也为基础实施提供能忍受最少一次的最糟糕的情况非计划性故障或者非关键性负载事件的冲击能力。双系统(S

8、+S)的配置,电力上配备(N+1)的UPS系统。除了底层强大的资源供应外,在数据中心提供多种接入方式,还可以根据需要灵活扩容带宽。2.3 分布式存储层当然光有这些还远远不够,为了让IAAS系统高效运行在服务器上采用了目前最为先进的刀片服务器(以32Core、64G内存为主);分布式存储方面则抛弃了传统的集中存储模型,充分利用每台服务器上挂载的本地磁盘的存储设备和服务器Raid的功能建立了统一的分布式存储。2.4 云主机管理层在服务器、网络之上是操作系统,通过操作系统将数据中心的物理设备所提供的硬件资源映射到虚拟世界中来并为IAAS所识别。为了达到高效、可靠和安全采用了CentOS6的Linux

9、操作系统,并对其做了定制(在安全、性能优化等方面均有所增强)。在IAAS框架中,安全是很重要的一环。前面提到从物理服务器的操作系统一层开始定制并植入了安全的解决方案,这还只是很小的一部分。根据易用云系统多年的实践,安全一定是全方位的,自底向上的覆盖整个云计算平台。前面已经提到,作为底层的资源管理者在调度大规模的计算、存储和网络资源时难免会遇到各种各样的问题。除了IAAS的智能处理外还需要一个管理界面来显示这些信息,比如:整个集群的负载情况如何?什么时候创建了多少虚拟机?等等还有很多。而统一管理综合了整个IAAS集群运行过程中方方面面的信息、事件,并以直观的形式展现在客户面前;如果需要还可以进行

10、动态的调整。2.5 云平台统一管理易用云IAAS系统的统一管理平台,整合了IAAS系统运行中所需要关注和操作的各个功能。通过统一管理平台可以查看IAAS集群所有的运行时信息,还可以进行集群的管理(比如:创建、删除虚拟机,创建删除网络等)。监控是云计算数据中心的关键技术之一,云计算相关的所有异常信息均被监控与告警。从而确保数据中心的稳定运营。通过对云计算数据中心全面,实时,精细的监控,对集群发生的错误做到99.9%告警率。并主要从以下监控点出发,并提供简单的WEB控制台展示监控点状态, 并及时根据运营人员设置的告警阀值进行相应的告警:1) 数据中心物理硬件监控点2) 云计算服务的相关集群(IAA

11、S自身服务)监控点3) 云计算生产的VM稳定运行监控点2.6 云平台安全在整个IAAS系统中安全的重要是不言而喻的。IAAS位于整个云平台了最底层,可以说是PAAS、SAAS的根基。一旦IAAS层被攻击或者被侵入,轻则服务不畅重则影响整体系统的可服务性甚至导致整个云平台的崩溃。易用云安全的解决方案是从网络到物理机服务器再到虚拟机的完整解决方案。从整体上来说,云服务的安全要考虑三方面:安全管理体系,安全技术体系、安全运维体系。这三个体系是一个动态、循环的过程:安全管理体系需要周期性的进行管理评审和持续改进;安全技术体系需要在新技术和新威胁出现,信息系统基础设施变更时,进行动态更新;安全运维体系需

12、要周期性的通过安全服务将安全管理体系的管理目标通过安全技术、安全培训等措施进行有效的落地与实现。安全管理体系安全管理体系明确了组织高层安全策略和指导方针。管理体系中的管理要求通过安全运维体系有效落实到信息系统基础设施和安全技术体系当中,从而达到组织信息安全保障的整体目标。安全运维体系安全运维体系负责落实安全保障措施和制度,技术措施和管理制度要同时落实。安全技术体系安全技术体系是信息系统的技术保障,使得运维体系达成安全管理目标得以实现。第三章 Paas应用支撑云平台设计第三章3.1 总体规划3.1.1 系统设计目标构建稳定高效的SOA架构体系,逐步接入现存业务系统,未来开发的系统会基于SOA架构

13、体系开发和运行。3.1.2 系统设计原则3.1.2.1 主数据集中原则l 以数据源即归属系统集中 l 归属系统保证数据的准确性和一致性 l 主数据的修改由归属系统接管 3.1.2.2 以主数据集中原则拆分系统 l 主数据集中保证业务系统相对独立;l 独立的业务系统彼此解耦,以SOA和数据交换两种形式彼此互通;l 以数据交换平台做为系统间大数据量的交换的手段; 3.1.2.3 高可用原则l 避免单点故障;l 具备Failover能力;3.1.2.4 高扩展原则 l 充分利用IT基础设施;l 具备水平扩展能力;3.1.3 总体规划根据以上原则,我们建议应用支撑平台的总体架构如下图:3.1.4 支撑

14、平台支撑平台主要包括:1、 Service平台,可以认为是Service的运行容器,内置了对Service通讯协议、消息格式(文本或字节流)等的自动识别,支持服务注册、服务发现、服务实例的上下线、服务实例分组、服务路由、服务监控(SLA)等;2、 Daemon(Cronjob)管理调度平台,实现对Daemon(Cronjob)类型Service的统一管理和调度,包括配置管理、运行管理以及Failover等;3、 分布式流程平台,即SOA流程平台中Workflow Engine底层实现;4、 分布式消息平台,即统一管理分布部署的高可用消息中间件平台,内置实现JMS等主流协议;5、 分布式缓存平台

15、,建立分布式缓存,从数据访问、加载、分发、备份、分区、访问调度路由等全方位进行管理,实现缓存平台的高可用。3.1.5 应用支撑平台部署架构如图所示:1、 支撑平台的运行系统和管理系统分别部署在每个机房的运行网段和管理网段;2、 支撑平台的运行系统在A、B两机房同时提供服务,由跨机房的负载均衡集群根据业务规则进行路由,业务规则可以是简单Hash或者依据某些属性(如归属地或者业务划分等);3、 支撑平台的运行系统产生的运行数据在两个机房之间双向增量同步,同步方式分为:数据库、Zookeeper、分布式文件、LDAP等;4、 支撑平台的管理系统虽然部署在多个机房,但是只有一个机房的为主,其他为从,管

16、理数据的变更操作必须指向主,然后由主向从同步,同步方式分为:数据库、Zookeeper、LDAP等;5、 支撑平台的管理系统完成数据更新后,采用主动推送或者轮询的方式,在运行系统中加载生效。3.2 分布式服务框架(Eon-SF)随着互联网业务的快速发展,网站应用系统的规模不断扩大,常规的企业级垂直应用架构已无法应对,服务式的应用架构以及分布式服务框架势在必行,需要一个治理系统确保架构有条不紊的演进。当网站应用和服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高设施利用率的资源调度和治理中心(SOA)是关键

17、。易用云Eon-SF基于分布式技术的应用系统协作运行的架构,帮助众多业务应用系统架构实现高可用性(实现负载均衡和应用系统容灾),可以帮助交易平台实现高并发,业务快速扩展,整个架构基础环境可以随时进行在线的水平扩展。易用云分布式服务框架Eon-SF的核心设计思路,把具有相同的业务功能及冗余的代码逻辑提取出来,封装成服务,在服务中心以服务的方式供其他的应用一起使用。l 让应用层更加专注的去解决与浏览器交互的工作,而不必过多的关注业务逻辑的事情;l 业务数据的操作由服务层封装。业务功能之间访问不仅是单机内部访问,还有远程服务调用;l 把数据交互的工作封装成数据访问层,服务层不直接与数据库交互,由数据

18、访问层来提供数据的访问策略。帮助服务层完成数据的拆分以及整个数据的管理、扩容、迁移等工作;基于服务式应用架构基础上,引入服务注册中心,用于保存服务列表,实现自动化服务体系框架。在分布式服务架构中,应用层和服务层可根据需求进行动态水平扩展,应用与服务实现负载均衡,通过随机、轮询、权重等策略,利用开放式、标准化的框架,满足接口调用的服务都可以接入服务框架(RPC)。同时,监控服务调用情况,可进一步对服务层再分层,根据业务需求和对服务运行情况对服务进行编排和梳理,以及服务治理、调整服务的依赖关系、调整服务权重等。服务分层后可对服务进行监控、统计、评估、测试,维护服务登记文档,设置服务权限,服务分组等

19、。此架构非常适用于中大型及超大型网站电子商务系统应用架构。业务研发人员通过服务总线注册/订阅服务;在业务系统启动的时候,通过服务中线配置中心获得已经订阅的服务信息;然后直接通过直连的方式调用其它服务。分布式服务框架(服务总线)的特点:l 无代码侵入的透明化服务发布与调用,快速应用级服务的解耦;l 无需修改业务代码就支持多协议发布;l 高性能的RPC调用;l 服务的自动注册和发现,解决服务调用的单点问题;l 高可用策略,服务能力的水平扩展,方便的服务;l 服务的软负载均衡,不再需要F5等负载均衡硬件;l 运维管理统一RPC调用框架,技术对齐,系统SOA化,满足业务的快速变化需求;l 开发人员提升

20、开发效率、保证服务质量;3.2.1 服务订阅管理提供应用下服务相互依赖关系的管理,维护和审核l 订阅申请,添加应用实现时需要依赖的服务信息(应用名称,服务名称,版本号),订阅关系自动接入到系统中统一管理维护;l 订阅审核,审核应用服务下订阅者的调用请求,并为消费方设定消费服务的分组软集群,可以根据调用方的系统等级来指定订阅者具体所调用的是那组服务集群;l 订阅管理,调用方的应用服务实例启动时,服务实例的机器IP,端口等信息会自动注册到系统中并生成订阅者的机器列表;3.2.2 服务分组管理通过在服务下设置分组信息,可以把服务切割为多个以分组命名的集群。l 分组注册,添加分组,分组信息会自动接入系

21、统进行统一的管理;l 分组集群设置,添加分组后,设置分组下的实例列表,可以动态的添加服务的实例且不影响分组集群的使用,服务订阅方完全无感知;分组管理,可以时时的查看分组下的实例信息,实例状态,动态的添加,删除,停用分组下的实例3.2.3 支持高并发,高性能高并发支持,采用NIO的通讯模型,在高并发情况下能更好的节约CPU资源,把更多CPU资源使用在业务处理和计算上而不是在做线程切换,能够很好的提高吞吐量和高并发情况下的系统性能高性能支持,采用TCP长连接的方式,节约在跨进程远程调用中建立连接时的资源浪费,采用高效的序列化与反序列化工具,提高序列化性能。3.2.4 简单的应用集成服务发布,原有应

22、用程序接入到系统时不需要修改原系统源代码,只需要采用Spring配置的方式定义发布实例即可。服务订阅,服务订阅无需更改代码,只需要采用Spring配置生成服务的代理对象即可。3.2.5 服务总线横向扩展服务总线的配置中心可以根据业务压力横向扩展配置中心集群。3.2.6 应用管理提供应用注册和管理的功能l 注册应用,新建应用时应用自动接入到服务总线系统中进行统一的管理;l 应用审核,新的应用需要通过应用审核后才可有效的使用和发布应用下的服务;l 服务管理,应用可以添加和维护应用下的服务;3.2.7 服务发布管理提供服务的注册和管理的功能:l 服务注册,新建服务时服务自动接入到服务总线系统中进行统

23、一管理;l 版本管理,服务接入系统时可以设置服务的版本号,用来支持服务的平滑升级,服务的消费方消费服务时不同的版本的服务直接调用是相互隔离和互补影响的,能够很好的支持服务的版本升级;3.2.8 服务实例管理提供服务实例的注册和管理的功能:l 自动注册,应用下的服务在部署和发布时,当部署在服务器上的实例成功启动后,该实例的机器IP,监听的端口和发布服务的版本等信息会自动注册到系统中做统一的管理和维护;l 实例管理,在服务实例管理模块中提供了服务实例的动态上下线的功能,可以随时动态的上线下线实例,也可以禁用和启用服务实例;3.2.9 服务状态管理服务状态管理,主要是对服务下发布的实例进行管理并分为

24、运行状态和运维状态:l 运行状态,服务总线可以时时的对服务下每个实例的运行状态进行检测并把运行状态分为上线,警告,下线,死亡等四个状态并可以动态的上线和下线服务实例和删除死亡的实例;l 运维状态,运维状态包含可用和禁用两个状态并可以时时的设置服务状态,可用状态表示服务实例可以正常使用,禁用状态表示服务实例处于拒绝提供服务状态;3.2.10 在线更新/升级服务支持l 服务业务升级,服务接口的方法名称,参数,返回值无变化只是方法处理逻辑变化,调用方无需做任何更改。当服务接口只是添加新的方法逻辑时,如果订阅方不使用新的方法,无需做任何更改,如果调用方需要使用新的方法逻辑只需要升级服务的接口包,重启实

25、例即可;l 服务版本升级,如果服务改的很多,并发布新版本时,只需要指定服务的版本号,原有服务的订阅方,无需同时更新系统,可以通过服务版本进行平滑过度;l 支持升级部分服务,在测试通过后再全部升级所有服务;3.2.11 服务监控管理服务监控管理主要是用来监控服务下实例的运行情况,服务下分组集群的使用情况:l 实例监控,时时监控实例的状态,系统本身可以自动刷新有问题的实例,实例状态包含上线,警告,下线,死亡等状态。可以手动的上下线服务实例;l 分组监控,服务定订阅者实质上是消费的不同的分组集群,分组监控,可以时时的查看订阅这消费服务的实例信息;3.2.12 应用开发要求l 服务总线系统提供开发SD

26、K支持应用开发;开发人员根据服务总线配置规范开发服务;l 应用开发者需要在应用管理系统中注册所需开发的应用,以及需要发布和订购的服务;l 支持对java的企业开发;3.2.13 性能指标在支撑1000 - 2000 个应用实例(Web应用+服务实例),服务总线配置如下:功能模块机器类型机器配置需求数量(台)ZooKeeper配置服务器物理机CPU:16Core内存:32G硬盘:500G网卡: 万兆3HA服务器物理机CPU:16Core内存:32G硬盘:500G网卡: 万兆2配置数据库物理机CPU:16Core内存:32G硬盘:500G网卡: 万兆2管理WEB虚拟机CPU:cCore内存:6G硬

27、盘:100G网卡: 万兆12通过服务总线调用服务和直连服务实例调用实例,性能损失不能大于千分之一。3.2.14 可用性约束无故障运行时间功能模块可用性级别描述年度停机时间数据库集群99.994%高可用31分钟Zookeeper集群99.996%高可用21分种应用服务模块99.996%高可用21分种灾备恢复时间功能模块需要时间描述数据库集群5秒VIP切换,后续需要同步数据Zookeepe集群2秒自动主备切换,后续只需要重启应用服务模块0.3秒应用服务为多实例运行可以自动摘除掉故障服务后续需要重启有问题服务但不影响使用3.3 分布式缓存(Eon-IM)互联网业务应用系统中发生大量并发业务的查询,会

28、造成后台查询IO的压力,造成响应不及时。此时,需要缓存技术,把业务的热点数据缓存在高速的存储容器中,供前段查询分析使用。分布式缓存技术采用“Pre-Sharding”技术,将缓存数据分摊到多个分片(每个分片上具有相同的构成,例如:都是一主一从两个节点)上,从而可以创建出大容量的缓存。利用缓存服务器提供的“数据复制”机制,在主节点和从节点间进行数据同步;当主节点失效时,自动切换主从,由从节点接管,从而实现数据的高可用性。若一个主节点上有多个从节点,则主节点将把数据同步到所有从节点上去。整体架构基于J2EE框架实现,可安装运行于各种主流平台。可进行分布式部署,支持负载均衡和单点失效处理,可动态水平

29、扩展缓存集群。功能特点:l 海量缓存服务: 采用分片技术,创建出大容量的缓存;l 数据复制服务:对缓存实例(inst1, inst2, inst3)进行数据复制,保证数据安全,复制延迟同机房内在毫秒级;l 管理和监控平台:提供统一的管理平台(Admin mgr),通过Monitoring data pipeline收集缓存服务信息并提供报警;l 自动故障切换:通过故障检测(failover detector)发现节点宕机,并通过故障切换服务(failover controller)进行自动主从切换,保证系统的高可用性;l 无缝数据迁移服务和扩容:通过无缝数据迁移(Scale Mgr + Pro

30、xy)实现无缝扩容,无缝数据迁移,无缝版本升级;l Redis协议兼容,数据无损的平滑扩容,模块划分清晰,模块间耦合度小,易于扩展和集成;l 基于Acegi框架和AOP思想的安全管理,支持插拔式的认证扩展。支持多种认证方式:表单认证、X.509认证、JAAS、单点登陆等;l 通过配置中心实现配置的统一管理,支持运行期系统配置的动态修改,无需重启服务;l 通过监控平台可对缓存系统进行全方位的运行情况分析和统计,可实时掌握运行系统的状态;l 支持灵活的报警规则,用户可自定义规则,保证用户及时了解到系统的异常信息,邮件和短信告警服务;l 支持自动化部署,通过部署平台可远程控制缓存服务;l 支持多维度

31、的报表展示;3.3.1 数据缓存为了缓解数据库服务器负载、提高应用服务响应速度、减少客户访问等待,在PaaS平台为上层应用提供统一的缓存服务,便于规范应用开发、统一管理、有效利用缓存服务器资源。缓存服务简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。l 应用层客户端程序引用Eon-IM的Jar包,首先访问ZooKeeper集群,拿到哨兵地址列表;l 客户端程序通过返回的哨兵地址访问哨兵节点,访问的过程中传递要查询的key的值;l 哨兵通过key的值,能算出来存储key的实例,把切片实例的地址(主)发给客户端;l 客户端通过切片实例的地址访问切片集群,并返回结果;l 主切

32、片宕机时,哨兵会发现,并把该实例从切片的角色切换为主切片,原主切片修复后,哨兵自动把它置为从切片角色;3.3.2 缓存数据管理缓存集群对所有的数据都有冗余的备份,根据系统应用申请配置,实现了数据的读写分离,减轻数据写分片的压力,并且当写分片宕机,我们已有的数据依然可以提供查询服务。3.3.3 执行应用缓存节点变更为了应对缓存的高可用性,我们采用对缓存节点的时时监听来判断是否需要对缓存节点进行变更,一旦发现缓存的写节点出现问题,由PaaS平台集成的高可用方案对缓存系统的主从节点进行变更,保证数据完整的同时,能够保证系统的正常使用。l 当主切片实例出现故障时,哨兵会实时的检测到主节点不能再使用;l

33、 哨兵会切换从切片实例的角色为主切片实例,继续提供该切片的缓存服务;l 原主切片恢复后,哨兵会把原主切片实例的角色置为从切片角色;l 如果原切片实例因硬件设备的故障无法修复时,需要增加新的切片节点为现主切片提供从节点的数据备份服务;3.3.4 分布式架构的支持当一个物理机/虚拟机的存储容量不能满足一个应用的需求时,可以通过在多个物理机/虚拟机上集成多个缓存片共同支撑应用缓存的需求。当其中部分分片出现系统问题(网络,硬盘等问题),整个缓存系统不会完全拒绝提供服务;系统可以通过启用备份分片来恢复服务能力。运维功能:l 使用Eon-IM的JAR包,把持久层的数据导入到缓存集群切片中;l 持久层中的某

34、一个业务数据需要跨越多个切片实例时,需要根据算法对Key进行分区,例如:通过mod取余等算法,由框架JAR包提供导入功能和算法,对数据进行跨切片存储;l 更新持久层数据后,需要马上更新缓存集群切片中的数据;l 数据导入或者更新主切片实例后,由切片主实例来负责向从切片同步数据,主从的对应数量可以在管理平台中定义(一主一从、一主多从);3.3.5 缓存资源管理(物理机)缓存资源分为:缓存存储资源,缓存调度资源。由PaaS管理系统负责界面集成。其主要为对资源的分类管理和资源的利用率管理。通对物理机的内存、CPU、主频等硬件指标的查询和统一分配,此功能可以明确缓存资源是否够用,是否需要增加资源等等合理

35、的宏观建议。3.3.6 应用申请缓存资源管理申请的资源管理主要为应用对资源的使用情况进行管理,对一个企业中使用缓存的应用有一个统一的、明确的资源管理。当一个应用需要接入缓存服务时,必须先要进行缓存资源的申请,由专门的负责人进行审批、分配之后才可以使用,这样形成了申请缓存的集中管理。l 管理员在管理平台上,定义和配置缓存切片信息(一个切片就是一个实例);l 配置哨兵信息(多少个哨兵站岗节点,节点的配置信息);l 在哨兵配置里面,加入缓存切片的节点的配置信息、主从关系信息;l 在zookeeper的目录列表里面定义哨兵的节点地址;3.3.7 缓存节点管理缓存节点的新增、删除、查询,在新增和删除节点

36、的时候,PaaS平台能够根据用户申请的配置信息,由系统自动完成新增部署,不需要人工装载和卸载。应用提交申请缓存资源之后,运营人员通过在PaaS管理系统进行缓存资源的分配和新增缓存节点,将新增的缓存节点配置到相应的缓存配置中心,由此配置中心给应用提供真实的缓存节点信息。当一应用需要增加节点时,只需要在缓存配置中心配置增加节点即可,缓存客户端自动监听配置中心的节点变化、并且自动调整节点变化,使新增的节点融入到缓存集群中。3.3.8 获取缓存节点当前运行信息我们的PaaS平台集成时查询缓存节点当前的运行状况,由PaaS管理系统负责界面集成。3.3.9 获取缓存节点监控信息对每一个缓存节点,一旦建立节

37、点之后,我们PaaS平台集成的监控中心,会对每一个节点进行监控,包括对节点内存使用率、命中缓存率、节点IO情况进行监控,供使用者查看。3.3.10 采集性能数据对缓存的QPS、内存使用状况等一些能够反映系统运行情况的性能指标数据进行时时的获取,将获取到的数据信息集中统一的进行分析和整理,将结果展示给用户。3.3.11 应用开发要求l 缓存服务系统提供开发SDK支持应用开发;开发人员根据消息服务开发规范进行开发工作;l 应用开发者需要在应用管理系统中注册所需开发的应用,并且在缓存服务系统中申请所需要的资源(创建队列,或者消费资源);3.3.12 性能指标对于总体需要600G缓存,单个缓存服务器连

38、接数在5000,QPS 小于3毫秒的PAAS平台,建议配置如下:功能模块机器类型机器配置需求数量(台)数据库(保存配置数据)物理机CPU:16Core内存:32G硬盘:500G网卡: 万兆2管理WEB虚拟机CPU: 4Core内存:6G硬盘:100G网卡: 万兆6缓存服务器物理机CPU:16Core内存:128G硬盘:500G网卡: 万兆4以上是一个基本配置,再需要更多缓存的情况下,可以增加更多的缓存服务器,而管理WEB和数据库不需要增加。3.3.13 可用性约束无故障性能指标描述通俗叫法可用性级别年度停机时间Redis集群具有故障自动恢复能力的可用性4个999.99%53分钟Zookeepe

39、r集群可用性4个999.99%53分钟Redis灾备恢复4个999.99%53分钟维护:Redis和Zookeeper需要人工参与部分维护。例如:产生的日志文件的清理。3.4 分布式消息(Eon-MQ)在互联网业务中,应用拆分后,应用紧耦合变为松耦合,消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。通过对第三方消息中间件产品完成应用模块和业务模块发送消息,查询消息和监听消息的功能。利用消息中间件实现最终数据一致性,异步通讯、操作的异步,在有些场景中,甚至会利用消息系统确保分布

40、式数据库的弱事务性(事务最终一致性,补偿机制)。3.4.1 发送消息提供消息发送的客户端驱动程序。客户端发送消息时只需要引用客户端驱动包,通过实现发送消息的方法定制发送消息的内容即可完成发送消息,支持与Spring的集成。3.4.2 查询消息在系统中提供对消息信息的查询功能,能够查询到生产者所发送的消息信息,出队入队的消息数量,死信数等信息。3.4.3 监听消息提供消息监听的客户端驱动程序。客户端消费消息时只需要引用客户端驱动包,通过实现消息监听方法就可以获取到消息信息,支持与Spring的集成。3.4.4 高可用支持消息服务中每一个Broker实例都是可以采用Master-Slave的方式来

41、进行部署,当一个当前提供服务的Master出现问题是,系统会自动的启用一台Slave来代替Master的位置继续提供服务。3.4.5 消息持久化l 采用MYSQL数据库持久化消息的策略,对消息进行持久化,并定期的归档或者删除过期的消息。从而保证持久化数据库的稳定性和高性能;l 持久化所使用的数据库采用HA的方式进行部署,保证了持久化数据库的稳定性;l 通过分布式数据库,避免单数据库存储数据压力过大。并且通过多机器io负载,提高持久化性能;3.4.6 高性能l 消息服务在处理消息推送过程中,几乎所有操作都是在内存中进行的,执行处理的性能非常优秀;l 客户端连接消息服务是是采用连接池的方式来保持T

42、CP长连接,能更好的节省掉每次连接所消耗的资源;l 在单队列服务性能下降的情况下,消息服务器内部可以同时创建多个队列,对外提供服务;3.4.7 分布式架构l MQ服务是采用Broker Cluster 的模式进行部署的,每个Broker节点会有多个负载节点,提高MQ服务的处理能力;l 每个Broker节点都是一组通过Master-Slave的方式进行部署的多机器的集合体,提高了MQ的高可用性;3.4.8 读写分离和分组管理l 读写分离,消息生产和消息消费使用的是完全不同的Broker实例,可以根据读写的压力动态的扩展消费者Broker实例和生产者Broker 实例;l 分组管理,可以把消费者B

43、roker实例集群进行分组隔离,当一个分组出现问题,不会影响其他分组的工作。也可以根据分组压力动态的扩展分组集群的实例数;3.4.9 消息资源的分配管理(机器)提供使用MQ时需要申请部署MQ的机器的注册到和管理的功能:l 机器信息管理,主要是用来管理机器的IP,Broke信息,端口信息;l 集群关系管理,主要是用来管理MQ服务的Master-Slave,Broker Cluster ,分组等信息;3.4.10 队列/主题管理提供队列和主题的管理,监控,维护的功能:l 队列/主题的管理,添加队列,并设置具体运行的配置参数;l 队列/主题的监控,可以时时查看出队入队的消息数,死信数,内存使用情况,

44、消费者/生产者的连接数等信息;3.4.11 应用开发要求l 消息服务系统提供开发SDK支持应用开发;开发人员根据消息服务开发规范进行开发工作;l 应用开发者需要在应用管理系统中注册所需开发的应用,并且在消息服务系统中申请所需要的资源(创建队列,或者消费资源);3.4.12 性能指标在配置10个队列,每个队列每秒处理4000个消息的情况下,需要如下配置:功能模块机器类型机器配置需求数量(台)数据库物理机CPU:16Core内存:32G硬盘:500G网卡: 万兆3管理WEB虚拟机CPU:cCore内存:6G硬盘:100G网卡: 万兆6MQ队列服务物理机CPU:16Core内存:32G硬盘:500G

45、网卡: 万兆4其中会和服务总线共享一个ZooKeeper集群。消息中间件单队列传递消息所消耗的时间应该控制在毫秒以内。3.4.13 可用性约束无故障运行时间功能模块可用性级别描述年度停机时间数据库集群99.994%高可用31分钟消息服务99.996%高可用21分种灾备恢复时间功能模块需要时间描述数据库集群5秒VIP切换,后续需要同步数据消息服务0.4秒自动切换,备份机器是挂起状态,恢复到使用状态需要400毫秒作用的延迟3.5 自动化部署(Eon-AD)随着园区企业业务应用信息化系统的不断增多,现有的手工部署流程已经越来越不能满足上线的需求,现有系统的部署架构也存在各种问题。为了方便园区企业业务

46、应用系统上线,减少上线过程中出现的人为出错,构建一个自动化的部署平台是各个研发系统的迫切需要。同时,自动化部署平台也是衡量一个公司互联网业务的技术水平的重要指标。易用云Eon-AD自动化部署系统是帮助研发运维上线部署的自动化系统,支持批量发布,回滚,重启应用,支持多种应用语言及操作系统环境。易用云Eon-AD自动化部署系统规范了应用系统部署流程,简化上线流程的复杂程度,减少人工失误,提高上线效率,大幅降低企业IT应用运维成本,使一名技术人员可以支持大规模的服务器环境及应用发布。Eon-AD自动化部署的特性:1) 实现上线流程化、规范化、自主化,提高上线效率,大大缩短应用上线的等待时间;2) 对

47、资源统一管理,维护了完备的主机、应用等配置信息。将运维从重复繁重的上线工作中解脱出来,转而重点关注服务器的配置管理与监控3) 可重复、可回滚的自动化部署,降低人工操作的出错可能。支持切流量上线,提高应用发布时的可用性,不中断服务,避免丢失数据,对用户的影响降到最低;4) 提供丰富的报表、审计功能,为决策提供依据;5) 使用基于角色的安全控制,规范部署流程,责任划分明确;6) 支持线上服务器免登陆远程文件查看,提高排查线上问题的效率;易用云自动部署平台Eon-AD规范了线上部署流程,责任划分明确。能够帮助园区企业业务应用系统开发快速、高效的上线,并降低人工操作的出错可能还将运维从重复繁重的上线工

48、作中解脱出来,把重点转移到关注服务器的配置管理与控制等工作,应用上线类型分为第一次接入上线、已有应用扩展、已有应用收缩、准生产环境接入、应用下线、应用版本回滚。优势及特性在系统运行过程中,无论开发还是运维人员均提高效率,开发人员不需要在进行项目上线中占用大量时间;运维人员不用重复繁重的上线工作。应用接入方便快捷,多角色管理安全保证安装方便,系统在初装时,默认安装客户端、Nginx、Rsync基础应用;上线初,在部署系统中申请接入并经过运维审核后,即可按照系统要求进行上线、回滚、重启、等任务。除此之外,自动部署系统采用多角色管理模式,对登录用户进行严格权限限制,最大程度保证了应用间隔,角色间隔,

49、保障了数据的安全。跨平台,多开发语言应用易用云自动部署系统Eon-AD对复杂的线上运行环境,完全兼容了各种操作系统和各种开发语言,无论应用运行在Windows系统还是Linux系统,无的是JAVA开发还是PHP,C+,只要接入自动部署系统,均可使用部署系统快捷、高效的部署线上应用。总之,易用云自动部署系统Eon-AD提供的高效线上部署功能及衍生的文件浏览、日志查看、及诸多的在线问题排查工具都是很实用的功能,大量的解放了开发人员及运维的上线繁重的工作。3.5.1 Dashboard(图形化展示)图形化展示应用系统运行环境的现状以及与其他应用的依赖关系、状态,可快速的查看应用信息,快速的创建上线、

50、下线、扩容、收缩、重启、回滚任务,也可称为自动部署的快速通道。3.5.2 任务管理l 未完成任务,运维人员可在未完成的任务中查看上线人员提交的应用任务、认领任务进行发布操作;l 任务排队情况,可以通过任务排队情况查看任务的的领取信息;l 编译发包记录,编译经过审批推送到部署的包均可在此进行查看、创建发布任务(一般情况填写的域名与部署系统中应用的路径域名一致,部署系统会自动创建包,可在我的上线任务中显示);l 我的上线任务,开发人员可在此查看所属应用的上线的任务列表;通过TFS审核的应用,上线人员可在此对应用进行认领并进行发布(上线人员可在应用的参数配置中进行设置)。运维人员可在此查看自己认领或

51、自己创建的上线任务,并可进行发布;注:上线任务的详细信息在操作详细信息中进行介绍。l 已完成的任务,在此查看完成发布的应用的详细信息、操作记录。3.5.3 配置管理l 运维配置表,运维人员可在此添加线上的配置信息,以用于其它应用对配置的引用,可灵活实现线上信息的修改,从而降低配置修改成本;l 服务器维护,在此可查看服务器的详细信息、服务器的连通性、服务器部署情况、Nagios监控以及对服务器启停Nginx、安装基础英语、基础软件;运维人员还可以对服务器调整主机类型为预发布类型、正式类型、准生产环境类型(用于预发、准生产环境类型的发布专用机器)注:预发布、准生产环境是与正式环境一致但独立的环境,

52、不能与正式环境共享服务器;l 上线运维团队,开发人员、运维人员可在此可查看各个职能部门对应的运维人员;运维Leader可在此修改职能部门对应的运维人员;l 部门项目结构,运维人员可在此添加、修改部门及项目组及项目负责人信息;l 我的应用列表,可在此查看、修改所属应用的详细信息,包含配置信息、实例信息、脚本、版本、以及子应用等;3.5.4 应用接入申请开发人员可在此接入部署、对已存在的服务器进行扩容、或对已存在的应用进行下线或缩容申请。运维人员也可进行申请以及对开发人员的申请进行审核操作。l 第一次接入上线,应用在自动部署服务器中不存在,第一次接入时使用;l 已有应用扩展,应用在自动部署服务器中

53、存在,因项目需求需横向扩展时使用;l 已有应用收缩,应用中实例不再使用,需要缩小应用实例的规模及所使用路径时使用;l 应用下线,应用不再使用,进行下线申请时使用;l 应用版本回滚,应用版本升级后,需要回滚到之前的版本时使用;3.5.5 报表中心l 应用发布时长,在此可对部门、项目组的发布时长按周、月、季、年进行统计和导出;l 应用部署报表,在此可按条件对发布、回滚、上线次数进行统计;l 应用接入报表,在此可查看按照接入的条件进行数据统计;l 部署业务增长量,在此可查看部署业务增长的变化趋势;3.5.6 技术指标技术指标项要求开发语言先进体系结构JAVA语言、Linux Shell语言、go语言

54、,提供多平台开发接口运行环境跨平台Windows、Unix、Linux体系结构Web浏览器/应用服务器(B/S)和客户端/服务器(C/S)的混合架构自动部署系统的管理界面是基于B/S架构,客户端是基于C/S架构;管理界面发布操作指令给客户端,客户端对目标服务器进行业务处理,处理数据再次传回管理界面进行统计、分析及展示。系统架构客户端自动部署团队自主研发客户端,采用go语言开发,占用资源少,高效,稳定,可移植性好。服务端服务端基于成熟的J2EE技术,提供统一的控制管理,包括统一发布控制, 统一主机列表管理,统一文件浏览,统一日志查看;提供诸多在线问题排查工具,包括ping,telnet,域名检查,网络连通性检查等等。3.6 分布式数据库(Eon-DB)Eon-DB分布式数据库产品把数据交互的工作封装成 数据访问层,服务层不直接与数据库交互,由数据访问层来提供数据的访问策略。帮助服务层完成数据的拆分以及整个数据的管理、扩容、迁移等工作。数据访问层帮助数据完成拆分,并对数据进行管理、扩容、迁移等工作。通过访问层让应用可以路由到已被分库分表的数据库主从节点上;分布式数据库场景需要关系型数据库产品和Proxy数据访问层产品来进行搭建。Eon-DB通过切片对集中式数据库进行分库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论