【 使用环境 】生产环境
【 OB or 其他组件 】obproxy 4.2.1
【 使用版本 】
【问题描述】obproxy 使用的是ocp的 config_url地址,如果ocp宕机了,obproxy还能够正常提供服务吗
我们测试过可以继续提供服务,但是如果把obproxy本地缓存删了就不行了
如果 OBProxy 已经启动并加载了配置信息,它可以在短时间内继续提供服务,因为现有的配置信息已经被缓存到 OBProxy 的本地
如果 OCP 宕机时间较长,OBProxy 无法获取新的配置更新,可能会导致一些配置相关的功能失效,如动态路由调整等
如果一个ocp里面维护了2个集群,但是obproxy只连过其中一个集群,这个时候ocp宕机了,通过obproxy可以连接另一个集群嘛?obproxy会通过ob_config_url刷新所有集群的缓存嘛?
如果 OCP 宕机,OBProxy 无法从 OCP 获取新的配置信息,因此无法连接到未连接过的集群,ob_config_url是从OCP中获取的,如果OCP不能提供服务了,那么肯定也获取不到ob_config_url了,也没有刷新集群缓存一说了
那就是只会缓存连接过的集群?而不是通过ob_config_url缓存所有集群下的信息,大约多长时间会缓存到本地,也就是 rootservice_list.json文件
根据文档描述,当 OCP 宕机时,OBProxy 可以继续使用本地缓存的 rslist 信息提供服务。具体而言,OBProxy 从 OCP 拉取到 rslist 信息后,会保存在本地的 obproxy_rslist_info.json
文件中。如果 OCP 不可用,OBProxy 可以使用本地的 rslist 缓存文件继续提供服务。然而,这种方式存在一定的缺点:
- 缓存中只保存了访问过的集群的 rslist 信息,因此如果集群未访问过,则 OBProxy 无法提供服务。
- 缓存信息具有时效性,如果集群的 rslist 发生变化,OBProxy 无法感知。
关于您的问题,如果 OCP 宕机,OBProxy 只能继续提供已连接过的集群的服务。对于未连接过的集群,OBProxy 无法通过本地缓存的 rslist 信息连接。
此外,OBProxy 会定期从 OCP 拉取最新的 rslist 信息,更新本地缓存。具体的刷新频率没有明确说明,但可以根据实际情况调整 ignore_local_config
配置项来控制是否优先使用本地缓存。
更多信息请查看:
学习了,OCP不能做成高可用么
OBProxy不重启就不影响。会缓存
学习了
不影响,不要部署在一起
学到了呀
可以高可用啊,生产环境一般都是3节点部署