web-dev-qa-db-ja.com

アクターベースのシステムを構築するための設計パターン/ベストプラクティス

アクターベースのアプリの構築に使用すべきデザインパターン、ベストプラクティス、または優れた基本的なアーキテクチャの原則への適切なリンクを見つけるのに苦労しています。私が知っているそれらのいくつかは:

ブログの投稿、記事、WIKI、ガイド

論文

実装

  • Akkaフレームワーク (Scalaでのアクターの代替実装と、いくつかのErlang動作のポートと、アクターのための他の関連するパターンの多く)
  • Scalaz Actors (俳優の構成、戦略、約束)

プレゼンテーション

Highscalability.comの例

  • シンプルキューイングサービス(SQS)-このサービスは、メッセージを格納するためのインターネットスケールキューイングサービスを提供します。分散型アクターは作業を待ち行列に入れ、作業を待ち行列から外します。典型的な使用:集中型作業キュー。ジョブをキューに入れると、さまざまなアクターがキューの作業をポップして、CPU時間を取得したときにそれらを処理できます。スケーラビリティの一部。プロデューサーとコンシューマーをいくつでも持つ。あなたはそれを心配する必要はありません。キューは、複数のマシンと複数のデータセンターに分散しています。
63
Vasil Remeniuk

これは 前の質問 に関連していますが、そうでない場合はまったく同じです同じです!

同時実行のactorモデルを使用すると、ステートフルな単一VMアプリケーションから(いくつかの別個のアクタークラス)から、アクタークラスの数千のインスタンスのステートレスクラスターに。

ただし、基本原則は同じです。

  • 俳優の状態を公開しないでください
  • 不変のメッセージを渡すだけで通信する
19
oxbow_lakes

私は アクター開発の学習 にブログを投稿しましたScala=数週間前。これは、数年の経験に基づいた、ベストプラクティスと避けるべきことの投稿ですパラダイムで。

6
jamie

本「Reactive Design Patterns」はマニングで作成中です。

参照: https://www.manning.com/books/reactive-design-patterns

0
botkop