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

Reply via email to