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。 |
|
|
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等等都很好啊。
|
|
|
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
|
|
|
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
|