zanePerfor完整 高性能 高可用的前端性能监控系统之Mongodb副本集读写分离架构

2020-05-22 00:00:00 文件 架构 节点 读取 副本

HI!,你好,我是zane,zanePerfor是一款近我开发的一个前端性能监控平台,现在支持web浏览器端和微信小程序段。
我定义为一款完整,高性能,高可用的前端性能监控系统,这是未来会达到的目的,现今的架构也基本支持了高可用,高性能的部署。实际上还不够,在很多地方还有优化的空间,我会持续的优化和升级。


开源不易,如果你也热爱技术,拥抱开源,希望能小小的支持给个star。


项目的github地址:
github.com/wangweiange…

项目开发文档说明:
blog.seosiwei.com/performance…


Mongodb副本集架构
优势:

MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组成。

当主节点挂掉之后,会由多个副本节点选举产生出新的主节点。(节点数请保持为基数个)。

这样就能保证应用的高可用,其中一个或多个节点挂掉之后还能正常运行和服务。

劣势:

数据丢失:主节点挂掉之后,副本节点选举出新的主节点需要一定的时间,这段时间会造成数据的丢失。

不能完全保证项目的高可用:在副本集的环境中,要是所有的Secondary都宕机了,只剩下Primary。后Primary会变成Secondary,将不能再提供服务。

总结:

在大多数情况下推荐使用副本集架构,副本集架构在保证高可用的同时还能降低服务器成本,相对于集群分片来说配置也更简单,更易于维护,具体选择什么架构需要根据自己的项目来觉定。


Mongodb副本集架构搭建:

Mongodb副本集搭建比价简单,你只需要根据下面的步骤一步一步操作即可(以下内容以Linux或mac为例进行搭建)。

一:安装Mongodb (略)

请参考: LINUX系统下安装mongodb

关于副本集搭建还可参考我的另一篇文章: MongoDB主从副本集架构


二:副本集搭建

(备注:鉴于成本,以下内容在单机下部署为例,多机部署只需要替换下IP即可)


1、创建数据和日志存放目录

// 数据存放目录 mkdir -p /data/replication/s0 mkdir -p /data/replication/s1 mkdir -p /data/replication/s2 // 日志存放目录 mkdir -p /data/replication/log

2、启动Mongodb服务

(下面以28100,28101,28100三个端口为例)

// 启动mongodb服务
mongod --dbpath /data/replication/s0 --logpath /data/replication/log/s0.log --fork --smallfiles --port 28100 --replSet rs1
mongod --dbpath /data/replication/s1 --logpath /data/replication/log/s1.log --fork --smallfiles --port 28101 --replSet rs1
mongod --dbpath /data/replication/s2 --logpath /data/replication/log/s2.log --fork --smallfiles --port 28102 --replSet rs1

相关文章