作家
登录

从零开始搭建MongoDB数据库即服务

作者: 来源: 2017-09-13 15:05:30 阅读 我要评论

接下来介绍一下今天的重点内容,若何搭建一个MongoDB数据库即办事。

起首,在我看来,数据库即办事,应当具备这些特点:主动化、按需办事、弹性、安然、高可用和可量化:

  • 第一个,主动化,这是异常关键的,是实现自助办事的基本,所有可以被主动化操作的流程都应当被主动化,不须要人工干涉。
  • 第二个,按需办事,数据库即办事应当是由用户驱动的,后台应当要有一个工作流的机制来对需求进行响应。
  • 第三个,弹性,可以按需动态扩缩容。
  • 第四个,安然,这是毋庸置疑的。
  • 第五个,高可用,宕机主动切换。
  • 第六个,可量化,办事的应用量可以被衡量、申报并且是可控的。

副本集经由过程replSetInitiate敕令(或mongo shell的rs.initiate())进行初始化,初始化后各个成员间开端发送心跳消息,并提议Primary选举操作,获得『大年夜多半』成员投票支撑的节点,会成为Primary,其余节点成为Secondary。

此图为数据库即办事应具备的功能大年夜图。重要包含生命周期治理、容灾体系、监控报警、数据治理和增值办事:

  • 生命周期治理包含数据库实例的新建、释放、扩缩容等,这是数据库即办事最基本的功能。
  • 容灾体系包含高可用、备份恢复,甚至更高等的如异地容灾/多活等等。
  • 监控报警一方面就是办事应用量的监控,另一方面则是报警,包含办事弗采取的报警,以及一些监控数据异常的报警。
  • 数据治理指的就是可以便利的对数据进行治理,如可以供给一些图形化界面等。
  • 增值办事包含审计、诊断办事等。个中审计是数据库的一个异常重要的功能,一方面可以赞助查证问题,另一方面可认为一些数据分析或诊断供给数据源。诊断办事一方面跟踪办事的资本应用量,为是否须要扩缩容供给决定计划根据,另一方面重要为慢萌芽供给优化建议。

数据库即办事的核心架构就是工作流引擎,这是实现主动化及按需办事的基本。

1、生命周期治理

生命周期治理功能包含数据库实例的新建、释放、扩缩容以及迁徙。新建一个数据库实例包含分派资本(主如果主机资本)、安装数据库、初始化设备。对MongoDB来说,副本集涉及多个节点,涉及到资本的分派策略,Sharding更多。别的副本集还须要一些初始化工作,sharding须要有一个各组件的组合。释放实例比较简单,主如果资本的收受接收。扩缩容可以分为本地和跨机的扩缩容,其实跨机的扩缩容就是迁徙。对于MongoDB来说,迁徙可以直接应用MongoDB的添加节点主动同步的特点,照样比较便利的。

生命周期治理功能重要涉及这几个组件,包含资本治理、规格及设备治理、软件栈治理和负载均衡:

资本治理主如果指主机资本的治理,这里主机可所以物理机,也可所以虚拟机,如云主机等。资本治理重要负责资本的分派和收受接收,此外还包含若何实施资本隔离。

规格及设备治理一个是须要为数据库实例制订一些规格,以便利扩容和缩容,另一方面是负责数据库相干设备的保护。

软件栈治理则包含数据库软件以及其依附的软件的安装保护等,包含操作体系。

除了这些,还须要一个负载均衡组件来包管数据库实例在资本上的分布的均衡,当有主机资本须要下线的时刻,可以或许做到主动对其上的数据库实例进行迁徙。

对于MongoDB来说,在实施资本分派策略时须要留意的一点是须要包管不要破坏副本集本来的高可用特点。固然MongoDB副本集自带了高可用,然则如不雅你把副本集的所有节点都分布在一台物理机上,那如不雅这个物理机挂了,全部副本集都没用了。所以一个起码的原则是要包管MongoDB多副本的主机安然性,尽可可以或许做到机架安然。

 

如今我们的MongoDB数据库即办事的架构可以稍微扩充一下了,多了资本办事、规格及设备办事、软件栈办事以及负载均衡办事这几个组件。

2、容灾体系

接下来看一下容灾体系,这包含高可用、备份/恢复、异地容灾/多活。高可用须要有一个负责健康检查的巡检办事,别的还须要有一个容灾切换的组件。备份/恢复也是容灾体系异常重要的一环,这里有一个很轻易被忽视的工作是须要做备份的有效性验证。如不雅备份不是有效的,那等于没有备份。异地容灾/多活是比较高等的容灾才能,实施起来比较复杂,有兴趣的同窗可以参考我之前做过的一个分享《MongoDB异地容灾多活实践》。

(链接:https://yq.aliyun.com/articles/96598)

MongoDB副本集自带了高可用,我们还须要做什么工作呢?主如果须要包管容灾切换的一个可控。以一个经典的3节点P/S/H副本集为例,一方面我们可以经由过程配制揭捉?举优先级的方法来保持Primary和Secondary的角色稳定性。另一方面,我们欲望在随便率性时刻,用户都可以有两个节点是可拜访的,是以我们须要对节点宕机后的副本集做一些reconfig操作,包管宕机节点最终都邑变成Hidden,然后同一对Hidden进行处理,比如重搭等。


  推荐阅读

  AI都干过什么让人细思极恐的事

51CTO诚邀您9月23号和秒拍/国美/美团元专家一路聊智能CDN的优化之路,抓紧时光哦! 谈到人工智能(AI)总会有人认为恐怖。到底怕在何处?你有证据么?巧了。美国问答网站Quora上就有这么一个问>>>详细阅读


本文标题:从零开始搭建MongoDB数据库即服务

地址:http://www.17bianji.com/lsqh/37383.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)