youzan/nsq

【一个小疑问】使用有赞的NSQ,还是直接使用Kafka

hzy38324 opened this issue · 3 comments

阅读了有赞技术博客redesigned nsq系列的四篇文章之后,发现很多对nsq功能的增强思路,都是借鉴了Kafka

比如采用磁盘存储来实现数据可靠性、可回溯,使用partition复制实现数据的备份,借助etcd来进行master选举(kafka使用的是zk)、通过客户端记录cursor来实现顺序消费等等

貌似大佬是把一个比较轻的消息中间件,改造成了一个不像kafka那么多功能,却又比原生nsq重一点的消息中间件了

所以想问一个问题,如果不考虑兼容性,那么我是直接选用kafka呢?还是使用有赞的nsq? 有没有性能测试数据?

这个还是得看公司自己的具体情况去选择. 一般来说如果是Go技术栈的, 还是推荐NSQ, 其他考虑业务需求, 比如如果需要有自动重试和延时消费功能, 或者对消费延迟比较敏感的, 严格顺序的需求(Kafka只是一般情况下满足顺序不保证严格), 消费过滤功能, 可以考虑NSQ. 如果是业务上需要利用kafka去对接其他离线系统实现各种离线日志分析能力, 可以考虑kafka. Kafka在临时存日志这种场景有一定的优势. 另外也看维护能力, Scala和Go语言相比, Go相对更简单点.

请问如果是 python 技术栈,推荐使用哪个?

,推荐使用哪个?

还是要看具体场景的