[翻译]ActiveMQ的拓扑结构,以及个别协议的使用
??????? 原文可以参考这里: http://activemq.apache.org/topologies.html
??????? 今天在研究如何为ActiveMQ做集群,在找文档的过程中,发现这篇文章,感觉对理解ActiveMQ工作方式很有用,在这里打算把这篇文章翻译一下,权当做个笔记:, 自己解释的部分会使用"引用"表示出来.
一. 拓扑结构![[通译]ActiveMQ的拓扑结构,以及个别协议的使用](http://img.reader8.net/uploadfile/jiaocheng/20140188/3055/2014013012551419.jpg)
????????????????????????? 我们还一个使用它划分消息组. 例如, 如果要在同一JVM中,使用不同的JMS网络逻辑,则需要进行如下配置:
?
vm://localhost/foo
???????????????????????? 这样可以确保不同的部分之间可以不相互影响, 不过我们也可以使用唯一topic(主题)和queue(列队)的destination 来确保消息在同一逻辑网络中进行通信.
tcp://somehost:port???????????????????? SSL:
ssl://somehost:port
?????????????????????????? 我们也可是使用 Discorvery? 的方式查找可用的Broker来无缝的链接到一个broker集群中.
?
????????????????? 3. Embedded Broker 内嵌 Broker 的方式:
??????????????????????????? 这种方式与Client-Server方式类似,不同的是,客户端中内嵌了一个Broker. 这样可以使得客户端和Broker(服务器)的通讯在同一个JVM进行.这种方式不用使用真实的网络. 如果需要,可以让内嵌的Broker与网络上的Broker或者客户端进行链接并通讯.
?????????????????????????? This can avoid the extra hop required to go from producer to broker to consumer - which is a great optimisation for RMI / RPC style situations, where you want the performance benefits (reduced latency) of point to point networking but with the scalabilty of a flexible messaging fabric. (这段话还是没能完全理解.)
?????????????????????????? Embedded Brokers 也可以简化部署. 他只需要一个较小的process需运行.
?????????????????????????? 内嵌Broker的另一应用场景是隔离每一服务 , 可以使他们独立的进行消息存储和转发.这样可以使得远程Brokers 在出错死掉的情况下,也不影响内嵌Broker的运行.? 如果整个网络都瘫痪了, 每个服务都可以使用自己身内嵌的Broker进行消息的发布.
?????????????????????????? 你可以在这里找到 Embedded broker 的配置:
?????????????????????????? http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html
?
??????????????????? 4. Peer to Peer? 点对点 的方式:
??????????????????? 5. JXTA
?
写道后面两种方式,不是很理解,暂时不做翻译,以后搞明白了再不上??
?
?
?