电脑技术学习

事件日志复制管理器

dn001


群集服务会同群集中的事件日志服务进行交互 , 以便将事件日志条目复制到所有的群集节点。当群集服务在某个节点上启动时,它会调用本地事件日志服务中的专用 API ,并且要求该事件日志服务向回绑定到群集服务。作为响应,该事件日志服务将使用 LRPC 绑定到 clusapi 接口。从此时开始,只要事件日志服务收到要记录的事件,它就会在本地记录它,然后将事件放到持续性的批处理队列中,并且安排一个计时器线程。如果没有活动的计时器线程,该线程就会在 20 秒后启动。计时器线程启动时,它会排空批处理队列,并借助事件日志服务已绑定的群集 API 接口将所有事件作为一个整体缓冲发送到群集服务。

一旦群集服务收到来自事件日志服务的批量事件 , 它会将这些事件放到本地的 “ 传出 ” 队列中并且从该 RPC 返回。群集服务中的事件广播器线程会排空该队列,并借助群集内的 RPC 将队列中的事件发送到所有有效的远程群集节点。服务器侧的 API 将收到的事件放到“传入”队列中。事件日志写入程序线程随后会排空该队列,并且通过专用的 RPC 请求本地事件日志服务在本地写入这些事件。

群集服务使用 LRPC 来调用事件日志专用 RPC 接口。事件日志服务也会使用 LRPC 来调用请求群集服务对事件进行复制的群集 API 接口。

标签: