These are chat archives for akkadotnet/akka.net

9th
Sep 2016
Corneliu
@corneliutusnea
Sep 09 2016 00:15
I can fix that easily ... I'm thinking of pointing all the hosts in the cluster to a documentdb that will have the common configuration
I'm mostly worried about the cluster leader election
riawz
@riawz
Sep 09 2016 01:02
it shouldn't matter if a node is the leader, unless it's "dead" so you won't get the full list of IPs
that's what makes logical sense to me
Corneliu
@corneliutusnea
Sep 09 2016 05:06
I'm having some issue trying to make Akka build a cluster between multiple servers part of an Azure App Service. From what I can see the IPs are allocated dynamically but I can't find any open ports between multiple instances
Bartosz Sypytkowski
@Horusiath
Sep 09 2016 07:18

@corneliutusnea this sounds more like an Azure than Akka problem ;) Also: you can use any technique to form a cluster - lighthouse is basically a stub actor system with no capabilities - only thing needed is address of at least one other service, that is part of the cluster itself (in case when cluster is not formed yet, you can initialize it by calling cluster.Join(cluster.SelfAddres). The only issue is how are you going to receive first seed node addresses when they are dynamic.

In core repo, within Cluster.Sharding example I've created a simple service which shares node addresses used for cluster bootstrapping and uses shared sqlite db for that. Only downside is that it doesn't react on hard (ungraceful) shutdown of the node - that node is not removed from records. In scala one of the examples for similar solution could be Akka.Cluster.Etcd

Corneliu
@corneliutusnea
Sep 09 2016 07:43
@Horusiath yes, you are right, this is now an Azure problem (that I need a fix for).
I tried to do exactly that. I have a DocumentDb document with the list of active node
and a "LastUpdated" that I update every 5 seconds. If my last updated for a record is older than 1m I consider the node dead
however my azure problem is I don't know atm how to "reach" the other nodes as they all looked firewalled even if they seem to share one vnet
Peter Bergman
@peter-bannerflow
Sep 09 2016 07:46
@corneliutusnea Which resources are you using as your nodes in Azure? Web apps or roles in a cloud service?
Corneliu
@corneliutusnea
Sep 09 2016 07:46
I'm using the App Service
happy to use any of they million services as long as I don't have to manage the underlying VM and I get automagical scalling
I use App Service > Web Apps https://azure.microsoft.com/en-us/services/app-service/web/ to be more exact
Peter Bergman
@peter-bannerflow
Sep 09 2016 07:48
Ah ok, not sure if you can control things such as open ports for an app service (web app), I know how to do it for a cloud service, but so far I haven't had much luck with cloud services either except for some basic use cases
Corneliu
@corneliutusnea
Sep 09 2016 07:51
from what I see here I can't control scalability for Cloud Services that easily https://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/
Peter Bergman
@peter-bannerflow
Sep 09 2016 07:53
Depends on what you mean with easy :)
For cloud services you can both increase the number of nodes for a given cloud service role and you can also scale the node sizes as well
However, I've found the deployment model to be a limiting factor, as well as the fact that the nodes seem to go up and down arbitrarily which made it hard to keep the cluster stable
Corneliu
@corneliutusnea
Sep 09 2016 08:02
ok, argh .. I really wanted to move away from VMs and managing VMs but I can't find a way to configure those firewalls. I just raised a support ticket with Microsoft
Peter Bergman
@peter-bannerflow
Sep 09 2016 08:03
I see, I have the same concern myself, right now I have a setup where some of my services are running as cloud servces (web roles) which is nice since I don't have to manage a VM/the OS/or IIS, but some other services are running on old school VMs until I find a better deployment option
Vaccano
@Vaccano
Sep 09 2016 17:09

Does akka.net have options more detailed than a "heartbeat" to know if an actor system is "healthy"? I am evaluating using it for my compay and I am worried that it will not handle the scenarios that I have. Specifically, a server is at 98% utilization and is going to be very slow doing most anything. Except a heartbeat. It will respond just fine to a simple "ping".

Is there a plugin or option to check more than just a heartbeat during routing?

akshay123
@akshay123_twitter
Sep 09 2016 19:39
Is there a sample or an example that I can look at that shows how to use akka.net stream with kafka in an Rx fashion.?
Marc Piechura
@marcpiechura
Sep 09 2016 19:59
@akshay123 we don't have a adapter for Kafka so you would need to write one or use a similar behavior I used for this example for the docs
But it not backpressures the tweet source but instead drops messages if the stream is overwhelmed
If you want full backpressure support you can write a Kafka adapter like I did for some Azure services
There is also a Kafka adapter on the jvm
akshay123
@akshay123_twitter
Sep 09 2016 20:43
Thanks @Silv3rcircl3 - also curious if RabbitMQ and akka.net stream can work reactively? Perhaps I can use your example to give it a try.
Marc Piechura
@marcpiechura
Sep 09 2016 20:50
Haven't used either RabbitMQ nor Kafka but I would assume it's somehow working similar as Azure ServiceBus so I would say it should be possible ;-)
Alex Valuyskiy
@alexvaluyskiy
Sep 09 2016 20:51
Kafka is similar to Azure EventHubs
akshay123
@akshay123_twitter
Sep 09 2016 20:53
@alexvaluyskiy Thank you so much. Is backpressure implemented on Azure EventHubs?
Marc Piechura
@marcpiechura
Sep 09 2016 21:10
@akshay123 yup it is ;)