OBProxy与HAProxy的问题

node1,2,3每个节点都装了OBServer+OBProxy,node4装了HAProxy。
我发现,HAProxy可以直接把请求转到OBServer,这样OBProxy就没啥用了?或者说,有了OBProxy,就没必要装HAProxy了?怎样的架构更能保证高可用跟负载均衡呢?谢谢。

没必要装HAProxy了。
obproxy默认是强读模式,会将sql下发leader节点上执行。可以使用租户优先级设置随机模式这样保证表leader随机分配在不同节点。

image
是这个吧?
另外,obproxy是不是装1个就行了

看业务的具体需求,如果只是连通,那只用一个obproxy节点就可以做到,但是如果还有高可用/负载均衡等需求,就需要多节点obproxy了,通常的做法是部署三个obproxy节点,在obproxy前面部署lvs/f5等负载均衡组件,把请求均衡的转发到三个obproxy上,并且在obproxy有问题时可以及时从负载均衡上剔除掉故障节点。

谢谢。我装的这个HAProxy不就相当于lvs或f5吗?还是说有本质区别?

我去了解了一下haproxy,应该是没区别的,代理三个节点obproxy的2883就可以了

1 个赞

oceanbase集群需要使用obproxy连接,LB需要架构在obproxy之外,非云部署建议使用nginx,F5等作为负载均衡,例如:

https://open.oceanbase.com/blog/10900307

https://open.oceanbase.com/blog/10900424
这是官方老师写的博客的图,大致就是这么个架构