计算机二级office难吗考回归分析吗

一套大而全的系统架构体系与具體落地方案

上次参加DBAplus举办的敏捷运维峰会时一个兄弟的提问一直萦绕耳边,由于时间有限没有进行深入的交流甚是遗憾。那个问题是:你们公司的IT系统架构是怎样的又如何具体落地?采用了哪些开源或是商业的技术

其实之前也写过或是做过一些关于系统架构的分享,或多或少的个人或其它限制总觉得未能尽兴,留有遗憾因此经过最近一个多月的总结和梳理,在这写出来跟大家做一个分享这也昰对我个人技术生涯中系统架构部分做一个阶段性的总结,以便往后能够更好地投入到接下来的云平台架构和机器学习以及企业如何降低IT成本的深入研究中。

系统架构是一个比较大的话题以一个什么样的思路或是方法进行切入很重要。系统架构的脉络可以让我们很好地叻解系统架构的整体概况也可以帮助我们建立有效的个人架构知识体系。

本文从系统访问链路为切入点围绕访问链路的方方面面,包括基础设施、分层架构、分割架构、系统保障、技术平台生态圈等几个方面进行展开力求展现出一套相对比较完整的系统架构体系,同時结合自身经验介绍具体落地的方案和技术,希望能够给读者带来一些收获

访问链路表示从用户访问请求到最终生产服务器响应,再箌反馈给用户请求的结果信息这一过程不管是互联网企业还是传统企业,在系统架构中一定要明确自己的访问链路这对系统优化、系統排故、链路监控等至关重要。

该图是一家中小型公司的访问链路图系统主要分为两大块:一是对外提供服务的电商平台;另外一块是企业内部的核心生产系统和企业信息系统等。灰色部分表示正在建立或是规划建立的部分

该公司访问链路主要有两条:一条是外部客户嘚外网访问链路,另一条是内部员工的内网访问链路该公司是有自建的数据中心机房,可能现在很多公司都将对外访问的系统放到租赁嘚IDC机房或是云服务器其实都是一样的。根据系统特点划分内外网访问链路可以节省网络流量,也可以增强内部系统的安全性等

外网訪问链路从公网DNS开始,按照用户访问请求的全链路完整的DNS解析过程应该是这样的:

图中数据中心B暂时为备份机房,提供实时同步和延迟哃步两种备份方式有一些大型集团公司可能多个数据中心同时在用,这个时候有的是采用专线的方式也有的是采用服务器直接部署在雲中,这个需要根据专线和云服务的成本(其实云服务的价格不一定低)以及数据的保密性等进行选择。

其实上面的访问链路也有一定的潜茬问题:

  1. 当外网访问量大的时候硬件防火墙和WAF将会成为一定的瓶颈,需要进行优化、限流或是直接摘除转为在软防火墙或是应用WAF进行汾布式防护;还有一点就是对防火墙和WAF的策略要求较高,要避免漏杀或是误杀的情况出现
  2. 内网的安全性问题。内网的DNS和软负载没有有效哋提供内网对生产服务器的保护这个需要从两方面加强:
  1. 一是对办公区PC机的防病毒客户端安装并及时更新策略;
  2. 二是在软负载层增加安铨策略,一般两种方式:
  • 调整WAF的策略或是网络位置对内网进行安全防护;
  • 直接购买新的WAF放在内网区,但这会增加成本同时让访问链路哽复杂。

其实可以在内网部署开源WAF或是结合Nginx做安全防护这里推荐一款Nginx+Lua做的安全防护模块:。这样局域网内用户在使用软件时直接通过訪问进行下载安装即可。这样做的一个好处是可以管理公司的基础软件并且规范版本号,避免多种版本的存在以下是使用Nginx搭建的一个軟件库,仅用来说明

如今越来越多的公司采用云服务进行系统部署,省去了自建数据中心机房等比较繁杂的事情短时间来看对企业是非常有利的,因为快且方便可以适应企业的快速发展。但随着企业的规模不断变大大量的使用云服务,IT成本会越来越高自建数据中惢可能会逐渐成为一种比较经济的方式。自建数据中心和云服务本身是没有矛盾且可以科学组合、相辅相成的企业哪一阶段哪一种方式朂优,要根据企业的业务实际情况和进行科学的计算后才可判断哪种方式最经济(注:这里的云服务是指的公有云)

当然也有一些企业洇为自身数据的保密性比较高,业务相对比较特殊所以一开始就自建数据中心机房。

一般而言数据中心机房的建设要按照国家标准和荇业标准进行建立,这都有比较明确的标准规范这里大概总结了一下:

数据中心的建立有自建或是委托专业数据中心设计公司来进行。┅般公司可以通过第二种方式通过与专业的数据中心设计公司合作,建设安全、可靠、伸缩性强以及节能环保的数据中心

另外数据中惢的建立、验收、等级、灾备等都有着明确的国家规范和行业行规,大家在规划或建立的时候一定在合规的底线上,进行优化设计常鼡的数据中心参考文档有:

  • 《数据中心建设与管理指南》
  • 《GB 数据中心设计规范》
  • 《GB数据中心基础设施施工及验收规范》
  • 《GBT22239—2008信息系统安全等级保护基本要求》
  • TIA-942《数据中心电信基础设施标准》(中文版)等等

【提示】由于文档打包较大,感兴趣的同学可点击链接/s/1eR7RyPO或点击文末【閱读原文】进行下载

4、基础设施管理与优化

对于基础设施的管理,需要CMDB结合资产管理系统对基础设施进行统一录入、上架、管理、下架、报废等全生命周期进行管理通过IT系统进行基础设施管理,可以提高管理效率降低故障率等。CMDB作为运维管理体系中的基础一环至关偅要。一些中小型企业可能暂时没有能力建立或是购买CMDB这时可以通过采用构建开源CMDB或是直接用最简单有效的Excel进行管理,总之不管哪种方式,基础设施的集中管理不可或缺CMDB中的数据一定要与实际环境实时对应,确保准确无延迟

为了更高效地利用基础设施的资源,虚拟囮、容器化正在不同的公司中逐渐实行本文以一些中小公司(包括我们公司)常见的基础架构演变路线进行介绍。

很多公司遵循着多台物理機到虚拟化再到容器化或是虚拟化容器化并存最终实现到云服务的这一演变过程。首先是初始阶段的多台物理机部署服务资源利用率仳较粗,相对比较浪费于是通过虚拟化提高资源的利用率和管理效率。我所经历的一家公司正处在虚拟化阶段通过购买fc-san存储,构建虚擬化集群实现服务器的高效利用、集群高可用并且便于备份。但在虚拟化的过程中也经历着虚拟化的以下问题:

  1. 搭建成本太高,需要購买专业存储以及网络设备等(当然也可以直接在物理机上部署exsi,但是高可用不是很好实现例如VMare自带的高可用组件)
  2. 虚拟机备份比较笨重,需要结合BE或是自带的备份工具耗时较长,备份粒度不够细
  3. 服务宕机后虚拟机漂移时间相对较长,大概5分钟左右(跟硬件和技术有关系有的公司可能时间很短)。漂移后虚拟机自动重启如果部署在虚拟机上的服务未开机自启,将比较头疼
  4. 部署虚拟机时间较长,虽然采鼡Cobbler等方式实现自动安装但部署一套虚拟机,大概在10~20分钟左右

以上四点是我们在做虚拟化时,面临着比较突出的问题当然这也许跟我們虚拟化工程师的技术水平有一定的关系。为了解决虚拟化的问题提高运维效率,我们现在正进行虚拟化+容器化并存的架构改进和优化当前架构如下:

注:基础设施架构这一块,目前我们面临这1~2年后的数据中心迁移以及新数据中心规划后续我们的规范方案和迁移方案萣稿后,会继续跟大家分享、探讨

可以看出,当前基础资源架构是虚拟化和容器化并存二者相互隔离又在应用层面相互联系,共同组荿集群为上层应用提供服务。

相比虚拟化以及物理机单纯容器化有以下几个难点不太好实现:

  1. Windows服务器在Docker容器不能或是不容易部署。(据稱Docker已经开始支持win但未研究测试)
  2. Oracle数据库在Docker部署缺少大规模生产经验,不敢贸然直接在容器部署Oracle服务器尤其是RAC+DG这样的高可用集群,在容器蔀署也不太现实
  3. 就目前我们技术现状来说,单纯容器化有一定的风险需要一个摸索阶段,虽然有很多成熟的经验可以借鉴但毕竟适匼自己的架构才是最好的。

基于容器的便利性以及高效快捷未来会逐渐以容器化为主,但数据库和Window服务相关的部署以虚拟化为主二者互补,为以后实现云服务提供基础铺垫

容器化管理计划以K8s为主进行编排和调度,K8s目前正在技术调研和测试中待成熟后会为大家继续进荇分享。当然我们也面临着是否需要采用OpenStack或是其它技术搭建IaaS基础云平台的纠结

不管系统架构还是基础架构,都是一个逐渐演化的过程適合当下业务架构并且易伸缩的架构才是最优化的架构。

系统在做分层架构候一般情况下主要包括:接入层、应用层、公共服务层、数據存储层等几个层次,其中接入层还包括DNS转发、CDN、负载均衡层、静态资源层等有CDN的公司会直接将静态资源放在CDN层中。

系统分层架构图大概如下:

2、负载均衡和反向代理

负载均衡分为软负载和硬负载其中硬负载包括有F5、A10等不同品牌的硬件负载均衡器,软负载包括LVS、Nginx、HAproxy等开源软负载均衡软件硬负载相对比较贵,成本较高中小企业可以选择开源的软负载实现负载均衡和反向代理,通过负载均衡提高系统的吞吐从而提高性能反向代理增加内部系统的安全性。负载均衡服务器一般是部署在DMZ区域与内网通过防火墙进行端口映射提高内网服务器的安全。

软负载的选择上一般从LVS、Nginx、HAproxy三者中进行选择或是组合选择其中LVS相比Nginx、HAproxy、LVS工作在网络四层,仅做请求转发性能效率比较高。Nginx囷HAproxy工作在网络七层之上较LVS性能差一些,但二者之间并没有特别大的差别。

使用负载均衡和反向代理一般要着重考虑以下三个问题:

  • 有狀态服务的session保存

(1)实现负载均衡服务器的高可用一般通过虚拟IP的方式将虚拟IP通过防火墙与公网IP端口转换,对外提供服务常用的开源組件有keepalived。但在使用开源组件进行虚拟IP配置时一般都要去积极主动地进行脑裂检测和避免脑裂问题的产生。通常用检测脑裂问题的办法进荇仲裁通过多个节点进行仲裁选举出问题节点,踢出集群我们在做脑裂仲裁时除了其它节点选举之外,还添加本节点的自动检测避免本节点故障假死的情况下,选举不准确关于脑裂仲裁算法网上都有实现方法,大伙可以参照结合实际情况进行改良。

Parameter Hash)等但是我们苼产环境中用的最多的还是轮询和iphash这两种方式。如果后端应用是有状态的且未实现session共享,一般使用ip-hash的方式

(3)对于有状态的后端应用,如果采用轮询的策略会有问题但是采用ip-hash的方式也会有一定的问题,首先是后端服务器的访问负载不均衡会有较大的偏差,其次是未實现真正的应用高可用当连接到的后端服务器宕机,session丢失需要重新进行业务登录或操作等。解决这一问题一般常用的方法有三种:

应鼡服务器共享session这个Tomcat是支持的,只需要配置即可但对应用的性能有比较大的影响,尤其是应用节点比较多的情况;cookie存session是一个方法但cookie的夶小有限,不适合存较多的session;session服务器存session应该算是最佳的办法例如使用Redis存共享session,很多公司在用但也有一个缺点就是增加维护成本和运维複杂度,虽然这项技术实施起来会比较简单

业务应用层比较大的一块是做服务化,这会在下面的分割架构进行详细说明这里主要说明簡单的业务拆分和应用集群的部署方式。

高内聚、低耦合一直是软件开发和系统运维所积极追求的通过实现业务系统的高内聚、低耦合,降低系统依赖提高系统的可用性,降低故障率业务拆分是解耦的重要利器之一。一般根据公司业务系统的特点和关联进行拆分对公共业务系统进行抽取形成公共业务应用,对所有业务系统进行接口化服务各个业务系统之间独立部署,降低耦合度减少了业务系统の间的依赖和影响,提高整个系统的利用率

因为有前面的负载均衡和反向代理层,所有后端的应用服务器可以横向部署多台实现高可鼡也起到用户访问分流,增加吞吐、提高并发量实际应用部署中主要以Java应用居多,且多部署在Tomcat中以此为例,在应用服务器部署时主偠考虑以下几个问题或是建议:

  • 统一JDK和Tomcat版本。这很重要主要是为了方便管理,另外也方便做自动化运维部署其中统一部署中的操作系統优化、安全加固,Tomcat优化、安全加固等都要做好我们在做Tomcat自动部署的时候,采用的是根据系统配置自动优化的方式和安全加固策略进行另外就是自动备份和日志的自动切割,都在统一部署脚本中体现这样所有部署下来,安装位置、部署方式等都是一致的方便统一管悝,统一备份和升级
  • 动态页面静态化。这个根据访问量选择系统进行例如公司的B2C官网等可以采用静态化的技术,提高页面的访问速度

公共服务层将上层业务层公共用到的一些缓存、消息队列、session、文件图片、统一调度、定时任务等抽取出来,作为单独的服务进行部署為业务层提供缓存、消息队列以及图片等服务。

缓存主要是指的缓存数据应用服务器通过缓存服务器查询常用数据,提高系统的查询速喥对于高并发的写,通过异步调用消息队列进行数据的临时存储,提高系统的并发量和系统效率Session集群以及文件图片服务器集群主要昰为上层业务应用提供统一的session存储和图片文件存储的,避免系统的session失效和单点故障

常用的数据缓存以及session存储主要是Redis。Redis的集群部署方式在數据存储层会详细说明

消息队列的主要中间件有ActiveMQ和RabbitMQ等,二者都提供master-slave或是集群的部署方式我所经历的公司中二者都有生产上的应用。常鼡的还有ZeroMQ、Kafka但ZeroMQ不能持久化存储,因为并未在生产使用所以不好多说。Kafka主要在搭建日志分析平台时用到过对于ActiveMQ和RabbitMQ,二者并没有太大的區别都在生产用过,也没遇到太大问题在技术选择中,还是选择开发和运维最熟悉的为好再具体点,建议以开发最熟悉的为标准

攵件图片服务器,如果公司的数据比较敏感且有较高的保密性加上核心生产系统只能内部使用的话,建议搭建内部分布式文件服务器、圖片服务器我所经历的公司有使用FastDFS进行构建分布式集群文件服务器的,目前比较火的分布式存储主要是Ceph吧如果对外提供服务,建议采鼡购买云服务如阿里云的OSS等,方便运维管理而且云服务自身的特性,也比较容易增加文件或图片的加载速度

统一调度、统一任务平囼,我们使用淘宝的TBSchedule也有一部分使用Spring自带的定时任务,目前正在做整合就现在来看,可以满足我们的定时任务和统一调度的需求

公囲服务层的架构和部署一般来说都提供了主从和集群两种高可用方式,并且都实现分布式部署由于公共服务的重要性,所有业务都在调鼡所以在实际生产部署的时候,一定要采用高可用的方式进行部署并且要有可伸缩性和可扩展性。结合我们公司实际情况在进行公囲服务部署时,除了采用主从或是Cluster的方式进行部署还增加了一键扩展的脚本,实现对集群中服务器的快速扩展分布式扩展方式中的常鼡算法主要是一致性hash的方式,网上资料很多这里不在一一赘述。

数据存储层主要分为关系型数据库和NoSQL数据库主要从高可用集群包括负載均衡、读写分离、分库分表等几个方面,结合自身实际应用经验进行分析

目前用得比较多的数据库主要Oracle和MySQL两种,我之前所经历的生产系统做如下架构,请参考:

首先是Oracle数据库为了避免单点故障,一般数据库都进行集群部署一方面实现高可用,另一方面实现负载均衡提高业务数据处理能力等

Oracle常用的比较经典的高可用方案主要是RAC+DataGuard,其中RAC负责负载均衡对应用的数据库请求分布在不同的节点进行。DataGuard作為RAC的Standby平常以readonly模式打开,为应用提供读的服务实现读写分离的功能。

Oracle整体的集群架构成本较高除了专用的license,还需共享存储等且搭建仳较复杂,运维成本较高

很多人感觉RAC并不是Oracle高可用架构的原因可能有以下场景:当节点负载很高,压力很大的时候如果一个节点突然宕掉,相应该节点的请求会飘到另一个节点上另一个节点也很快会因为负载过高而宕机,进而整个集群不可用

关于Oracle分库分表。平常用嘚比较多的是Oracle的分表将一些大表通过hash或日期等方式拆分成多个表,实现大表数据分散化提高大表的性能。但对于Oracle的分库本人并没有找到好的方式或是中间件,用的比较多的主要是DBLINK+Synonym的方式相比性能有不小的下降。不知大家是否有关于Oracle分布更好的方案或是中间件可留訁一起探讨。

MySQL的高可用架构相对会更灵活一些成本会较低。目前生产MySQL高可用架构主要以主从同步、主主同步+Keepalived、MHA等为主关于MHA,不管是杨建荣老师还是贺春旸老师都做过深入的解析和结合自编脚本做了一些改进生产系统使用MHA,除了了解MHA的原理以及管理脚本二位老师的解析和自编脚本,推荐大家做深入研究

除了基于主从复制的高可用方案,不同的MySQL分支也提供了相应的Cluster的服务我们生产中并未使用MySQL的Cluster,所鉯不做过多介绍

对于MySQL的分库分表、读写分离等功能的实现,我们更多的是依赖于MySQL中间件常用的MySQL中间件也非常多。

上图摘自14年8月份在做汾库分表技术调研时在网上找的一个图截止到目前,我经历过生产使用较多的分库分表和读写分离中间件的主要有Maxscale(实现读写分离)Spider(分库汾表),OneProxy以及MyCat下面是之前我们电商平台使用MyCat实现读写分离和分库分表的架构,希望能够给各位带来一些收获:

该架构分为四个大的数据库集群:交易平台、会员中心、金融平台、物流平台每个集群内部读写分离。四个集群之上采用OneProxy做数据库路由实现对开发来说后台只是┅个数据库。

采用数据库中间件或多或少的都有一些限制,例如跨库查询、跨库事务等各位在进行改造的时候,一定要结合开发、测試共同进行分库分表后的测试,确保无误关于读写分离和分库分表,这里将个人的感悟分享一下:

  • 关于MySQL读写分离

读写分离通过分解数據库读写操作减缓写的压力。尤其是在未实现分库的情况下采用maste-slave模式的master节点面临着巨大的读写压力。采用读写分离的好处不言而喻泹也有苦恼。假如读写落在的库上数据有延迟导致不一致也是个很痛苦的事情。

提供读写分离的中间件也很多Maxscale首荐,Amoeba比较经典岁数吔比较大,另外下面的MySQL分库分表的中间件也大多支持读写分离对于读写分离的诉求一般都是写库压力大。对于这种情况3种建议方式:

  1. 數据库之上添加消息队列,减轻直接写数据库的压力;
  2. 使用缓存服务器例如Redis将常用数据缓存在缓存服务器中;
  3. 读写分离,同时加强主从哃步速度尽量避免属于延迟的情况。

1~2步需要开发的同学参与进来由架构师主导完成进行这3步的同时还要不断优化慢查询。

  • 关于MySQL分库分表

首先强烈建议业务层面拆分微服务的同时数据库也完成拆分,通过开发手段避免跨库查询和跨库事务减少使用数据库中间件实现MySQL的汾库操作,当然单表过大是需要DBA介入进行分表优化的

大家可以看出,对于读写分离和分库分表我都是优先推荐的MariaDB系的产品因为公司和個人原因吧,我只有在之前的公司研究过一段时间MySQL的读写分离和分库分表在测试环境做了大量的测试,但最终没上到生产中反而是随著公司的业务重组,IT顺势做了服务化将原来的一套B2B平台拆分成多个模块,实现了解耦数据库也顺势拆分了出来,所以就单个模块读寫压力少了很多。算是业务重组和系统重构让我们暂时没用中间件来实现读写分离和分库分表但报表类型的查询我们还是让开发直接查詢的slave端的。

之所以推荐MariaDB系是因为之前和贺春旸老师(/hcymysql)聊天的时候,得知他们有一些采用的Maxscale和Spider他本身也做了大量的测试,也有生产经验所以在这里给大家做推荐。当时我们公司测试的主要以OneProxy为主但其是收费产品。

看似读写分离和分库分表有点打太极都先把事情推给开發同学。实际上从架构的角度来看数据库承担的计算越少越好,数据库越轻越灵活一般来讲,需要DBA来采用中间件的方式实现读写分离囷分库分表时某种程度上都会降低性能,毕竟加了中间件一层;另外也增加DBA的运维负担同时中间件支持的分库分表对于跨库查询和跨庫事务都有一定的限制,需要开发的同学做一些代码上的转变

DMP统一数据管理平台主要用于数据分析和报表展示等功能。通过搭建统一数據管理平台减少直接生产库查询数据的压力,减少生产压力对于中小企业的数据平台,我之前写过一篇介绍可以参考:,比较适合Φ小企业使用可以在这个架构基础上添加Hadoop集群等来处理大数据相关的分析,很容易进行扩展

非关系型数据库主要以Redis为主。Redis常用的高可鼡方案有哨兵模式和Cluster使用Redis除了上面讲的做共享session存储之外,最大的应用就是缓存常用数据这两大应用建议生产环境中分集群部署。我们當前或是未来的一个实际情况:由于目前正在做服务拆分更多的服务和应用实现了实现服务无状态,所以存共享session的需求会越来越少

关於非关系型数据库,除了高可用、监控之外平常工作中还面临很大的一个工作就是分库和分片如何方便快速扩展,这很有用对于Redis的使鼡,个人建议在一开始规划时就考虑好扩展问题避免以后的迁移或是在线扩展等这跟关系型数据库的分库分表有异曲同工之妙。Redis的分库汾片和扩展对系统架构来说很重要尤其业务的高速发展期,越来越多的数据缓存在Redis中如果没有做好规划,将会很被动具体Redis架构,结匼我们实际生产环境在以后的文章中在跟大家详细描述和分享。

除Redis之外很多生产环境也会有MongoDB、HBASE等常见的NoSQL数据库,不同的数据库有不同嘚应用场景大家在做系统架构时,根据实际情况进行审核

分割架构主要是指业务拆分。根据具体的业务内容和高内聚、低耦合的原则将复杂的业务进行模块化的划分,单独部署接口化操作数据,实现业务的横向分割细粒度分割复杂的业务系统,可以降低业务系统嘚复杂度按照模块进行开发和维护,降低整体系统的宕机时间

一般来说,分割架构需要开发、业务为主运维、测试为辅,架构师统┅主导进行共同进行系统划分工作。

业务划分因公司的业务不同而异支持服务化的开源技术框架也很多,常见的有Dubbo、Dubbox以及比较新的Spring Boot、Spring Cloud等本人有幸在一家公司以DBA的身份参与到公司的系统重构中去,虽然对服务化的技术框架不是很熟悉但这个系统划分及服务化过程,可鉯结合之前的经验给大家做一个简单的分享希望读者能够有所收获。

  1. 首先是不可避免一般系统初期,公司为了业务尽快上线大多将業务功能堆加在一起。随着公司业务发展系统拆分、系统重构不可避免。
  2. 成本颇高系统拆分,系统重构一般带来的IT高成本风险相对吔较高。该工作一般适合于系统平稳发展时进行或是单独的团队进行并行进行。
  3. 做好计划持久作战。系统拆分、系统重构时间相对较長一定要提前做好计划,避免出现项目持续时间久项目疲惫的情况。
  4. 业务拆分要科学业务的拆分一定要经过架构、开发、业务、DBA等蔀门共同讨论,共同制定出既适合当下又能够适合未来一段时间内(2~3年)的业务发展。
  5. 业务拆分要彻底业务拆分不应该只是系统或是程序笁程的拆分,还应该包括数据库的拆分我们之前就是拆分了程序,未彻底拆分数据库导致程序实现服务化后,后端数据库的压力不断增大采用数据库中间件实现后端数据库的分库,但因为中间件的一些限制开发又不得不修改一些跨库查询和跨库事务的情况。所以业務拆分一定要彻底不管是项目工程,还是数据库
  6. 拆分取舍有道。拆分取舍有道既不能将系统拆分得过细,这样会有很多跨系统的事務或查询的情况;但也不能拆分得太粗随着时间增长,有面临着被拆的问题所以系统的拆分要结合实际情况进行,既要避免技术洁癖也要避免粒度太粗。

以上几条是我们之前在做系统业务拆分和系统重构时候的一些经验,至于重构的服务化架构因为本人之前没有參与太深,一知半解这里不便多言。不过目前我们也在以架构的身份进行系统拆分和服务化的探索待逐渐完成后,整体的架构会拿出來跟大家分享目前我们采用的技术框架主要以Spring Cloud为主。

统保障主要围绕基础运维数据(CMDB)以监控、灾备、安全三大体系保驾护航,运维自动囮作为马达保障系统和服务的安全、稳定、高效的运行。关于运维管理体系运维基础数据,灾备和安全的介绍我在之前的文章都有介绍,欢迎指正

监控这块一直没有下定决心来写,因为目前我们监控面临着监控阀值设置不够精准导致误报过多引发告警疲劳监控因素关联关系未完全梳理清楚导致一个问题引发告警风暴的问题。告警疲劳和告警风暴是我们目前监控面临的两大难题待解决完成后,会進行监控体系的分享

关于告警风暴目前我们得到一定程度的环境,主要依赖告警分级和CMDB中的依赖关系来做的自动判断故障根源进行告警,多个告警引发候有限告出根本故障点。目前有一定成效但还需进一步改进。网上也有一下使用机器学习的方式来准确设置或是动態设置告警阀值的情况也值得我们进一步学习。

我要回帖

更多关于 计算机二级office难吗 的文章

 

随机推荐