Skip to content

development actor model

akepka edited this page Sep 17, 2026 · 5 revisions

tags:

Development actor model

Actor Model

Aktor po otrzymaniu wiadomości może:

  • zmienić swój stan saldo: 1000 → 500
  • wysłać wiadomość innemu aktorowi
Konto Kowalski
      │
      │ "przelej 500"
      ↓
Konto Nowak
  • utworzyć nowego aktora Np. aktor OrderManager może stworzyć:
Order/123
Order/124
Order/125

Aktorzy komunikują się przez wiadomości

Zamiast:

obiekt A
    ↓
bezpośrednio zmienia
    ↓
obiekt B

masz:

A
│
│ message
│
↓
B

Aktor może reprezentować:

  • User
  • Order
  • BankAccount
  • ChatRoom
  • Game
  • IoT Device
  • ShoppingCart
  • Auction

ale także:

  • Kafka partition
  • worker
  • connection
  • cache
  • scheduler

Aktor to przede wszystkim model współbieżności i komunikacji, a nie konkretny rodzaj obiektu biznesowego.

Actor Model = zamiast wielu wątków grzebiących we wspólnym stanie, masz wiele niezależnych „skrzynek”, które mają własny stan i komunikują się poprzez wiadomoś.

A jego największa zaleta to równoległość pomiędzy aktorami + brak race condition wewnątrz pojedynczego aktora dzięki sekwencyjnemu przetwarzaniu wiadomości.

Actor Model to przede wszystkim sposób organizacji programu.

Akka jest jednym z najbardziej znanych przykładów. Programujesz aktorów, a framework zajmuje się m.in. komunikacją, współbieżnością i lokalizacją aktorów.

Erlang i jego ekosystem BEAM gdzie naturalnie piszesz programy składające się z procesów komunikujących się wiadomościami.

📖 Nawigacja


Wszystkich notatek: 1354

Kategorie A-Z

  • A (53)
  • B (92)
  • C (45)
  • D (63)
  • E (17)
  • F (7)
  • G (158)
  • H (12)
  • I (6)
  • J (40)
  • K (50)
  • L (78)
  • M (45)
  • N (37)
  • O (121)
  • P (407)
  • R (21)
  • S (34)
  • T (40)
  • U (3)
  • V (7)
  • W (14)
  • Y (1)
  • Z (3)

Clone this wiki locally