タグ

CQRSに関するwkubotaのブックマーク (8)

  • DDDを実践するための手引き(ドメインイベント編)

    ドメインイベントを扱う実装は様々な流派があり、記事ではなるべく一般的なものを取り上げたいと思っていますが、あくまで一例です。 実装例は Kotlin を使っていますが、他の言語でも同様の実装が可能です。 ドメインイベントとは イベントとは「過去に発生した出来事」であり、ドメインイベントは「ビジネスドメイン上で発生した重要な出来事を表すメッセージ」です。 (例: チケットが割り当てられた、注文がキャンセルされた) ドメインイベントはシステム内の状態の変化(=集約の状態の変化)を表現するものであり、通常は集約がドメインイベントの発生源となります。 用途 ドメインイベントは主に次のような目的で使用されます。 1. イベントの発生を起点に、別の処理をトリガーする ドメインイベントは、システムの異なる部分間を連携させるために使用されます。 ドメイン上の要件として「...したら...する」のようなフ

    DDDを実践するための手引き(ドメインイベント編)
  • Domain Event

    目次 概要 この記事の内容 対象読者 注意事項 前提知識 定義 用途 モデリング 不変性 独立性 汎用情報 個別の情報 Versioning 実装 前提 フレームワーク Domain Eventの処理 型定義 interface DomainEventEnvelope Enum Domain Eventの内部通知 staticなEvent Publisherを用意してAggregateがPublisherを呼び出す 実装例 AggregateのCommandの返り値としてDomain Eventを返す 実装例 Aggregateで保持してGetterで取り出す 実装例 永続化と外部通知 要件 永続化 外部通知 まとめ 参考文献 概要 この記事の内容 Domain Eventは非常にシンプルな概念かつ強力なモデリングパターンです。 モデリングにおいては直感的に扱うことが可能ですが、実装をする

    Domain Event
  • アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog

    こちらの記事はカケハシ Advent Calendar 2023 Part2の24日目の記事になります。 adventar.org はじめに 反復的な開発は、変更容易性の高いソフトウェアが不可欠です。ソフトウェア開発の経験がある方なら、デリバリ後の洞察や市場環境の変化から、新しい機能の追加やアーキテクチャの進化の必要性に直面したことが一度はあるでしょう。 私自身、要求分析手法やSOLID原則等の技法を取り入れ、変更容易性に対応する多くのプロジェクトに参加しました。しかし、どれだけ優れた手法や技法を持っていても、変更が難しい要求が出てくることは避けられません。その際、「過去の出来事」を正確に記録していれば、後から見返して問題解決が容易だったと感じることがよくあります。 ドメイン駆動設計(DDD)では、「過去に起こった出来事」を表現するドメインモデルを「ドメインイベント」と呼びます。変更容易性

    アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog
  • TypeScriptでCQRS & Event Sourcing | DevelopersIO

    Introduction 一般的になってきたCQRSとEvent Sourcing。 これらのアーキテクチャは、RDBMSやNoSQLデータベースをデータストアとして持っている、 昔ながらのCRUDデータモデルの代案として近年採用が進んでいます。 稿ではCQRS・EventSourcingの簡単な説明と、 それらを用いたサンプルをTypeScriptで実装してみます。 What is CQRS? CRUDと違い、CQRS(Command and Query Responsibility Segregation)は データの読み込みと書き込みは来違うものである、という前提に基づく考え方で、 2010年にGreg yang氏が考案していたものです。 あらゆるメソッドは、アクションを実行するコマンドか、 呼び出し元にデータを返すクエリかのいずれかであって、両方を行ってはならない。 これは、質

    TypeScriptでCQRS & Event Sourcing | DevelopersIO
  • Using Akka Cluster for a payment service

    ScalaMatsuri 2019 Akka Cluster を採用した決済サービスをリリースしました。このセッションでは、Akka Cluster を使った開発で苦労した点や、従来の RDB を用いた CRUD ベースのシステムから、どのようにしてアクターモデルやイベントソーシング・CQRS といったモデルを用いたシステムへと変化させたのかなど、プロジェクトで Akka Cluster を採用するにあたり我々が取り組んだ内容について話します。

    Using Akka Cluster for a payment service
    wkubota
    wkubota 2019/07/01
    このアーキテクチャを選択するに至った判断基準とかそういう経緯が知りたくなる。自分たちもES+CQRS検討したが、その複雑さを受け入れてまで解決したい問題って無いなぁっていう感じだった。
  • Event sourcing in practice

    Who are you? Before we get started... I have heard about Event Sourcing before I have been to one of the Event Sourcing/CQRS talks We do CQRS and/or Event Sourcing at work We do Domain-Driven Design This talk ... ... is for you, if you want to ... ... understand the basic idea of ES ... know about the advantages of ES ... learn about the issues that come with ES ... understand when ES is a suitabl

  • 翻訳 「DDD, Hexagonal, Onion, Clean, CQRS…これらをどうやり遂げるのか?」 - tagoto web - confluence

    We tried to load scripts but something went wrong. Please make sure that your network settings allow you to download scripts from the following domain: https://id-frontend.prod-east.frontend.public.atl-paas.net

  • Event Sourcing,CQRS For PHP Application

    PHPアプリケーションでEvent Sourcing、CQRSを実践する場合の ミドルウェアとの組み合わせ、基的な考え方 実例を交えた資料です

    Event Sourcing,CQRS For PHP Application
    wkubota
    wkubota 2018/06/14
    最近、考えてる次のシステムの形が既にきれいに説明されてて嬉しい!ちょい遅れだけど、良いアーキテクチャに遅いも早いもないと思うんだ。
  • 1