在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。在限流时,常见的两种算法是漏桶和令牌桶算法算法
环境准备
- 一台linux服务器,并且需要root权限
- mongodb客户端,用于验证连接是否成功,下载地址
1 | vi /etc/yum.repos.d/mongodb-org-4.2.repo |
1 | [mongodb-org-4.2] |
1 | yum install -y mongodb-org |
默认情况下,mongodb使用mongod用户帐户运行,并使用以下默认目录
1 | 数据目录 |
1 | vi /etc/mongod.conf |
1 | systemctl start mongod |
1 | 进入mongo |
1 | 进入mongo |
1 | vi /etc/mongod.conf |
1 | systemctl restart mongod |
1 | sudo yum erase $(rpm -qa | grep mongodb-org) |
| 服务器 | 端口 | 说明 | 备注 |
|---|---|---|---|
| 192.168.186.128 | 27017 | primary | 主节点 |
| 192.168.186.131 | 27017 | secondary | 从节点 |
| 192.168.186.132 | 27017 | arbiter | 仲裁者 |
确保三台机器之间可以互相通信
1 | mongo |
1 | vi /etc/mongod.conf |
1 | 用admin账户登录 |
1 | 在主节点生成keyfile文件,并将该文件同步到其他节点 |
从节点故障测试
主节点故障测试
仲裁节点和主节点故障
仲裁节点和从节点故障
1 | a = int(input('请输入要转换的数:')) |