O'Reilly - Java Message Service
O'Reilly - Java Message Service
O'Reilly - Java Message Service
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Java</strong> <strong>Message</strong> <strong>Service</strong><br />
A decentralized architecture may also mean that the persistence mechanism for guaranteed<br />
messaging is pushed out to the client machines. No matter how efficient the storage<br />
algorithm, disk I/O is always going to be the biggest bottleneck. Choosing to use such an<br />
architecture would require that the client machines have disk storage that is both fast and<br />
large.<br />
There is disagreement as to whether guaranteed messaging (storing persistent messages)<br />
benefits from a decentralized architecture. Proponents of a decentralized architecture argue<br />
that the I/O load is distributed among the clients and is therefore faster. On the other hand,<br />
client I/O is not nearly as reliable, nor is it as fast as a centralized server with a powerful<br />
disk system.<br />
7.2.4.3 Network routers and firewalls<br />
Although technically possible, it is unlikely that a firewall administrator will allow UDP<br />
traffic to pass through a firewall. Firewalls typically disallow all traffic, except for traffic<br />
to or from specific hosts, using specific protocols. UDP traffic is rarely allowed through a<br />
firewall for various reasons.<br />
In recognition of the problems with IP multicast (lack of support, and firewall blocking),<br />
messaging vendors that use IP multicast provide software bridge processes to carry<br />
messaging traffic across routers and firewalls. The bridges may consist of one or more<br />
processes connected together by HTTP, SSL, or TCP/IP.<br />
If you're considering a vendor that supports multicasting, it is worth considering what<br />
percentage of your message traffic is going through one of these bridges. If all of your<br />
messages are going through the firewall over an SSL or HTTP connection, there will be<br />
little point in using multicasting behind the firewall for performance reasons. If the routers<br />
in your deployment environment require that a number of TCP/IP-based bridges be put in<br />
place, the performance benefits of multicast are diminished, depending on how many of<br />
these you have to put in place and administer. The messaging system is only as fast as its<br />
slowest link.<br />
If most of the message traffic is confined to your corporate LAN or a VPN and you have<br />
full control over it, IP multicasting is a very attractive option.<br />
7.2.4.4 Some vendors support both centralized and decentralized architectures<br />
In recognition of these issues, the vendors who support IP multicast also provide<br />
centralized servers using TCP/IP socket connections. This could mean you have two<br />
different architectures to configure and support: one configuration for the nonguaranteed<br />
one-to-many pub/sub multicast of messages within a subnet on your corporate LAN, and<br />
another for everything else. It is important to consider what it will mean to choose one of<br />
these architectures at deployment time, or how you will switch from one mode to the other<br />
after your application is deployed.<br />
115