Pub/Sub 事件通知
如果多个客户端连接在一个缓存环境中,它们之间需要有有效的通信。 事件通知是 Pub/Sub 中的一种有效机制,用于通知发布者和订阅者有关缓存和应用程序中发生的各种事件。
备注
此功能也可用于 NCache Professional.
消息传递失败通知
在发布/订阅中 消息传递失败 通知由发布者针对主题注册。 当消息无法传递给订阅者或者消息在传递前被逐出或过期时,此失败通知连同失败的消息一起发送给发布者。
交付失败通知 发送到已在主题上注册消息失败事件的任何发布者。
如果消息由于任何错误而无法传递,主题将重试传递该消息,直到该消息过期或被逐出。
如果触发消息过期,则会向发布者发送包含过期消息和失败原因的通知。
如果消息被标记为失败,则消息仅发送给发布者。
如果消息已发布到未配置任何过期的主题,则不会向发布者发送通知,因为消息将保留在主题中,直到缓存处于活动状态。
如果您已禁用逐出并且未设置消息过期时间,则您的消息将保留在缓存中,并且缓存将变满。 当缓存已满时,它将不再接受任何进一步的请求,并且将来的消息将无法传递。 在这种情况下,还将触发传递失败通知并将其发送给已注册该通知的发布者。
消息收到通知
消息接收回调 针对主题向注册订阅者触发事件,以便它可以接收发布的消息。
订户注册一个 消息接收回调 反对话题。
订阅者异步接收消息。 订阅者根据对消息感兴趣的主题注册活动。 当在主题上发布消息时,它会将消息传递给订阅者。
主题删除通知
如果主题被删除,它会从缓存中删除所有消息和相关元信息。 因此,由于以下原因,必须通知订阅者和发布者此删除:
订阅者可能正在等待来自注册主题的传入消息。 一旦主题被删除,订阅者就可以通过事件通知相应地处理其执行,并防止无限等待状态。
发布者可以避免向不存在的主题发送消息,并相应地处理任何待处理的有效负载和未来的执行。
更多资讯
NCache 为 Pub/Sub 提供了一个示例应用程序 GitHub上.
参见
.NET: Alachisoft.NCache.运行时.缓存 命名空间。
Java的: COM。alachisoft.ncache.runtime.caching 命名空间。
节点.js: 话题 类。
Python: ncache.client.services 类。