gpt4 book ai didi

asp.net - Redis 是适合公司警报消息系统的消息系统吗?

转载 作者:可可西里 更新时间:2023-11-01 11:21:25 26 4
gpt4 key购买 nike

有人要求我为我的组织创建一个简单的警报消息传递系统。我一直在研究 Redis,我想知道是否应该使用它作为通信引擎来构建应用程序。

我的要求是:

  • Alert composer 必须基于网络
  • 警报消息必须能够发送到网络上的所有计算机或任何计算机子集
  • 计算机客户端必须向系统确认它收到了消息
  • 服务器必须可以跨数据中心集群化。
  • 消息必须快速传递给客户
  • 必须在 Windows Stack 上运行

我正在考虑为 Composer 建立一个带有 asp.net 页面的网络场,并将 SQL Server 作为数据存储库。我还计划在场中拥有一系列 WCF 端点,以处理服务器间通信和服务器-客户端通信。

服务器间通信用于协调和分发接收警报的客户端列表,而服务器-客户端通信用于将实际警报发送到客户端计算机。

我对这种方法的思考越多,就越意识到需要多少事件部件。 (心跳从每个客户端发送到服务器,心跳从所有服务器发送到彼此......)

自从阅读了有关 Redis 的内容后,我想知道是否可以删除 WCF 端点并使用 Redis 的发布-订阅功能来处理消息分发? Redis 是否将发布事件分发到集群中的所有节点?我能否让我的所有客户端应用程序直接订阅 Redis 数据库,这些连接是否会在集群上保持平衡?

最佳答案

Redis 集群还很年轻,对 Redis 来说不是一个很大的优势。主要用于redis节点之间的数据分片。 Redis sentinel主要是管理一个master(写)和多个slave(读)。平衡客户端之间的负载应该是手动 AFAIK。 redis 的分区容忍度实际上很差(但对其余部分来说还不错)。

您需要可靠的交付吗?您需要重新发送消息吗? Redis 不会那样做,如果你没有订阅,那么你将不会收到消息,也不会帮助你检查哪些消息已经发送(或者你在 redis 上使用企业集成模式实现你自己的系统)。此外,redis 不耐用,崩溃会导致数据丢失。

对于集群上的发布订阅,我建议您看一下 apache Kafka,它在集群技术中非常流行,尤其是在大数据方面。

http://kafka.apache.org

关于asp.net - Redis 是适合公司警报消息系统的消息系统吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29541562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com