Hi all, This is to discuss about $subject.
By default Mesos-Marathon [1] does not have an overlay network. Therefore when deploying wso2 products in distributed/HA manner in mesos, the products are unable to create point to point TCP connections directly from container to container. In Carbon products, p2p connections are created by Hazelcast, within cluster members. Since this is just for communication purposes, its possible to do a workaround by querying the API for the IPs of the host machine. This is done in the Mesos membership scheme [2]. There are few places where we need to create TCP Listeners, for an example in CEP HA/Distributed setup [3]. For this, we can't just bind to the host node IP since the public IP is not visible to the container; and can't use the local container IP since container to container communication is not possible (due to the lack of an overlay network). One possible option is such scenarios is to use the HOST networking mode of Docker [4]. Then the container will be using the host IP and ports directly. One issue with this approach is since we are mapping container ports to host ports directly without assigning random ports from the host side, only one container can run in one host node. But, in a way this defeats the purpose of containerization. Please share your thoughts on this. [1]. https://github.com/mesosphere/marathon [2]. https://github.com/wso2/mesos-artifacts/tree/master/common/mesos-membership-scheme [3]. https://docs.wso2.com/display/CLUSTER44x/Clustering+CEP+4.0.0#ClusteringCEP4.0.0-Highavailabilitydeployment [4]. http://www.dasblinkenlichten.com/docker-networking-101-host-mode/ -- Thanks and Regards, Isuru H. +94 716 358 048
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev