[akka-user] Is it possible?
Hi all, https://lh5.googleusercontent.com/-vLcq9fYc-T4/VKOGS-l6GyI/AJc/1IUWf9qTrC4/s1600/kks.PNG I am a student, trying to horizontally scale a tool. I just want to know that, Can we have a ActorSystem defined on a node and some of the actors from the same actor system deployed on the multiple nodes just for execution? and how I can do this? And also Can I return the data updated by the actors deployed on nodes to the node1 in the architecture? Thanks Regards Krishna Kadam -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Possibility of deploying actors from single ActorSytem to multiple nodes
Hello there, You’re interested in akka-remoting - doc.akka.io/docs/akka/current/scala/remoting.html It allows to spawn actors on remote nodes. For starters: read up that documentation (remoting), and maybe have a look at the cluster http://doc.akka.io/docs/akka/current/scala/cluster-usage.html And yes, you can of course send messages between actors on different nodes. -- Konrad 'ktoso' Malawski hAkker @ typesafe http://akka.io On 31 December 2014 at 06:23:49, Krishna Kadam (shrikrishna.kad...@gmail.com) wrote: Hi all, I am a student, trying to horizontally scale a tool. I just want to know that, Can we have a ActorSystem defined on a node and some of the actors from the same actor system deployed on the multiple nodes just for execution? and how I can do this? And also Can I return the data updated by the actors deployed on nodes to the node1 in the architecture? Thanks Regards Krishna Kadam -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Streams, Flows, and integrating an external flow
I had created a ticket for this problem https://groups.google.com/forum/#!topic/akka-user/BVPHAHpgAc8. But everything is working fine with the new version 1.0-M2 It's now closed. Thanks for all Le mardi 16 décembre 2014 23:35:04 UTC+1, rkuhn a écrit : Hi Xavier, thanks for the test case, I cannot immediately see anything wrong with it, would you mind filing a ticket about this? Thanks, Roland 16 dec 2014 kl. 18:13 skrev Xavier Bucchiotty xbucc...@xebia.fr javascript:: I'm also trying the SslTls support from akka-stream 1.0-M1 I've tested it and may found a problem: https://github.com/xbucchiotty/akka-stream-ssltlscipher This is inspired from an Echo. A client just send a message and a server replies with Uppercase This is the log from the client ``` | = : plainOutbound == hello | = : plainOutbound == completed ``` It sends hello, then this subgraph is completed Then the Handshake negotation starts between client and server ``` | = : cipherTextOutbound == 40T�gjҼ~���E�(�f}}���Qr�(8�XC�/� | = : cipherTextOutbound pull = |: cipherTextOutbound == �MT�gj ... = |: plainInbound == hello = |: plainInbound pull = |: plainOutbound == HELLO = |: cipherTextOutbound == v���W��ϼ5~u,0�-,g@�T = |: cipherTextOutbound pull | = : plainInbound == HELLO | = : plainInbound pull ``` we can see from the logs that the server receive hello, make the upperCase and the client receives HELLO. But all the streams are not completed. I tried to look at the SslTlsCipherActor but didn't found yet this event has been swallowed. Do you think with this new kind of SuperFlow with 2Inputs/Ouputs would solve the problem on later versions? Le samedi 13 décembre 2014 08:56:21 UTC+1, rkuhn a écrit : Hi Brandon, an SSL element has a little more complex structure: it has two inputs and two outputs and they are all connected via the SslEngine. We’ll provide such bidirectional Flow elements soon (they will be like PartialFlowGraphs internally), but if you want to play with it then you might look at GraphFlow for some inspiration. Regards, Roland 12 dec 2014 kl. 18:32 skrev Brandon Arp brand...@gmail.com: I'm working on implementing an TLS/SSL client using the Akka streams and http components, but I've run into a bit of a snag. My overall approach is to open a TCP stream, create an SslTlsCipher (from a SslTlsCipherActor), modify the tcp flow to include the encryption/decryption steps, then transform the stream with the Http.transportToConnectionClientFlow. I used the SSL specs at https://github.com/akka/akka/blob/62a20195af79c7b405303b5f97970c9ca7a6891a/akka-stream/src/test/scala/akka/stream/io/SslTlsFlowSpec.scala as a kind of guide to get everything started. The problem I'm having is creating a flow that does the encryption and decryption. I thought it would be as easy as doing Flow(Sink(cipher.plainTextOutbound()), Source(cipher.cipherTextOutbound())).via(outgoingConnection.flow()), but on materialization I am getting the error message Failure(java.lang.IllegalArgumentException: requirement failed: Graph must be connected). Am I misunderstanding what is going on? Does creating the flow with a sink and a source then calling via not attach the next flow properly? Is this a bug in the library or a flaw in my understanding? Thanks, Brandon -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com. To post to this group, send email to akka...@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. *Dr. Roland Kuhn* *Akka Tech Lead* Typesafe http://typesafe.com/ – Reactive apps on the JVM. twitter: @rolandkuhn http://twitter.com/#!/rolandkuhn -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. *Dr. Roland Kuhn* *Akka Tech Lead* Typesafe http://typesafe.com/ – Reactive apps on the JVM. twitter: @rolandkuhn http://twitter.com/#!/rolandkuhn -- Read the docs:
[akka-user] Re: Is it possible?
Hey there, I believe this question thread is a duplicate of: https://groups.google.com/forum/#!topic/akka-user/TcxvaehkVSs Let's please continue only in one and discard this duplicate - thanks! -- Konrad -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] Broadcast messages to an Akka Sharded Cluster
Thanks! That looks like it will work for me. On Tuesday, December 23, 2014 11:49:59 AM UTC-6, Michael Frank wrote: i think distributed pub-sub is what you need: http://doc.akka.io/docs/akka/2.3.8/contrib/distributed-pub-sub.html (somewhat hidden under 'External Contributions'). -Michael On 12/23/14 08:33, Terry Heinze wrote: Hi, I'm just in the early stages of migrating a simulation that uses the old Scala Actors to use Akka instead. The application generates a very large pool of stateful actors that inter-communicate with each other. The functionality in the cluster sharding example (the one the creates blog posts) is quite close to what I need. What I haven't discovered yet is an obvious way to let one actor in the cluster broadcast a message to all of the other actors in the cluster (or a large subset of the cluster) for affinity propagation. I tried a simplistic approach of just sending to a masked path, but that only sent the message to the actors that were on the same node and not the entire cluster. context.actorSelection(/user/sharding/MyPool/*) ! Notify(*Hi, I was just added*) It seems like I should be sending the message to the shard region instead, but the examples I'm finding only show using an IdExtractor to locate a specific actor in the cluster and not to the entire cluster. The secondary shard region in the blog example stores a subset of the cluster (the author listings) is basically the tactic I use in the original simulation (an external mutable map of actor references). Is there a recommend way to implement broadcasting? -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Re: Figuring out Docker and Akka clustering with 2.4-SNAPSHOT (bind-hostname, bind-port)
Think I've got it! Here's the recipe for application.conf I got working to make Akka clustering work w/Docker: akka { loglevel = ERROR stdout-loglevel = ERROR loggers = [akka.event.slf4j.Slf4jLogger] actor { provider = akka.cluster.ClusterActorRefProvider } remote { enabled-transports = [akka.remote.netty.tcp] netty.tcp { # Outside Docker bind-hostname = ${dkr.local} # Inside Docker addr hostname = ${dkr.hostname} port = ${dkr.port} } } cluster { auto-down = on log-info = off } } Key Points: 1) seed-nodes (and roles FWIW) are set by my program but could be added to the cluster section here. I happen to pass them into Docker via a parameter. The IPs of the seeds are host IPs not the Docker-internal IPs (which I basically don't care about). 2) dkr.hostname/dkr.port are passed into Docker via parameters. This is the *host* IP/port you want to run on (i.e. Docker-external IP addr). Although I don't happen to care, I believe this also runs Akka on the same port inside Docker. It might be an issue if you are running lots of things in your Docker container using ports, but I'm just running Akka, so I'm not picky. 3) dkr.local is set by my program (not passed in) and is just the Docker-internal IP address (retrieved by java.net.InetAddress.getLocalHost().getHostAddress()). Took a little doing to get this right but it works. This new binding functionality is a fantastic addition to Akka, as Docker is really a DevOps darling. Looking forward to full 2.4 release! On Monday, December 29, 2014 2:03:33 PM UTC-6, tigerfoot wrote: Hello, I'm trying to figure out how to get 2.4-SNAPSHOT going with Docker such that 1) I can access akka+http outside the running Docker container (i.e. from the host), and 2) I can enable clustering/discovery. I see from discussion threads and docs that the new bind-hostname and bind-port are designed to do this, but I haven't been able to come up with the right recipe to use them yet. My code passes these arguments when Docker starts up: - IP address of host machine - port for Akka on host - http port Like this: docker run -i -t -p 9100:9100 -p 9101:9101 localhost:5000/root:1.0.0 --seed --name kernel --hostIP 172.16.240.78 --hostPort 9100 --httpPort 9101 --roles seed (where 172.16.240.78 is the IP of my host running Docker) Here's my application.conf. akka { loglevel = ERROR stdout-loglevel = ERROR event-handlers = [akka.event.slf4j.Slf4jEventHandler] log-dead-letters = 1 log-dead-letters-during-shutdown = off actor { provider = akka.cluster.ClusterActorRefProvider } remote { enabled-transports = [akka.remote.netty.tcp] netty.tcp { # Outside Docker addr bind-hostname = ${server.ip} # hostIP param bind-port = ${server.port} # hostPort param # Inside Docker addr port = 0 } } cluster { auto-down = on log-info = off # seed-nodes and roles set at runtime and added to config } } I'm not sure I'm using these hostname/port, bind-hostname, bind-port correctly. I've tried a few different permutations, which either fail to launch (w/messages saying it can't bind to an address) or it runs but I can't hit it outside my Docker container. I need Akka to be able to discover its cluster nodes and be accessible on the given IP addr/port. I have a trivial project set up here to show the approach: https://github.com/gzoller/docker-exp/tree/akk2 I'm hoping I'm missing something simple in my config... Any ideas? Thanks! Greg -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Re: Design of Persistent Actor for CQRS
To be fair if you are selling 100k distinct items per second of the same product you will most likely have much larger operational issues than making sure it's consistent. I'm imagining your delivery and warehousing infrastructure (physical not software). Of course I'd imagine at 100k sales per second of the same product you will also have a substantial budget to deal with the relatively minor software issues that may arise. Greg -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Re: Design of Persistent Actor for CQRS
On Wednesday, December 31, 2014 12:49:06 PM UTC-5, Greg Young wrote: To be fair if you are selling 100k distinct items per second of the same product you will most likely have much larger operational issues than making sure it's consistent. I'm imagining your delivery and warehousing infrastructure (physical not software). Of course I'd imagine at 100k sales per second of the same product you will also have a substantial budget to deal with the relatively minor software issues that may arise. Completely agree. Maybe I didn't make it clear. What I'm trying to do a toy prototype to get a better understanding of how akka-persistence, CQRS/ES and DDD can replace traditional solutions and what are the limits. While 100K is unlikely to happen in this domain, it may appear in other software only domains. Greg -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Re: Possibility of deploying actors from single ActorSytem to multiple nodes
Hi All, Thanks Konrad for your suggestions, I read the documents you suggested. I did the following changes in my project's *application.conf*. akka{ loglevel = DEBUG actor{ provider = akka.cluster.ClusterActorRefProvider } remote{ log-remote-lifecycle-events = on transport = akka.remote.netty.NettyRemoteTransport netty{ host = 10.97.123.68 port = 0 } log-received-messages = on log-sent-messages = on } cluster{ seed-nodes = [ akka://Seeder1-ActorSystem@10.97.123.68:5, akka://Seeder2-ActorSystem@10.97.123.68:50006 ] seed-node-timeout = 60s auto-down-unreachable-after = 10s } } I have following question in my mind, some might be stupid 1. As we are using ActorSystems defined on each node, Is it creating actor references in each actor system? As I gave the desired structure of my project requirement, I want to take messages on the Node1 and create single Actor for each type of message and distribute these Actors for execution on different nodes. how can I do this? Please suggest any configuration required in the *application.conf* Thanks Regards Krishna Kadam -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.