Orion ContextBroker是否支持为MongoDB副本集设置read preference?
Orion Context Broker配置MongoDB副本集readPreference解决方案
该需求完全可以实现,无需依赖Orion额外的命令行参数,具体方案如下:
- 你可以直接在MongoDB连接串中新增
readPreference参数,Orion底层使用的官方MongoDB驱动会自动识别该参数并生效,不需要额外适配。
示例修改后的副本集连接串格式:mongodb://<账号>:<密码>@<节点1地址>:<端口>,<节点2地址>:<端口>,<节点3地址>:<端口>/orion?replicaSet=<副本集名称>&readPreference=nearest - 对应配置方式:
- 命令行启动场景:将上述带参数的连接串传入Orion的
-dbURI启动参数即可,示例命令:contextBroker -dbURI "mongodb://user:pass@mongo1:27017,mongo2:27017,mongo3:27017/orion?replicaSet=myReplicaSet&readPreference=nearest" - Docker部署场景:将环境变量
ORION_DBURI的值设置为上述带参数的连接串即可。
- 命令行启动场景:将上述带参数的连接串传入Orion的
- 注意事项:
- 该配置在Orion 1.15.0及以上稳定版本均支持,更低版本未做兼容性验证,建议使用官方推荐的稳定版本部署。
nearest读模式会自动将读请求转发到网络延迟最低的副本节点,可有效分散主节点的读压力,匹配高查询流量场景下的性能优化需求。
内容的提问来源于stack exchange,提问作者Francisco Herrera
相关产品推荐
相关产品推荐

