GBase 8a
运维管理
文章
gbase8a集群内部通讯机制
发表于2025-09-29 17:36:3062次浏览2个评论
gbase8a mpp是分布式数据库集群,分为管理节点(coor)和数据计算节点(data),管理节点负责用户语句转换和分发,所以需要和数据计算节点进行通讯。
最初的coor和data通讯,都是由线程负责的,每个线程负责一个通讯,随着gbasae8a mpp集群的规模越来越大,这种机制暴露出了很大的缺陷。举例如下:
如果一个集群有200个data节点,一个coor并发数为10,那么coor节点就需要有2000个线程处理通讯任务,会占用大量的系统资源,导致集群不能支持大并发的数据库操作。
为了解决这个现象,gbase8a mpp引进了“协程”机制,在一个线程内处理多个连接的通讯过程,轮询每个连接,连接上有待处理的信息时,将相关上下文信息载入,进行处理,处理完毕交换上下文信息,等待下一个连接信息到来。等待过程采用了epoll机制。
通过这样的机制修改,每个并发只需要一个线程就可以处理所有的data节点的信息,减少了资源占用,提高了并发度。
热门帖子
- 12025-12-01浏览数:182763
- 22023-05-09浏览数:25057
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17529