开发者社区 问答 正文

请问OceanBase中Obproxy也有自己的location cache吗?

请问OceanBase中Obproxy也有自己的location cache吗?

展开
收起
真的很搞笑 2023-05-10 22:28:35 225 分享 版权
来自: OceanBase
1 条回答
写回答
取消 提交回答
  • 随心分享,欢迎友善交流讨论:)

    是的,Obproxy也有自己的location cache。

    Obproxy中的location cache是一种本地缓存,用于存储OceanBase集群中各个服务的物理位置信息。当客户端请求到达Obproxy时,Obproxy会根据请求中的服务名和分片键值,查询location cache中存储的物理位置信息,并将请求路由到对应的物理节点上。

    Obproxy的location cache与OceanBase的location cache有些不同。OceanBase的location cache是在OceanBase内部维护的,用于存储表数据的物理位置信息;而Obproxy的location cache是在Obproxy内部维护的,用于存储各个服务的物理位置信息。此外,Obproxy的location cache还支持自动刷新,以保证缓存中的信息与实际情况保持一致。

    由于Obproxy的location cache是本地缓存,因此每个Obproxy节点都需要维护自己的location cache。如果集群中有多个Obproxy节点,它们的location cache可能会存在一定程度的不一致,但这并不会影响Obproxy的正常工作。当一个节点的location cache中没有请求的信息时,它会向其他节点发送请求,以获取最新的物理位置信息。这样,即使location cache不一致,Obproxy也能够正确地路由请求。

    2023-05-11 11:28:41
    赞同 展开评论