We are planning to use Distributed Command Bus in our implementation as we need to distribute our microservices, command handlers and event handlers across different VMs. The issue that we are facing is, the deployment of these components on Cloud Foundry (as PaaS) in AWS. Cloud Foundry, per design, opens only one incoming port which is HTTP port for incoming request.
In case of microservices in CQRS Axon Framework, we would need 2 ports - one incoming HTTP request (which is not a problem) and another jgroups port to join the cluster and fire commands. The second port is a problem in Cloud Foundry environment because of the reason mentioned above.
Any hint to overcome this issue would be helpful. Do let me know if you need any further information on this.
Second problem is about command handlers. Though command handlers needs only one port and i can use the one opened by CF for incoming requests, the issue is with the IP address (jgroups bind address). The IP address of container in which command handlers are deployed are not exposed outside the host machine. Because of this, the command handlers are unable to participate in jgroups cluster.
We are kind of stuck with this scenrio.