GBase8a MPP与透明网关之间是通过scoket进行通信的,因此要实现透明网关的负载均衡需要通过一个支持scoket代理的组件来完成,并且透明网关在实现DBLink功能的时候,本身是没有状态的。大体的示意图如下:
GBase8a MPP启用DB-Link后,其配置的透明网关地址,并不是单个的Gateway地址,而是配置到HAProxy这个代理地址上,所有的请求由HAProxy进行负载转发,根据配置的代理规则路由到不同的Gateway中。
Gateway根据请求的DB-Link请求,查找配置文件后,获取DB-Link的配置信息,向不同的数据库中进行请求。
如果DB-Link双端都是GBase8a MPP的情况下,在select 等操作的时候,集群之间可以直接通信,而不经过Gateway;如果不是同构的情况下,必须由Gateway作为中转进行数据的转换。这样,就实现了Gateway的负载均衡部署模式。