2009/1/7 nitingupta183 <nitingupta...@gmail.com>: > > Hi All, > > I am quite new to message driven applications/architecture. I have a > requirement which makes my application a candidate for the JMS/Apache Camel. > > I have got one application which is required to integrate with few SMS > servers. These SMS servers can be located in different countries. My app is > to be able to send and receive messages from these SMS servers > asynchronously. > > Please help me with following so that I can design a solution: > > 1) Where should I put the message broker (ActiveMQ). On the SMS server side, > my app side or at both the sides should I put a broker.
Closest to the clients that send/consume the most JMS traffic. A single broker should do fine for a while; so I'd say put it with (or in the same JVM as) your app > 2) Initially I thought that I can put the broker on the SMS server side and > my app can register itself as a listener on this broker. Similarly my app > can send all the messages to this broker which can be listened by the SMS > server. But I am not sure whether it will have any performance impact as the > two servers can be in different countries. Would the JMS consumer be in the SMS server? Am sure it'd be fine whichever way around you do it really. > 3) My app is going to be quite heavy on the machine on which it will run. So > if I must put a broker to my app side, will that degrade the performance of > my app. Maybe another box on the same LAN as your app? Though if your SMS server box isn't hammered, put it there. The only real cost with moving it far away over a WAN rather than being close on a LAN is gonna be added latency sending messages around really. > 4) What are the best practices of deploying a broker? Run it using the scripts supplied; then use the web console and/or JMX to monitor it. -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://fusesource.com/