Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 12:04
    nagytech synchronize #4092
  • 11:53
    nagytech synchronize #4092
  • 11:49
    nagytech edited #4092
  • 11:40
    nagytech opened #4092
  • 11:32
    nagytech edited #4091
  • 11:32
    nagytech opened #4091
  • 10:13
    nagytech commented #3954
  • 05:29
    nagytech commented #4090
  • 05:29
    nagytech opened #4090
  • Dec 11 23:52
    scptre commented #4082
  • Dec 11 14:26
    nagytech commented #3954
  • Dec 11 11:18
    nagytech edited #4089
  • Dec 11 11:17
    nagytech opened #4089
  • Dec 11 11:00
    nagytech commented #4083
  • Dec 11 08:34
    jiyeongj commented #4083
  • Dec 11 08:33
    jiyeongj commented #4083
  • Dec 11 08:33
    jiyeongj commented #4083
  • Dec 11 07:57

    dependabot-preview[bot] on nuget

    (compare)

  • Dec 11 07:57

    dependabot-preview[bot] on dev

    Bump MongoDB.Driver from 2.9.1 … (compare)

  • Dec 11 07:57
    dependabot-preview[bot] closed #104
Roger Johansson
@rogeralsing
Guys, have you seen this? https://github.com/electronicarts/orbit Bioware have ported Orleans to Java :P
Arjen Smits
@Danthar
@rogeralsing exactly. Thats what it reminded me of as well :smile:
Roger Johansson
@rogeralsing
And they got Netflix interested in co-op. this will be fun to follow :)
The thing I don't quite get with the Orleans/Orbit stuff, why is the AP guarantees and Actor parts merged together? you might still want AP for Services w/o actor behavior..
IMO, the AP stuff should be in a separate module, and then let you host services/actors/whatever inside it
Arjen Smits
@Danthar
AP ?
Roger Johansson
@rogeralsing
From the CAP theorem, Available + Partition tolerant
Arjen Smits
@Danthar
aah... ofcourse
Roger Johansson
@rogeralsing
So imo, what really should be done is "Virtual Endpoints" instead of "Virtual Actors"
Arjen Smits
@Danthar
Hmmm. I don't know. But im not sure if what you are saying is correct. I saw an Orleans screencast a while back, from the Halo team, in which they showed off some Orleans code. And although it all felt like Voodoo magic back then (which became alot more clear since I started with Akka). I do distinctly remember them talking about a Host which took care of all the Distributed and Partitioning stuff.
Or maybe I am misunderstanding what you mean with the 'parts merged together' bits
Roger Johansson
@rogeralsing
Orleans does the magic partitioning / always available parts, and they are also an actor framework.. I think that should be separated
Arjen Smits
@Danthar
Ow you mean on a framework level. Hmm. Maybe they felt that that part is, in terms of implementation, so closely married to the Orleans Actor framework, it made no sense to put it in a separate framework. But thats just conjecture on my side, however its the only reason I can think of.
Should be interesting to check out the Orleans code to see if thats true.
Bartosz Sypytkowski
@Horusiath
IMO Akka was always a middleware framework. It is harder to learn and requires an explicit management from the user perspective, but also gives you enough space to develop higher level abstractions (such as streams, virtual endpoints, cluster sharding and many others) on top of it. But you may still dig deep down at any time when you want true control and speed and this is something you'll never get with frameworks, which have started from those higher level concepts as a base line.
David Smith
@smalldave
@Aaronontheweb I'd wait before pulling in RemotingTerminator changes. Working through RemoteNodeShutdownAndComeBackSpec
Want me to close the pull request?
Aaron Stannard
@Aaronontheweb
@smalldave yeah that'd be best for now then
Aaron Stannard
@Aaronontheweb
@rogeralsing @Danthar @Horusiath yeah, that's a design decision with Orleans that I feel is very limiting - the whole thing feels extremely over-engineered to begin with, really. Actors are just tools that don't have any inherent CAP bias, no more than OOP objects having them. Orleans was built for something specific - single apps that are meant to be clustered with high availability.
Orlean's biases don't even really allow for you to network multiple Orleans code bases together without doing some really hacky shit dotnet/orleans#211
so you can't do anything like my WebCrawler Akka.Cluster sample, which uses individual roles as microservices, without having to host your connection to each service in a separate AppDomain
but you know - anything that gets .NET developers in a headspace where they're actively looking at something like the actor model is a good idea in my book
it'll raise the state of our art
Roger Johansson
@rogeralsing
@Aaronontheweb tbh, CAP is only applicable in multi node/system environment (as the definition is how the nodes/system behave) and a single actor is never ever present on multiple machines (that would be different actors) so even bringing CAP up when talking about how actors behave indicates that there is something iffy going on.. (read multiple instances of the same thing)
Bartosz Sypytkowski
@Horusiath

Akka and Orleans are both very mature projects (both around the same age)..

ORLY?

Roger Johansson
@rogeralsing
Maybe they were invisible for 4 years?
Bartosz Sypytkowski
@Horusiath
I don't want to be arrogant or start a flamewar, but to be honest, Akka.NET is based on concepts from Akka, and in further line from Erlang, both of them are heavily battle-tested in hundreds of applications over the course of almost 30 years in total. Orleans (and now Bioware's Orbit) at least for now are both 1-project based, and their are not core part of their projects - neither Halo nor DA:I are multiplayer-based. And while they introduce some incredibly useful ideas, I think it's still not a fair comparison.
And I'm not an Orleans hater - I want to see this framework growing. Variety is good for everyone.
Aaron Stannard
@Aaronontheweb
@rogeralsing yeah I think you and I are saying the same thign
actors are actors - CAP theorem stuff only plays a role when you start distributing them across multiple processes
Roger Johansson
@rogeralsing
Exactly
If orleans removed the broken actor constraints and just exposed always available endpoints, i would love that.
Aaron Stannard
@Aaronontheweb
and TBH, I really wish people who talk about distributed systems stuff would stop pigeonholing on CAP - yes, for the love of god, we get it. Every system has trade offs that have to be picked carefully and deliberately. Not a fundamentally different exercise than making tradeoffs in any other software system (concurrent, embedded, etc...) - just yet another new domain where developers get their butts kicked by the laws of physics and economics over time.
Roger Johansson
@rogeralsing
And let devs decide what to expose on such endpoint
Aaron Stannard
@Aaronontheweb
to your point @Horusiath - Orleans has an in-house project for many years
was*
so it's "mature" from a wall clock time perspective
but not very "mature" from an odometer perspective
Orleans has one success story
so far, hopefully they have more!
Akka has tens of thousands
as it's been open and heavily used by lots of people who are not Typesafe for years
technically speaking, Akka.NET has been publicly available longer than Orleans
they have an interesting interpretation of the actor model, although what they do does not stick to the "actor model" as it's defined in the white paper
Akka.NET is ultimately an unbiased framework - you get the actor model as a single process, a couple of remote processes, a whole cluster of different processes, or clusters of processes that use persistence for greater consistency
and lots of other combinations
Orleans is a piece of off the shelf software built for specific types of distributed apps
and has powerful tools for doing that
but you give up a lot in order to get those tools
Roger Johansson
@rogeralsing
btw. offtopic, but can you take a crash course with me on our cluster supprt? thats the module I know the least about tbh.. I know how to start up clusters and do routers, but no more :P
Aaron Stannard
@Aaronontheweb
haha, sure thing