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