[akka-user] Is it possible?

2014-12-31 Thread Krishna Kadam
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

2014-12-31 Thread Konrad 'ktoso' Malawski
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

2014-12-31 Thread Xavier Bucchiotty
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?

2014-12-31 Thread Konrad Malawski
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

2014-12-31 Thread Terry Heinze
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)

2014-12-31 Thread tigerfoot
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

2014-12-31 Thread Greg Young
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

2014-12-31 Thread Soumya Simanta


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

2014-12-31 Thread Krishna Kadam
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.