OK, so I'd maybe run a broker on the same LAN as the application - maybe on another box if the application box is gonna be heavily used. Particularly if you have many SMS servers in different countries.
2009/1/7 nitingupta183 <nitingupta...@gmail.com>: > > Hi James, > > Thanks for your response. > > Actually both, the application and the SMS server are being developed by me. > Both can send and consume messages. Application will do a routing of the > messages and will send it over to a particular SMS server. So a message M, > can be sent to SMS server in Canada or a SMS server in India, depending upon > run time conditions. > Any message that comes to the SMS server from the underlying GSM channel > will always be delivered to the application. > > So application can send messages to multiple consumers (only pne at a time) > while SMS server can always send message to the same consumer. > > Load on application is going to be more as it can receive messages from > multiple SMS servers but a SMS server can only receive JMS messages from one > source i.e. application. > > Regards, > nitin > > > James.Strachan wrote: >> >> 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/ >> >> > > -- > View this message in context: > http://www.nabble.com/JMS-Design-related-question-tp21325598s22882p21327352.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://fusesource.com/