This is a large question, with no easy answer.
Service Instances per ESB Container
- Generally there is no limit. It is useful to place MANY in the same container (a few to dozens). You want to pick these for two main reasons;
- Intracontainer -- make sure you have all the related services together.
- Refresh/Update -- you can stop and reload classes at the container level. If you have too many in one container, you can't update one service without affecting others.
- Normally the intracontainer is the main one.
LIsteners per Service
- This determines your parallellism in one container.
- Remember, the listener count is used for two things:
- 1. The number of JMS Listener Threads on the Entry Endpoint.
- 2. The number of concurrent calls to the service (including intracontainer)
- That is, the listerner count is used by both intracontainer and JMS listeners.
- Generally, if you have JMS listeners, you want a number like '10'. This is because each will have a JMS Session and Listener.
- If you have not Entry Endpoint, pick a number equal to the total 'real' listeners that might use this service. (or pick a big number like 100)