2.9. 客户端监听程序
当数据网格集群中添加、删除或修改数据时,客户端监听程序都会提供通知。
例如,当给定位置的温度改变时,以下实现会触发事件:
在 Data Grid 集群中添加监听程序会增加部署的性能注意事项。
对于内嵌缓存,侦听程序使用与 Data Grid 相同的 CPU 内核。接收多个事件并使用大量 CPU 来处理这些事件的监听程序可减少数据网格可用的 CPU,并减慢所有其他操作的速度。
对于远程缓存,Data Grid 服务器使用内部流程来触发客户端通知。Data Grid Server 将事件从主所有者节点发送到注册侦听器的节点,然后再将其发送到客户端。数据网格服务器还包括一个后端机制,可在客户端监听器处理事件太慢时延迟写入操作以缓存缓存。
过滤监听程序事件
如果在每个写入操作上调用监听程序,Data Grid 会产生大量事件,在集群内部和外部客户端创建网络流量。它都取决于使用各个侦听器注册的客户端、它们触发的事件类型以及数据网格集群上的数据更改方式。
例如,如果您有 10 个客户端注册了可发出 10 个事件的监听程序,则数据网格服务器通过网络发送 100 个事件。
您可以使用自定义过滤器提供 Data Grid Server,以减少客户端的流量。过滤器允许数据网格服务器首先处理事件,并确定是否将其转发到客户端。
持续查询和监听程序
持续查询可让您接收匹配条目的事件,并提供部署客户端监听程序和过滤监听器事件的替代选择。当然查询需要额外的处理成本,但如果您已经索引缓存并执行查询,则可能需要使用持续查询而不是客户端监听器。