These are chat archives for akkadotnet/akka.net

21st
Jun 2017
Голодный Монстр
@Kalinin_Aleks_twitter
Jun 21 2017 03:05
@Aaronontheweb , thanks
Arjen Smits
@Danthar
Jun 21 2017 07:29
@Neftedollar No it will not. The wildcard method will only target actors which are known in the hierarchy. Actors which are stopped, are not registered in the hierarchy.
Roman Melnikov
@Neftedollar
Jun 21 2017 08:42
@Danthar thanks, expected behavior.
Aaron Stannard
@Aaronontheweb
Jun 21 2017 12:46
@qwoz I
I'm starting a project and I'll be using ARM
for my cluster
won't be starting work on it until after 1.3 ships, so maybe I'll do something with Azure Container Services with .NET Core
it'll depend a bit on whether or not the other stuff I'm planning on using also supports .NET Core
qwoz
@qwoz
Jun 21 2017 17:32
@Aaronontheweb interesting... I haven't played around with containers for .net code. I like the simplicity of Azure's cloud services or app services where you just deploy .net code directly but I remember that there are some problems with akka clustering... they don't expose proper network interfaces to allow for cluster communication or something like that?
Aaron Stannard
@Aaronontheweb
Jun 21 2017 17:33
@qwoz yeah, they don't allow you to use arbitrary sockets
so we'd need something like a transport over signalr
or something like that
bit of a personal gripe here, and I felt this way back when I worked on evangelizing Azure for MSFT
qwoz
@qwoz
Jun 21 2017 17:33
which seems unreliable/overkill
Aaron Stannard
@Aaronontheweb
Jun 21 2017 17:34
their managed app services are designed for stupid crud apps
was definitely true for cloud services back in the day
managed app services are an improvement, but still pretty heavily locked down
which makes sense if those are offered as time-shared slices of compute time that you share with other customers on the same VMs
qwoz
@qwoz
Jun 21 2017 17:35
orleans seems to use cloud services for its silo clustering... I know they use a centralized source for cluster membership (like azure table storage) but I don't know how they communicate internally after that.
Aaron Stannard
@Aaronontheweb
Jun 21 2017 17:35
but they should offer a single tenant option that isn't locked down at all
orleans uses sockets too
cloud services aren't locked down in terms of internal socket communication
you can open up a private end point that allows direct machine-to-machine connectivity
qwoz
@qwoz
Jun 21 2017 17:37
are cloud services a workable solution for akka.net as well?
Aaron Stannard
@Aaronontheweb
Jun 21 2017 17:37
yes they are
one thing I can't remember
qwoz
@qwoz
Jun 21 2017 17:37
is there an example somewhere?
Aaron Stannard
@Aaronontheweb
Jun 21 2017 17:37
can you update a single service at a time?
in cloud services?
pretty bad considering that I had a piece of production software running on there for about 5 years
but I don't remember anymore lol
I have a fork of WebCrawler that does
but I've never published it
after the 1.3 release I'
I'm planning a content sprint for Petabridge
to get back to work on tutorials
qwoz
@qwoz
Jun 21 2017 17:38
I think when you deploy your code to a cloud service, you can run n copies of it but I don't think it lets you change only 1/n of those instances (if that's what you mean)
Aaron Stannard
@Aaronontheweb
Jun 21 2017 17:39
you can break up a cloud service into multiple role types
what I was trying to remember was if you can update a single role at a time
or it's an "all or nothing" deployment
where the cloud service has to do the VIP swap
not just a single role
qwoz
@qwoz
Jun 21 2017 17:40
yeah I'm not sure
Aaron Stannard
@Aaronontheweb
Jun 21 2017 17:40
if it's all or nothing that would be annoying
but I think that's what I remember it being
I've run Akka.NET in production on AWS Elastic Beanstalk before
which allows you to segment stuff in a much more customized manner
didn't have that issue there
ziya
@mtmk
Jun 21 2017 21:22
Hi there. I have a general newbie akka.net/actor model question. When using akka.net would you still need 'layers' in your solution? For example caching, database (in a traditional sense not persistence) or is akka supposed to make it all fast and in memory as designed ground up. I know it's a big vague but I am thinking maybe I'm using designing my solution wrong. Any pointers appreciated.
qwoz
@qwoz
Jun 21 2017 22:25
depends on your application... if it's traditional crud type of stuff then a database is best. individual actions on an object go through the actor (logic is all self contained) which then updates the database, and queries for multiple things hit the database/caching layer. for example, if you had an order system and wanted to find all outstanding orders for all customers where the customer is in California, the order has more than 3 widgets, and the payment method was by wire transfer... that's impractical to do via actors but trivial in SQL. on the other hand, if you need to retrieve the details of one specific customer then that's easily doable via a customer actor and you get the benefits of in-memory performance (after initial load). other may have different ideas but I've found that works fairly well.
ziya
@mtmk
Jun 21 2017 23:26
Thanks @qwoz It's helpful to see where actors might not be suitable as well. Maybe I should've explained my app a bit better. It's basically high volume message processing with a web ui to query the current state of things. I guess I should consider akka streams too, I'm not sure. It just feels like when properly designed using actors I shouldn't need to worry about caching, storing data crud style etc. Also how does akka best fit in when using cqrs/ eventsourcing. Sorry sounds very broad. I need proper education to catch up