13
votes
What is the difference between Actor model and Microservices?
Actor model - is mathematical model for concurrent computations, and microservices - an implementation of service-oriented architecture. The similarities are quite coincidental.
It's certainly ...
7
votes
Consistency of diamonds in a concurrent system
In the aerospace industry there is a file format called IRIG 106 Chapter 10. It uses a multiple-channel packet metaphor. One of the channels contains Time packets, which are used as a referent.
...
6
votes
Accepted
Why the name MailboxProcessor in F#?
"Mailbox" is a standard term in message passing concurrency. A mailbox is where the messages are delivered to. It's basically an older and more widely-used synonym for "message queue". It is also ...
6
votes
Akka.Net - real scenarios of usage
I think, your question is not specific to Akka.NET exclusively. So I'll answer it being Akka/Scala developer.
0 Not everything is an actor. Functions are still functions with all that functional ...
5
votes
Is the Actor Model an alternative to transactions?
You state correctly that transactions and locking are needed to deal with shared mutable state. And also that in an actor system, there is no shared mutable state. So it seems you've already answered ...
4
votes
Accepted
Using actor model, how can one program concurrent portion (critical section) of code as self contained nuggets?
It's probably best to think of the actor model as the ancestor of object oriented programming; and compare it to OOP. However, because (I hope) you're already familiar with OOP I'm going to do the ...
3
votes
Accepted
Use case diagram (secondary actors)
Primary vs. secondary actors are not defined at system level but at use-case level. This means that the same actor Admin can be:
a secondary actor for a use case "Request a refund", since ...
3
votes
Is the Actor Model an alternative to transactions?
Actor model doesn't magically solve all the troubles. It just makes such an abstraction of concurrent programming that helps reasoning about solutions.
There are two major aspects of Actor Model, ...
3
votes
Actor Model is it ideal for Controlling Concurrency
The actor model is distinguished from other techniques by virtue of its ability to run processes on any arbitrary machine within your computing domain. So if this capability fits your use case, then ...
3
votes
What is the difference between Actor model and Microservices?
Microservices scale horizontally by creating multiple replicas, each of which is capable of serving requests due to the stateless nature of the service.
They are resilient to failure by virtue of ...
2
votes
Akka.Net - real scenarios of usage
The reasons why you would use Akka.NET are listed right on the front page of their website. You would use it when you need simple concurrency & distributed computation, using high-level ...
2
votes
Using actor model, how can one program concurrent portion (critical section) of code as self contained nuggets?
Eliminate the critical section
Divide the work into individual parts in such a way that they no longer require concurrent access to a shared memory pool. This is inevitable, since actors can and ...
2
votes
Placing case classes
If child actors are short-lived workers, while supervisor is some static service - better put all messages it accepts in the supervisor's companion object along with the props factory. All clients ...
2
votes
Accepted
In Actor Pattern (AKKA.Net) Should actors be classes OR Objects?
I would suggest you to create something like EmployeesManager. As a Manager this one class particularly does not have a state but will be used to manage other actors that can have state. This will ...
2
votes
Consistency of diamonds in a concurrent system
The most natural and concurrent way to handle this kind of model is to build inbound and outbound queues on both B and D and two inbound queues on A (and possibly an outbound queue on A depending how ...
2
votes
Accepted
Does it make sense to have empty messages, in order to simply invoke an actor?
I understand your question, but I'd like to give some food of thought here: Does it make sense have a "void" before the name of each method that does not return a value ? Like public void DoWork(); ?
...
2
votes
Is it overkill to use event sourced actor model with message queue which send commands from gateway?
The actor model is a conceptual model to deal with concurrent computation. It defines some general rules for how the system’s components should behave and interact with each other. The concept fits ...
2
votes
Accepted
Bank actors in Use case diagrams
The use-case is not about functionality offered to actors, but about actor’s goals a system helps to achieve:
A use case is all the ways of using a system to achieve a particular goal for a ...
2
votes
What is the difference between Actor model and Microservices?
Microservices are a way to organize software by splitting each area of concern into its own deployable artifact (executable, script, JAR, WAR, etc). This gives you flexibility, for example by allowing ...
2
votes
Can the actor model replace a database?
An actor model is a way of thinking about concurrency, so it "replaces" other ways of thinking about concurrency, like async/await, or promises, or threads and locks, etc.
So think of where ...
1
vote
Actors and their representation in the system
Formally speaking, an actor is external to the system, and a sequence diagram is enclosed in a classifier of the system. You should therefore not have an actor in the sequence diagram.
It is however ...
1
vote
UML - Identifying use cases and actors
You need to step back a bit and look at the system as a whole.
An actor is anyone who interacts with the system. Users are always actors (hint: read the last sentence of "1. Purpose"). Other people ...
1
vote
Is the actor model suited for an application dealing with elapsed time?
There is nothing fundamentally problematic with using the actor model for this and supervision is very helpful in creating stable distributed systems. With that said, you still have to design the ...
1
vote
How to effectively store aggregates in actor model
The responsibility of the application service managing AR is to load and persist the aggregate. Also, it is responsible for publishing any domain events emitted as a result of change in the state of ...
1
vote
Consistency of diamonds in a concurrent system
You need some way of "synchronizing the loss" of packets. In a worst case scenario, B could lose every even packet, while C loses every odd packet, and thus A won't ever be able to produce a result.
...
1
vote
Celluloid actors parallel work slow?
Because your unit of work has a very fast execution time:
|n| n * 2
It is likely that the execution overhead of the futures is much greater than the total execution time of your units of work. ...
1
vote
Implement an actor-based concurrent language in ruby?
First I am pretty biased against institutionally taught programming, and this is one of the reasons why. Now I just wanted to state that, so you can take this answer with a grain of salt.
Actors are ...
1
vote
What is the difference between Actor model and Microservices?
I'd say that the main difference is one of granularity.
For the actor model it's relatively fine-grained, in that an actor tends to represent the equivalent of one object in OOP.
For micro-services ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
actor-model × 47akka × 15
concurrency × 10
scala × 7
design × 5
use-case × 4
erlang × 4
architecture × 3
.net × 3
distributed-system × 3
parallel-programming × 3
object-oriented × 2
microservices × 2
uml × 2
ruby × 2
distributed-computing × 2
modules × 2
concepts × 2
f# × 2
locks × 2
c# × 1
design-patterns × 1
c++ × 1
domain-driven-design × 1
agile × 1