Update: DAS, CEP and MB are the three products that currently we have identified, which need point to point TCP connections for HA deployment.
*DAS and CEP:* This is required for event synchronization [1,2] using thrift transport. Had a offline chat with Sinthuja on this. As per the ThriftDataReceiver code [3], the thrift event receiver actually picks up the bind hostname from repository/conf/data-bridge/data-bridge-config.xml file. In that case, we can simply use the local IP for Thrift event receiver, and use the mapped host ip and port for the event synchronization configuration. *MB:* Required for slot co-ordination [4]. As the solution, we would need to define a bind ip + port and a separate public ip + port to advertise. Had a discussion regarding this with Ramith. If MB is using the same thrift data receiver [5], we might be able to use data-bridge-config.xml to define a bind ip. @Ramith: Can you please clarify this? [1]. https://docs.wso2.com/display/CLUSTER44x/Minimum+High+Availability+Deployment+-+DAS+3.0.1 [2]. https://docs.wso2.com/display/CLUSTER44x/Clustering+CEP+4.0.0#ClusteringCEP4.0.0-Highavailabilitydeployment [3]. https://github.com/wso2/carbon-analytics-common/blob/master/components/data-bridge/org.wso2.carbon.databridge.receiver.thrift/src/main/java/org/wso2/carbon/databridge/receiver/thrift/conf/ThriftDataReceiverConfiguration.java [4]. https://docs.wso2.com/display/CLUSTER44x/Configuring+the+Broker+Nodes [5]. https://github.com/wso2/carbon-analytics-common/blob/f3ff09d9655bf599d45436f0630b6413fc3d1b60/components/data-bridge/org.wso2.carbon.databridge.receiver.thrift/src/main/java/org/wso2/carbon/databridge/receiver/thrift/ThriftDataReceiver.java On Tue, Jul 12, 2016 at 1:52 PM, Udara Liyanage <ud...@wso2.com> wrote: > > > On Tue, Jul 12, 2016 at 12:56 PM, Isuru Haththotuwa <isu...@wso2.com> > wrote: > >> 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. >> > Using host mode would be a good alternative. I don't think limiting one > container per Mesos node (Mesos HOST=UNIQUE constrain) in this scenario > since a HA Mesos deployment will have multiple Mesos nodes. > Another advantage of running in host mode is performance efficiency rather > than bridge mode. Network efficiency would be useful in thrift scenario > since it is assumed to be fast. > Agreed. However, IMHO we should consider this as the last option if nothing else works out. > >> 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 >> >> > > > -- > > Udara Liyanage > Software Engineer > WSO2, Inc.: http://wso2.com > lean. enterprise. middleware > > web: http://udaraliyanage.wordpress.com > phone: +94 71 443 6897 > -- Thanks and Regards, Isuru H. +94 716 358 048* <http://wso2.com/>*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev