SpringBoot + MonggoDB副本集windows下集群读写分离搭建--最终篇

基础篇:https://blog.csdn.net/Dcj695632854/article/details/114587398?spm=1001.2014.3001.5502

进阶篇:https://blog.csdn.net/Dcj695632854/article/details/114626459?spm=1001.2014.3001.5502

本片主要围绕SprongBoot+Mongodb副本集群并发下的运行模式

同测试一样,执行add接口,可以看到系统日志:

Opened connection [connectionId{localValue:111, serverValue:102}] to 127.0.0.1:27017

打开的是端口为27017的Mongodb,也就是副本集群中的主服务器,以写数据为主,不参与查询。

最开始测试的时候使用postman来测试,但是不知道怎么模拟并发下的读操作如何运行,测试效果不明显。

最终找到Apache JMeter来做并发测试,该软件具体操作步骤移步:JMeter安装操作教程

我测试的参数是100并发,循环5次。最终执行后的输出日志为:

2021-03-10 14:31:17.810  INFO 18124 --- [nio-8080-exec-1] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:37, serverValue:153}] to 127.0.0.1:27020
2021-03-10 14:31:17.818 DEBUG 18124 --- [io-8080-exec-29] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.831 DEBUG 18124 --- [io-8080-exec-21] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.867  INFO 18124 --- [io-8080-exec-82] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:63, serverValue:125}] to 127.0.0.1:27021
2021-03-10 14:31:17.869 DEBUG 18124 --- [io-8080-exec-93] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.872  INFO 18124 --- [io-8080-exec-57] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:35, serverValue:148}] to 127.0.0.1:27018
2021-03-10 14:31:17.907 DEBUG 18124 --- [io-8080-exec-47] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.908 DEBUG 18124 --- [io-8080-exec-81] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.909 DEBUG 18124 --- [io-8080-exec-70] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.923 DEBUG 18124 --- [io-8080-exec-44] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.938 DEBUG 18124 --- [io-8080-exec-10] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.941 DEBUG 18124 --- [io-8080-exec-63] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.960  INFO 18124 --- [io-8080-exec-54] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:39, serverValue:154}] to 127.0.0.1:27020
2021-03-10 14:31:17.966  INFO 18124 --- [io-8080-exec-52] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:67, serverValue:126}] to 127.0.0.1:27021
2021-03-10 14:31:17.993 DEBUG 18124 --- [io-8080-exec-20] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:17.994 DEBUG 18124 --- [io-8080-exec-27] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.000  INFO 18124 --- [io-8080-exec-56] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:36, serverValue:149}] to 127.0.0.1:27018
2021-03-10 14:31:18.025 DEBUG 18124 --- [io-8080-exec-20] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.029 DEBUG 18124 --- [io-8080-exec-71] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.062  INFO 18124 --- [io-8080-exec-58] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:44, serverValue:155}] to 127.0.0.1:27020
2021-03-10 14:31:18.077  INFO 18124 --- [io-8080-exec-55] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:38, serverValue:150}] to 127.0.0.1:27018
2021-03-10 14:31:18.080  INFO 18124 --- [io-8080-exec-17] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:68, serverValue:127}] to 127.0.0.1:27021
2021-03-10 14:31:18.093 DEBUG 18124 --- [io-8080-exec-20] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.108 DEBUG 18124 --- [io-8080-exec-51] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.108 DEBUG 18124 --- [io-8080-exec-93] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.115 DEBUG 18124 --- [io-8080-exec-37] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.115 DEBUG 18124 --- [io-8080-exec-57] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.116 DEBUG 18124 --- [nio-8080-exec-4] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.116 DEBUG 18124 --- [io-8080-exec-40] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.120 DEBUG 18124 --- [io-8080-exec-44] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.125 DEBUG 18124 --- [io-8080-exec-84] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.128 DEBUG 18124 --- [io-8080-exec-63] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.156 DEBUG 18124 --- [io-8080-exec-51] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.170 DEBUG 18124 --- [io-8080-exec-29] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.174 DEBUG 18124 --- [io-8080-exec-16] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.176 DEBUG 18124 --- [io-8080-exec-73] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.180 DEBUG 18124 --- [io-8080-exec-68] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.184 DEBUG 18124 --- [io-8080-exec-41] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.195 DEBUG 18124 --- [io-8080-exec-21] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.199 DEBUG 18124 --- [io-8080-exec-69] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.216 DEBUG 18124 --- [nio-8080-exec-1] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.217 DEBUG 18124 --- [io-8080-exec-81] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.230 DEBUG 18124 --- [io-8080-exec-71] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.243 DEBUG 18124 --- [io-8080-exec-83] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.243  INFO 18124 --- [io-8080-exec-33] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:46, serverValue:156}] to 127.0.0.1:27020
2021-03-10 14:31:18.249  INFO 18124 --- [io-8080-exec-77] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:70, serverValue:128}] to 127.0.0.1:27021
2021-03-10 14:31:18.250  INFO 18124 --- [o-8080-exec-100] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:40, serverValue:151}] to 127.0.0.1:27018
2021-03-10 14:31:18.274 DEBUG 18124 --- [io-8080-exec-74] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.279 DEBUG 18124 --- [nio-8080-exec-3] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.288 DEBUG 18124 --- [io-8080-exec-47] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.304 DEBUG 18124 --- [io-8080-exec-92] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.317 DEBUG 18124 --- [io-8080-exec-82] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.331 DEBUG 18124 --- [io-8080-exec-54] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.361 DEBUG 18124 --- [io-8080-exec-93] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.379  INFO 18124 --- [io-8080-exec-78] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:47, serverValue:157}] to 127.0.0.1:27020
2021-03-10 14:31:18.390 DEBUG 18124 --- [io-8080-exec-84] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.396  INFO 18124 --- [io-8080-exec-43] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:109, serverValue:129}] to 127.0.0.1:27021
2021-03-10 14:31:18.400  INFO 18124 --- [io-8080-exec-60] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:41, serverValue:152}] to 127.0.0.1:27018
2021-03-10 14:31:18.423 DEBUG 18124 --- [io-8080-exec-58] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.427 DEBUG 18124 --- [io-8080-exec-51] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.430 DEBUG 18124 --- [io-8080-exec-29] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.438 DEBUG 18124 --- [io-8080-exec-70] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.453 DEBUG 18124 --- [io-8080-exec-10] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.461 DEBUG 18124 --- [io-8080-exec-69] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.462 DEBUG 18124 --- [io-8080-exec-42] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.467 DEBUG 18124 --- [nio-8080-exec-1] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.495 DEBUG 18124 --- [nio-8080-exec-1] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.502 DEBUG 18124 --- [io-8080-exec-41] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.506 DEBUG 18124 --- [io-8080-exec-74] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.517  INFO 18124 --- [io-8080-exec-53] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:50, serverValue:158}] to 127.0.0.1:27020
2021-03-10 14:31:18.520  INFO 18124 --- [io-8080-exec-34] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:42, serverValue:153}] to 127.0.0.1:27018
2021-03-10 14:31:18.539 DEBUG 18124 --- [io-8080-exec-74] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.558 DEBUG 18124 --- [io-8080-exec-92] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.558 DEBUG 18124 --- [io-8080-exec-47] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.563 DEBUG 18124 --- [io-8080-exec-82] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.594 DEBUG 18124 --- [io-8080-exec-58] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.596 DEBUG 18124 --- [io-8080-exec-61] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.596 DEBUG 18124 --- [io-8080-exec-40] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.633 DEBUG 18124 --- [io-8080-exec-40] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.647 DEBUG 18124 --- [io-8080-exec-93] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.653  INFO 18124 --- [io-8080-exec-86] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:52, serverValue:159}] to 127.0.0.1:27020
2021-03-10 14:31:18.653 DEBUG 18124 --- [io-8080-exec-68] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.658  INFO 18124 --- [io-8080-exec-35] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:43, serverValue:154}] to 127.0.0.1:27018
2021-03-10 14:31:18.692 DEBUG 18124 --- [io-8080-exec-62] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.694 DEBUG 18124 --- [io-8080-exec-63] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.711 DEBUG 18124 --- [io-8080-exec-57] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.741  INFO 18124 --- [io-8080-exec-48] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:53, serverValue:160}] to 127.0.0.1:27020
2021-03-10 14:31:18.758 DEBUG 18124 --- [nio-8080-exec-1] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.756  INFO 18124 --- [io-8080-exec-30] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:48, serverValue:155}] to 127.0.0.1:27018
2021-03-10 14:31:18.766 DEBUG 18124 --- [io-8080-exec-69] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.791 DEBUG 18124 --- [io-8080-exec-68] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.793  INFO 18124 --- [io-8080-exec-85] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:54, serverValue:161}] to 127.0.0.1:27020
2021-03-10 14:31:18.808 DEBUG 18124 --- [io-8080-exec-61] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.809 DEBUG 18124 --- [io-8080-exec-44] o.s.data.mongodb.core.MongoDbUtils       : Getting Mongo Database name=[fecg_dev]
2021-03-10 14:31:18.811  INFO 18124 --- [io-8080-exec-25] org.mongodb.driver.connection            : Opened connection [connectionId{localValue:56, serverValue:162}] to 127.0.0.1:27020

只是截取了部分log,不难发现,在并发下执行查询的时候,会自动切换Mongodb副本集群下的从库。

至此,SpringBoot + Mongodb副本集群简单部署及读写测试就到此为止。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Spring Boot Quartz集群,你可以按照以下步骤进行配置和实现: 1. 首先,确保你的项目中引入了Quartz依赖,即`org.quartz-scheduler:quartz`和`org.quartz-scheduler:quartz-jobs`。 2. 创建一个Spring Boot应用,并在其中添加Quartz的相关配置。 3. 在你的应用程序的主类(例如QuartzSpringbootApplication)中添加`@EnableScheduling`注解,以启用Quartz调度。 4. 为了实现集群,你需要配置一个数据库作为Quartz的持久化存储。你可以使用任何支持的数据库,比如MySQL、PostgreSQL等。 5. 在你的application.properties或application.yml文件中,配置Quartz的数据源和相关属性。例如,你可以指定数据库的URL、用户名、密码等。 6. 在数据库中创建Quartz的相关表。Quartz提供了一个用于创建表的脚本,你可以在官方文档中找到。 7. 配置Quartz的调度器。你可以通过编写一个QuartzConfig类,并在其中定义一个SchedulerFactoryBean bean来实现。在这个类中,你可以设置数据源、作业存储等属性。另外,你还可以设置一些其他的配置,比如调度器的线程池大小、线程名称等。 8. 在你的应用程序中创建一个或多个Quartz作业。你可以使用`@Component`注解将作业类标记为Spring的组件,并实现`Job`接口。 9. 在作业类中,实现`execute`方法来编写具体的作业逻辑。 10. 使用`@Scheduled`注解来配置作业的调度规则。你可以指定作业的执行时间、触发器类型等。 11. 在集群环境下,需要将调度任务持久化到数据库中。Quartz会自动将调度任务持久化到数据库,并在每个节点上同步。这样,当一个节点宕机时,其他节点可以接管执行。 12. 部署和运行你的Spring Boot应用程序。确保所有的节点都连接到同一个数据库,并且配置正确。 通过以上步骤,你可以配置和实现Spring Boot Quartz集群。这将允许你在分布式环境中使用Quartz调度任务,并确保高可用性和负载均衡的特性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值