23.07.2013 Views

O'Reilly - Java Message Service

O'Reilly - Java Message Service

O'Reilly - Java Message Service

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!