These are chat archives for akkadotnet/akka.net

3rd
Feb 2015
Aaron Stannard
@Aaronontheweb
Feb 03 2015 06:38
@Horusiath question for you about Akka.Persistence - does that replace durable mailboxes?
and or is durable mailbox support included as part of the module?
Roger Johansson
@rogeralsing
Feb 03 2015 07:09
Durable mailbox is obsolete in akka. It Holds on to every message, e.g ask messages where the sender might no longer exist when the system restarts.
akka persistence only keep messages that matter, eg state transitions
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:10
@rogeralsing reason I ask is, I'm having a few meetings over the next couple of weeks about high availability scenarios in Akka.NET
the Akka.Persistence module is pretty new - just wanted to understand what the answer is around improving the deliverability of messages overall
from what you're saying, sounds like the best way to guarantee that is to have some persistent actor hang onto a copy of the message until delivery has been ACKed
Roger Johansson
@rogeralsing
Feb 03 2015 07:12
Ok, but yes, durable mailbox is replaced with akka persistence, but the two do not have a 100% overlap
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:12
got it - well that's good to know. Think they're going to do away with durable mailboxes altogether?
Roger Johansson
@rogeralsing
Feb 03 2015 07:13
Yes, I talked to kuhn about it, they consider the concept broken
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:14
I mean, that makes sense since you still couldn't guarantee that messages that were actively being processed were saved either
so for HA scenarios, sounds like a "persistent ACKer"
Roger Johansson
@rogeralsing
Feb 03 2015 07:14
Yepp
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:15
is going to be a strong candidate
thanks for the clarification @rogeralsing - this is helpful
Roger Johansson
@rogeralsing
Feb 03 2015 07:16
Btw, lots of interest and questions on Håkans talk yesterday
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:16
oh yeah, I wanted to ask how that went - saw on Twitter that it was a full house
Roger Johansson
@rogeralsing
Feb 03 2015 07:17
Couldnt fit more people in the room, crowded :) awesome to see
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:17
how many people total you think?
Roger Johansson
@rogeralsing
Feb 03 2015 07:18
60ish, but that was because of the room. Some had to attend other sessions instead
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:19
that's awesome!
what were the big questions that came up?
Roger Johansson
@rogeralsing
Feb 03 2015 07:19
Dependency injection and transactions
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:21
that reminds me - we should do a public NuGet release soon and get @jcwrequests's DI modules out in the open
Roger Johansson
@rogeralsing
Feb 03 2015 07:22
And some on statemachines, but DI is always the nr 1 q
Yepp
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:22
what were their questions around transactions? Like how to implement them on top of Akka.NET?
Roger Johansson
@rogeralsing
Feb 03 2015 07:22
Exactly
How to do reliable systems and global consensus pretty much
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:23
nice :)
I want to see someone do a PAXOS or RAFT implementation on top of Akka.Cluster once that comes out
for that sort of thing
Roger Johansson
@rogeralsing
Feb 03 2015 07:27
I told them to use an appeoach like this http://rogeralsing.com/2014/11/15/actor-based-distributed-transactions/. Model transactions like real world events instead
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:31
just finished reading it
"transactions as messaging protocols"
was what I took away from it
I'm not familiar with the saga pattern per-say - I'll need to read that Kellabyte post you linked to
akkadotnet/akka.net#586 - proposal for Akka.NET v0.8
biggest part of that release is the DI stuff
Roger Johansson
@rogeralsing
Feb 03 2015 07:39
@Aaronontheweb exactly, there were transactions long before computers, we have had economical transactions since we invented currency, those are not atomic nor instant, they are based on actions and reactions.. we can model systems that way to
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:40
makes sense
btw, did I tell you that I started learning F#?
Roger Johansson
@rogeralsing
Feb 03 2015 07:41
saw some tweet about it :) so whats the feeling so far?
Bartosz Sypytkowski
@Horusiath
Feb 03 2015 07:42
@Aaronontheweb GuaranteedDeliveryActor should be able to acomplish what you need.
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:42
out of the box, I like F#'s attitude when it comes to types way better than C#
ReferenceEquals always felt like a pretty stupid default way of comparing objects in a managed language. Made a lot of sense in C/C++
Roger Johansson
@rogeralsing
Feb 03 2015 07:43
@Horusiath how do we (as users) deal with idempotency? does persistence take care of that or do we need to manually deal with that?
Bartosz Sypytkowski
@Horusiath
Feb 03 2015 07:43
It allows to deliver with at-least-once delivery semantics and unconfirmed messages can be persistent along with actor's snapshot, so that even actor's death won't broke the delivery contract.
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:44
but I'm still doing the newbie exercises on http://fsharpforfunandprofit.com/
Roger Johansson
@rogeralsing
Feb 03 2015 07:44
I wrote a language in F# once, but I have since unlearned all of it :)
Bartosz Sypytkowski
@Horusiath
Feb 03 2015 07:45
@rogeralsing idempotency is still in hands of the actor, but there is also a marker key (deliveryId) which could be used to identify duplicate sends.
Aaron Stannard
@Aaronontheweb
Feb 03 2015 07:46
I'm going to have to come up with something crazy for F# + Akka.Cluster when it comes out
just to satisfy my own curiosity - might do some distributed MapReduce or maybe some NLP stuff
Aaron Stannard
@Aaronontheweb
Feb 03 2015 21:21
@rogeralsing is #581 wrapped up? I'm ready to pull it in if you don't need to make any further changes to it
Andrew Skotzko
@skotzko
Feb 03 2015 22:43
Quick favor: can you guys go drop some votes for Akka.net talks at SoCal Code Camp? Want to make sure our talks happen. Pls go to http://www.socalcodecamp.com/socalcodecamp/sessions.aspx and mark “interested” in the Akka talks! (You click the interested check box under the talks, then scroll to bottom and click “save interests”.)