由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 大牛们讲讲MQ到底好在哪里?
相关主题
版上研究kafka的人多吗redis, kafka
有没有像ZeroMQ一样Is Redis scalable?
Redis和Memcached有什么区别?学scala从akka入手就可以了
老魏 机器已经上了node.js不可放弃
这次python糗大了angular搞cross domain必须用node吗?
二爷看过来。写thread safe程序现在也是程序员必须要掌握的了吧
Cassandra 看测试read也不算慢呢stackoverflow上随便一个nodejs跟其他同类的比较
erlang系的东西从来都以量大著称看了一下Meteor很不错
相关话题的讨论汇总
话题: mq话题: zeromq话题: kafka话题: message话题: 异步
进入Programming版参与讨论
1 (共1页)
s********k
发帖数: 6180
1
为什么不直接上REST的web service, MQ也不都是异步的吧?
w**z
发帖数: 8232
2
MQ 都是异步吧。 还有broadcast 的功能。 producer 可以不管consumer 怎样处理,
如果consumer 处理复杂,耗时, consumer 可以 scale out。

【在 s********k 的大作中提到】
: 为什么不直接上REST的web service, MQ也不都是异步的吧?
s********k
发帖数: 6180
3
难道MQ本身都没有像web server那样一旦瓶颈?另外一半一个网站什么地方最需要MQ?

【在 w**z 的大作中提到】
: MQ 都是异步吧。 还有broadcast 的功能。 producer 可以不管consumer 怎样处理,
: 如果consumer 处理复杂,耗时, consumer 可以 scale out。

g*****g
发帖数: 34805
4
MQ当然会有瓶颈,所以才有相应的Scalable架构出现,如Kafka。所有异步处理的地方
都可以考虑MQ。

【在 s********k 的大作中提到】
: 难道MQ本身都没有像web server那样一旦瓶颈?另外一半一个网站什么地方最需要MQ?
p*****2
发帖数: 21240
5

大牛觉得什么MQ比较好用?

【在 g*****g 的大作中提到】
: MQ当然会有瓶颈,所以才有相应的Scalable架构出现,如Kafka。所有异步处理的地方
: 都可以考虑MQ。

s********k
发帖数: 6180
6
那MQ和那些本来就是异步的web框架比如python下面的twisted,或者比如NodeJS之类的
相比又有好在哪里?一般怎么选择什么地方用MQ,什么地方直接web方面?

【在 g*****g 的大作中提到】
: MQ当然会有瓶颈,所以才有相应的Scalable架构出现,如Kafka。所有异步处理的地方
: 都可以考虑MQ。

g*****g
发帖数: 34805
7
这个异步跟那个异步不一样。web service本质上是同步的,异步是说client call
server,等server做一些IO然
后call back。从客户端的角度看,类似NodeJS的Server跟同步的没什么不同,Server
端的所谓异步纯粹是实现上可以节省资源。当然也有所谓client端的异步无非就是起个
线程池等call back。
MQ这种异步就是发个消息,然后producer的任务就结束了。消息可以有多个consumer,
没有call back。当然consumer可以回过头来做producer发个消息。
web service是点对点的,MQ这种很多服务都可以公用一个。

【在 s********k 的大作中提到】
: 那MQ和那些本来就是异步的web框架比如python下面的twisted,或者比如NodeJS之类的
: 相比又有好在哪里?一般怎么选择什么地方用MQ,什么地方直接web方面?

s********k
发帖数: 6180
8
你意思就是MQ其实是client和server端都是异步?web service是只有server端是异步?
那client端一般把自己消息进了消息队列之后,怎么确认或者收到自己消息的反馈?还
是这个根本就不是MQ考虑的范围了?

Server

【在 g*****g 的大作中提到】
: 这个异步跟那个异步不一样。web service本质上是同步的,异步是说client call
: server,等server做一些IO然
: 后call back。从客户端的角度看,类似NodeJS的Server跟同步的没什么不同,Server
: 端的所谓异步纯粹是实现上可以节省资源。当然也有所谓client端的异步无非就是起个
: 线程池等call back。
: MQ这种异步就是发个消息,然后producer的任务就结束了。消息可以有多个consumer,
: 没有call back。当然consumer可以回过头来做producer发个消息。
: web service是点对点的,MQ这种很多服务都可以公用一个。

g*****g
发帖数: 34805
9
MQ里消息没有反馈一说,发完就不管了,而且可以多consumer。

步?

【在 s********k 的大作中提到】
: 你意思就是MQ其实是client和server端都是异步?web service是只有server端是异步?
: 那client端一般把自己消息进了消息队列之后,怎么确认或者收到自己消息的反馈?还
: 是这个根本就不是MQ考虑的范围了?
:
: Server

g*****g
发帖数: 34805
10
类比一下,web service就是个API call, 你可以弄个future等call back,MQ就如发
email。
相关主题
二爷看过来。redis, kafka
Cassandra 看测试read也不算慢呢Is Redis scalable?
erlang系的东西从来都以量大著称学scala从akka入手就可以了
进入Programming版参与讨论
s********k
发帖数: 6180
11
不错,古霸说下MQ在你们Netflix用的多吗?一般都是哪些地方最需要?

【在 g*****g 的大作中提到】
: 类比一下,web service就是个API call, 你可以弄个future等call back,MQ就如发
: email。

g*****g
发帖数: 34805
12
我们用来做publisher/subscriber。但凡多consumer的地方都需要MQ。
另外也用来decouple service。有的时候你并不希望两个服务互相依赖。

【在 s********k 的大作中提到】
: 不错,古霸说下MQ在你们Netflix用的多吗?一般都是哪些地方最需要?
d*******r
发帖数: 3299
13
大牛说说你们都用哪些 MQ 吧,JVM 上你们是用 Kafka?

【在 g*****g 的大作中提到】
: 我们用来做publisher/subscriber。但凡多consumer的地方都需要MQ。
: 另外也用来decouple service。有的时候你并不希望两个服务互相依赖。

w**z
发帖数: 8232
14
我们rabbitmq 和 Kafka 都用。每种mq都有多种语言的API 支持, producer 和
consumer 用什么语言都无所谓。

【在 d*******r 的大作中提到】
: 大牛说说你们都用哪些 MQ 吧,JVM 上你们是用 Kafka?
w**z
发帖数: 8232
15
就像好虫说的,只要是异步的,都会考虑用mq.

【在 s********k 的大作中提到】
: 难道MQ本身都没有像web server那样一旦瓶颈?另外一半一个网站什么地方最需要MQ?
d****i
发帖数: 4809
16
MQ为什么会有瓶颈?我觉得传统而成熟的ActiveMQ, ZeroMQ等等都很好啊。

【在 g*****g 的大作中提到】
: MQ当然会有瓶颈,所以才有相应的Scalable架构出现,如Kafka。所有异步处理的地方
: 都可以考虑MQ。

p*****2
发帖数: 21240
17
scale

【在 d****i 的大作中提到】
: MQ为什么会有瓶颈?我觉得传统而成熟的ActiveMQ, ZeroMQ等等都很好啊。
x****d
发帖数: 1766
18
ZeroMQ真的很不一样,一般说的mq应该不能把zeromq包括进去。

【在 d****i 的大作中提到】
: MQ为什么会有瓶颈?我觉得传统而成熟的ActiveMQ, ZeroMQ等等都很好啊。
x****d
发帖数: 1766
19
都是概念吧,rest要解决的问题和mq真的很不一样,你非要用rest解决mq的问题其实也
不是不可以的,就是有点再造轮子了。
举个不恰当的例子,你用http做文件传输,可以吧,那人家觉得用ftp更好,也没啥吧
g*****g
发帖数: 34805
20
什么东西量大了都会有瓶颈,除非是scale out 设计。

【在 d****i 的大作中提到】
: MQ为什么会有瓶颈?我觉得传统而成熟的ActiveMQ, ZeroMQ等等都很好啊。
相关主题
node.js不可放弃stackoverflow上随便一个nodejs跟其他同类的比较
angular搞cross domain必须用node吗?看了一下Meteor很不错
写thread safe程序现在也是程序员必须要掌握的了吧nodejs 流行的原因
进入Programming版参与讨论
s********k
发帖数: 6180
21
为啥zeroMQ不一样?不一样在哪里?

【在 x****d 的大作中提到】
: ZeroMQ真的很不一样,一般说的mq应该不能把zeromq包括进去。
x****d
发帖数: 1766
22
你用zeromq做个hello world,再用ActiveMQ做一个,RabbitMQ做一个,就清楚得很了
x****d
发帖数: 1766
23
ØMQ (also spelled ZeroMQ, 0MQ or ZMQ) is a high-performance
asynchronous messaging library aimed at use in scalable distributed or
concurrent applications.
Apache ActiveMQ is an open source message broker written in Java together
with a full Java Message Service (JMS) client.
RabbitMQ is open source message broker software (sometimes called message-
oriented middleware) that implements the Advanced Message Queuing Protocol (
AMQP). The RabbitMQ server is written in the Erlang programming language and
is built on the Open Telecom Platform framework for clustering and failover
. Client libraries to interface with the broker are available for all major
programming languages.
WebSphere MQ, which is often referred to simply as "MQ" by users, is IBM's
Message Oriented Middleware offering.
so, zeroMQ is library, others are MOM and client.
When we do jms programs with ActiveMQ, it is not like programming, it is
like doing configuration, but with ZeroMQ, you have to define your message
patterns from ground up, a lot of coding.
p*****2
发帖数: 21240
24

看来还是rabbit有意思

(
and
failover
major

【在 x****d 的大作中提到】
: ØMQ (also spelled ZeroMQ, 0MQ or ZMQ) is a high-performance
: asynchronous messaging library aimed at use in scalable distributed or
: concurrent applications.
: Apache ActiveMQ is an open source message broker written in Java together
: with a full Java Message Service (JMS) client.
: RabbitMQ is open source message broker software (sometimes called message-
: oriented middleware) that implements the Advanced Message Queuing Protocol (
: AMQP). The RabbitMQ server is written in the Erlang programming language and
: is built on the Open Telecom Platform framework for clustering and failover
: . Client libraries to interface with the broker are available for all major

s********k
发帖数: 6180
25
这样看来用zeroMQ成本更高啊?开发需要专门做而不是配置下就行,好处在哪里呢?

(
and
failover
major

【在 x****d 的大作中提到】
: ØMQ (also spelled ZeroMQ, 0MQ or ZMQ) is a high-performance
: asynchronous messaging library aimed at use in scalable distributed or
: concurrent applications.
: Apache ActiveMQ is an open source message broker written in Java together
: with a full Java Message Service (JMS) client.
: RabbitMQ is open source message broker software (sometimes called message-
: oriented middleware) that implements the Advanced Message Queuing Protocol (
: AMQP). The RabbitMQ server is written in the Erlang programming language and
: is built on the Open Telecom Platform framework for clustering and failover
: . Client libraries to interface with the broker are available for all major

g*****g
发帖数: 34805
26
Lightweight and flexible. Many times you need a chopping knife, not a swiss
army knife. That being said, it's between RabbitMQ and Kafka these days,
with Kafka gaining momentum.

【在 s********k 的大作中提到】
: 这样看来用zeroMQ成本更高啊?开发需要专门做而不是配置下就行,好处在哪里呢?
:
: (
: and
: failover
: major

h****r
发帖数: 2056
27
Kafka seems having scalability issue.

swiss

【在 g*****g 的大作中提到】
: Lightweight and flexible. Many times you need a chopping knife, not a swiss
: army knife. That being said, it's between RabbitMQ and Kafka these days,
: with Kafka gaining momentum.

s********k
发帖数: 6180
28
这两个谁是chopping knife,谁是swiss army knife?貌似Kafka更复杂?

swiss

【在 g*****g 的大作中提到】
: Lightweight and flexible. Many times you need a chopping knife, not a swiss
: army knife. That being said, it's between RabbitMQ and Kafka these days,
: with Kafka gaining momentum.

N*****m
发帖数: 42603
29
link?

【在 h****r 的大作中提到】
: Kafka seems having scalability issue.
:
: swiss

g*****g
发帖数: 34805
30
I believe it's the other way around. Kafka is built up as a distributed MQ,
while most other systems have HA as an afterthought.

【在 h****r 的大作中提到】
: Kafka seems having scalability issue.
:
: swiss

相关主题
异步的话,所有语言都有自己的环境有没有像ZeroMQ一样
vert.x平台上的新东西很让人兴奋阿Redis和Memcached有什么区别?
版上研究kafka的人多吗老魏 机器已经上了
进入Programming版参与讨论
g*****g
发帖数: 34805
31
zeroMQ is a chopping knife.

【在 s********k 的大作中提到】
: 这两个谁是chopping knife,谁是swiss army knife?貌似Kafka更复杂?
:
: swiss

T*******x
发帖数: 8565
32
赞。

(
and
failover
major

【在 x****d 的大作中提到】
: ØMQ (also spelled ZeroMQ, 0MQ or ZMQ) is a high-performance
: asynchronous messaging library aimed at use in scalable distributed or
: concurrent applications.
: Apache ActiveMQ is an open source message broker written in Java together
: with a full Java Message Service (JMS) client.
: RabbitMQ is open source message broker software (sometimes called message-
: oriented middleware) that implements the Advanced Message Queuing Protocol (
: AMQP). The RabbitMQ server is written in the Erlang programming language and
: is built on the Open Telecom Platform framework for clustering and failover
: . Client libraries to interface with the broker are available for all major

1 (共1页)
进入Programming版参与讨论
相关主题
看了一下Meteor很不错这次python糗大了
nodejs 流行的原因二爷看过来。
异步的话,所有语言都有自己的环境Cassandra 看测试read也不算慢呢
vert.x平台上的新东西很让人兴奋阿erlang系的东西从来都以量大著称
版上研究kafka的人多吗redis, kafka
有没有像ZeroMQ一样Is Redis scalable?
Redis和Memcached有什么区别?学scala从akka入手就可以了
老魏 机器已经上了node.js不可放弃
相关话题的讨论汇总
话题: mq话题: zeromq话题: kafka话题: message话题: 异步