我们正在尝试评估Kafka并在我们的软件中替换Rabbit Mq.
我们知道Kafka在RabbitMq方面优于离线消费,巨大的持久性,卓越的性能,低延迟和高吞吐量.
但我们需要像RabbitMq一样的功能,使用主题交换粒度路由进行异构消费.
在某种程度上,我们可以通过在Kafka中为每个代理提供更多的分区来实现这一目标.但它有自己的局限性,例如znode上主题元数据的开销,增加延迟.
我们的用例是过滤分区内的数据.假设您在一个分区中获得了100个类似类型的传感器数据.消费者是否有能力仅选择少量传感器数据而忽略其余数据.
我们可以在应用程序(消费者)方面进行过滤/路由,但它似乎不是可重用的,并且在每个消费者方面都有额外的开销.
Kafka有没有办法通过最佳分区数提供丰富的路由功能?
谢谢,Ashish
我们可以使用委托来调用回调方法.例如,
public delegol bool ContinueProcessing();
//稍后我们可以写代码,
ContinueProcessing cp = new ContinueProcessing(IsDataAvailable);
cp + = new ContinueProcessing(IsTransactionComplete);
//稍后在代码定义方法
bool IsDataAvailable(){return true; }
bool IsTransactionComplete(){return true; }
cp.Invoke();
上面的调用将一个接一个地调用两个布尔方法.为什么我们需要"活动"?"活动"的目的是什么?
我知道 Redis 具有 RDB 和 AOF 的持久性选项,这对我来说或多或少是整个 redis 缓存存储备份。
我们是否仅对选定的键具有持久性能力?一种解决方案是具有较长的 TTL,但在电源故障或崩溃的情况下仍然会丢失。
我的要求不是从 redis 中保留整个数据,而是保留选定的键。
谢谢,阿希什