Hi Rafael, good question what is meant by a Fey cluster? The Fey that I can download today runs at on single server (say a Raspberry Pi at the low end) and I would like also to run Fey at the Cluster level (say on a Mesos cluster). My use case of has Fey running standalone on micro-servers that are connected to the cloud. At the cloud I am running a Mess cluster and I want to replace some existing technology running on Mesos with a version of Fey that will run across that Mesos Cluster. This is one meaning of running Fey as a cluster that I would like to see. I would like to see my performers with upwards and downwards scalability over a cluster.
Just for clarification my use case doesn’t look at the micro-servers and the cloud Mesos cluster as one large network on which I want to run a single instance of clustered Fey. It’s a simpler use case in which each micros-server runs a standalone version of Fey and on my Mesos cluster I need a version of Fey on the iota roadmap that will allow me to distribute my orchestrations/performers across my Mesos cluster. Since Akka is part of the SMACK stack (Spark, Mesos, Akka, Cassandra and Kafka) there may already be a way of running Fey on a Mesos cluster. I would like to see the Fey cluster version on the iota dev roadmap. There might be some interesting use cases in which Akka remoting might be used. I would love to hear about them and in general other use cases that folks have in mind for Fey. -Tony > On May 25, 2017, at 11:58 AM, Rafael Weingärtner > <[email protected]> wrote: > > Thanks for the feedback Barbara. Lucas is in route today, so I am answering > on his behalf. > > > I think our confusion is with this expression “cluster context”. > What do you (Fey) see as a cluster? Only a group of performers (agents) in > the same runtime (JVM)? > > Also, about these security issues, are you talking about the security > (confidentiality and integrity) of data transmitted from one performer to the > other remotely? > Regarding performers being unreachable; this might be the case if they are > inside a NAT. However, in the IoT space, the idea is to plug everything > directly to the Internet using IPv6; so, this should not be a problem, right? > At least that is how I see this expression; I do not work with IoT, so I am > probably wrong here. > > Having said that, our necessity is not in the IoT space, but still, Fey’s > design fits quite well our system’s requirements. The only point is that we > need our agents/performs to be fault-tolerant in case their runtime crashes. > Therefore, redundancy for the performers (agents) platform is a must. > > If this is interesting for Fey as a community we could start working together > on this matter. > > On Thu, May 25, 2017 at 1:25 PM, Barbara Malta Gomes > <[email protected] <mailto:[email protected]>> wrote: > Hi Lucas, > > Unfortunately Fey does not support remote connection between performers. > > Fey is not meant to be a connectivity protocol like MQTT or other messaging > framework. > The reason we do not implemented remote actors outside of a cluster context > is because of security and also in most use cases the Performers will be > unreachable from the "outside" (in a intranet). > > What we have today is an MQTT publisher Performer on one side and a MQTT > subscriber in the other side. > > But we can definitely discuss more about implementing this functionality on > Fey. > > Regards, > > > On Wed, May 24, 2017 at 12:55 PM, Lucas Berri Cristofolini > <[email protected] <mailto:[email protected]>> wrote: > Both, actually... > > I suppose clusterization for fault tolerance is actually a more immediate > concern, but the ability to run performers remotely is very interesting as > well :) > > On May 24, 2017 4:47 PM, "Rafael Weingärtner" <[email protected] > <mailto:[email protected]>> wrote: > Do you want only peer-peer communication? Or do you want clustering of agents > for fault-tolerant systems? > http://doc.akka.io/docs/akka/snapshot/java/common/cluster.html > <http://doc.akka.io/docs/akka/snapshot/java/common/cluster.html> > > On Wed, May 24, 2017 at 3:27 PM, Lucas Berri Cristofolini > <[email protected] <mailto:[email protected]>> wrote: > Yup, that worked just fine! > > I wrote the example you showed at ApcheCon in Java to test it out, and I was > now wondering if it is possible to run the two performers in that ensemble in > separate hosts. I suppose this would be akin to Akka's 'remoting' > (http://doc.akka.io/docs/akka/snapshot/java/remoting.html > <http://doc.akka.io/docs/akka/snapshot/java/remoting.html>). > > I saw some of the examples in GitHub but it isn't quite clear to me what I > need to set in order for the performers to be able to communicate in that > scenario. Are there any settings I can specify in the orchestration json to > point to the remote host that would be running the other performer? > > > PS: Thanks for the quick reply yesterday! > > On Tue, May 23, 2017 at 3:35 PM, Barbara Malta Gomes > <[email protected] <mailto:[email protected]>> wrote: > Hi Lucas, > > Good to hear that you are trying out iota. > > Sure, you can definitely write the performers in java. > You just have to do like you said, add the Fey .jar as a dependency, > implement a Performer that inherits from the FeyGenericActor and override the > functions. > > Once you have done that, generate the .jar for the performer and use it on > Fey. > > Let us know if you have any problems. > > Regards, > > On Tue, May 23, 2017 at 11:27 AM, Lucas Berri Cristofolini > <[email protected] <mailto:[email protected]>> wrote: > Hello, Iota community! :) > > One of my colleagues watched Barbara's talk at ApacheCon 2017 in Miami, and > we were really interested in the way the Fey Engine works. > > I've been wanting to try it out since then but only got around to it today, > and after going through the GitHub page for the project and Barbara's slides, > I'm wondering if it is possible to write the performers in Java, since the > Engine seems to take compiled .jars. > > If that's possible, how would one go about doing it? Is it just a matter of > adding the fey engine as a dependency and overriding the right functions? > > Cheers! > Lucas > > > > -- > Barbara Gomes > Computer Engineer > San Jose, CA > > > > > -- > Rafael Weingärtner > > > > -- > Barbara Gomes > Computer Engineer > San Jose, CA > > > > -- > Rafael Weingärtner
