|
Mark,
I would like eliminate the dtaq's. This application is a two step process. A store system connects via sockets to our corporate server, which spawns a server job, JobA. JobA drops the data in the dataq waits for a response message on a separate dtaq. JobB (t,he job discussed in my previous email) then receives the data from the dtaq, send it to the out for an approval, the puts the message on the second dtaq for JobA. So the best solution would be to combine these two jobs so that the same job receives connections from our stores and sends the message to the outside vendor.
I agree with you, provided that there's a one-to-one relationship between JobA and JobB. Does one JobA always talk to one JobB? Or does JobB handle multiple instances of JobA simultaneously? That's where things start to get hairy.
The nice thing about data queues is that you can have 500 JobA's, and maybe 50 JobB's that handle all 500 JobA's. You can do the same thing with sockets, but it won't be as easy.
This would eliminate some other timing issues that occasionally cause problems. However, I am not sure how to do this. I haven't really use the select( ) statement much. Is this similar to your multiple client example in your tutorial? How would this scale?
I don't remember what my tutorial says, I wrote it too long ago! ServerEx4 & 5 are probably pretty similar to what you'd do.
Scalability might be a problem. How many sockets do you think you'd need to handle at once?
As you correctly surmised, this is application handles a high volume of transactions. Would I just create multiple jobs, each listening on a different port?
You could, but it wouldn't achieve load balancing! Each connection would have to decide ahead of time which port to connect to. It might make sense to have only one port that connections can be made on so that your program can take over the load balancing aspects of it.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.