使用 Spring Boot 在 Mongo 中自动扩展
Posted
技术标签:
【中文标题】使用 Spring Boot 在 Mongo 中自动扩展【英文标题】:Autoscaling up in Mongo with Spring Boot 【发布时间】:2019-06-10 03:01:28 【问题描述】:我正在设置一个应用程序连接到具有高可用性的 mongoDB。
我已经研究了文档并通过成功设置了副本集
spring.data.mongodb.uri=mongodb://user:secret@mongo1.example.com:12345,mongo2.example.com:23456/test
由于应用程序属性文件是固定的,如果我更改spring.data.mongodb.uri
,需要重新启动应用程序。
如果我在 mongo 中有一个新的副本成员,我是否需要使用应用程序属性中的更新重新启动我的应用程序?
或者,使用旧配置是否足够公平? Mongo 驱动程序会自动使用旧配置为我连接到新的副本成员。
【问题讨论】:
【参考方案1】:如果您从文件中加载属性,您需要在属性更新后重新启动应用程序。
否则,您需要使用一些全局属性管理应用程序,例如 consul,当属性更改时,它将重新加载应用程序中的属性值(@RefreshScope)。
在您的情况下,更改属性后,您需要通过代码断开连接并重新连接到 mongodb。
【讨论】:
是否意味着我必须更新spring.data.mongodb.uri
才能扩大mongoDB的节点数?以上是关于使用 Spring Boot 在 Mongo 中自动扩展的主要内容,如果未能解决你的问题,请参考以下文章
使用 IntelliJ 在 Spring Boot 中自定义应用程序属性
在 Spring Boot 中自定义 JSON 响应以更改键名
使用 Mongo 模板在 Spring Boot 中过滤内部 Arraylist 项的 Mongo 查询