Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 11:20
    IgorFedchenko commented #3973
  • 11:20
    IgorFedchenko commented #3973
  • 11:18
    IgorFedchenko commented #3973
  • 10:47
    IgorFedchenko synchronize #3973
  • 10:13
    valdisz commented #3921
  • Oct 21 15:57
    Aaronontheweb closed #3877
  • Oct 21 15:57
    Aaronontheweb commented #3877
  • Oct 21 15:56

    Aaronontheweb on dev

    Persistence TestKit documentati… (compare)

  • Oct 21 15:56
    Aaronontheweb closed #3889
  • Oct 21 07:27
    dependabot-preview[bot] labeled #3999
  • Oct 21 07:27

    dependabot-preview[bot] on nuget

    Bump FluentAssertions from 4.14… (compare)

  • Oct 21 07:27
    dependabot-preview[bot] opened #3999
  • Oct 20 17:25
    valdisz synchronize #3889
  • Oct 20 17:17
    valdisz synchronize #3889
  • Oct 20 15:44
    valdisz synchronize #3889
  • Oct 20 09:22
    ismaelhamed commented #3863
  • Oct 19 23:39
    valdisz synchronize #3889
  • Oct 19 23:08
    edvinasz commented #2947
  • Oct 19 13:36
    Aaronontheweb commented #3973
  • Oct 19 13:34
    dependabot-preview[bot] synchronize #3995
Roger Johansson
@rogeralsing
         _listens = Task.WhenAll(tasks).ContinueWith(transportResults => transportResults.Result.ToList(), TaskContinuationOptions.ExecuteSynchronously | TaskContinuationOptions.AttachedToParent);
Aaron Stannard
@Aaronontheweb
@rogeralsing try doing this on that line - I see a bug in the TaskContinuationOptions
 _listens = Task.WhenAll(tasks).ContinueWith(transportResults => transportResults.Result.ToList(), TaskContinuationOptions.ExecuteSynchronously & TaskContinuationOptions.AttachedToParent);
meant to use bitwise AND
not bitwise OR
Mono's TPL implementation might check for those flags differently
coffeeyesplease
@coffeeyesplease
Hi there all. I’m about to use Akka.Net on a ASP.NET MVC application. The intention is here is to have communicate with another process remotely. My question is, do remote connections timeout?
thanks in advance
Aaron Stannard
@Aaronontheweb
Akka.Remote connections are perpetual unless one side of the connection fails to deliver heartbeats to the other
I don't recall what the default heartbeat settings are, I think 1 per second or 500ms
and if more than 3-4 heartbeats get missed then the connection is considered unhealthy and gets restarted
Akka.Remote connections are lazy too - outbound only turn on the first time you try to send a message to a remote address
but it listens for incoming connections immediately
Aaron Stannard
@Aaronontheweb
@coffeeyesplease was my answer helpful at all? If not let me know - happy to help out with Remoting since we don't have a lot of literature on it at the moment.
coffeeyesplease
@coffeeyesplease
@Aaronontheweb brilliant! Yes very helpful indeed.
I’m already following your advice in starting it all on Global.asax with a static reference
thank you :)
Aaron Stannard
@Aaronontheweb
good, that's a best practice
I had some plumbing I wrote somewhere that was pretty small - maybe 100-200 lines of code that made it very easy for all ASP.NET MVC controllers to publish messages to actors without needing to load any Akka.NET references inside the controllers themselves
via a static Publisher class or something
that I wired up with a reference to a specific router actor that published messages to remote systems
that only works if you don't need messages back from your actors though :p
coffeeyesplease
@coffeeyesplease
actually I don’t.. it’s all one way.. if the actor finishes the process.. then great.
if not then, oh well...
Aaron Stannard
@Aaronontheweb
yeah, mine was the same way - had to hand off a massive amount of messages per second to our analytics system
front-end API just needed to acknowledge that we had received them
didn't need to acknowledge if we had finished post-processing
coffeeyesplease
@coffeeyesplease
I have a look around… in these coming weeks I’ll be knee deep in Akka.Net
that’s precisely the problem I’m also trying to solve
:)
Aaron Stannard
@Aaronontheweb
cool, well feel free to hit me up - aaron@petabridge.com
currently working on making it easy to do this stuff with the clustering module on top of Akka.Remote :p
coffeeyesplease
@coffeeyesplease
we’ll definitely stay in touch then.
this is basically the reason why I turned to Akka.NET is to get millions of messages that go through our analytics system. So I’ll probably well be looking for advice sometime soon
:)
Aaron Stannard
@Aaronontheweb
awesome
at peak loads I did about 20 million remote messages per day per Akka.Remote node (on the receiving end)
overhead was super minimal - like 3-15% CPU utilization on a medium-sized box on EC2
for that workload even at peak hours
your mileage may vary :p
coffeeyesplease
@coffeeyesplease
all right.. that’s very encouraging.
I’m still studying the architecture for this project.. because right now (for this client in particular and with our database) the number of messages is just waay too inneficient…. 600M a day
its just feels like a waste of bandwidht if you ask me
Aaron Stannard
@Aaronontheweb
is all of that over HTTP?
coffeeyesplease
@coffeeyesplease
God no
Aaron Stannard
@Aaronontheweb
thank God
I was going to say
I hope your EC2 sales rep / whatever vendor you use drives a nice car
coffeeyesplease
@coffeeyesplease
lol
These guys have their own machines/data center