並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 20 件 / 20件

新着順 人気順

eventSourcingの検索結果1 - 20 件 / 20件

  • リアクティブは難しいが役に立つ - kubell Creator's Note

    お久しぶりです、かとじゅん(@j5ik2o)です。テックブログを書くのは何年ぶりか…。 サービスが停止したり応答性が低下すると、お叱りや逆に励ましをいただきますが、エンジニアとして設計レベルからそういった問題に対処するにはどうするか、日々精進しているところですmm。この記事はそういう論点で注目されている「リアクティブ原則」についてまとめてみたいと思います。 それなりのボリュームになってしまったので、時間があるときに読んでいただければと思います。 さて、Linux Foundation内の新たなトップレベルプロジェクトであるReactive Foundationが主催する、Reactive Summit 2020が11月10日にオンラインで開催されたので参加しました。 www.reactivesummit.org 参加されていたスピーカーはLightbendをはじめ、Netflix, Fac

      リアクティブは難しいが役に立つ - kubell Creator's Note
    • Deep Dive 大規模システムアーキテクチャ/開発組織エンジニアリング / Deep Dive Large-Scale System Architecture, Development Organization Engineering

      学生向けのイベント技育祭2024にて、大規模システムにおけるアーキテクチャの触りをお話したものです。 ビギナー向けなのでそれほど深いお話はしておりません。 【アブストラクト】 本トークでは大規模システムアーキテクチャで考慮すべき事柄とそれを実現する技術スタックや運用システムを深堀りし、それらを…

        Deep Dive 大規模システムアーキテクチャ/開発組織エンジニアリング / Deep Dive Large-Scale System Architecture, Development Organization Engineering
      • イベント駆動アーキテクチャ導入の手引きと共通の落とし穴 / Guide to Implementing Event-Driven Architecture and Common Pitfalls

        イベント駆動アーキテクチャにおける落とし穴についてお話しています。 こちらは JJUG CCC 2024 Spring の講演用資料です。 Code: https://github.com/nrslib/pubsubdoc # URL YouTube: https://www.youtu…

          イベント駆動アーキテクチャ導入の手引きと共通の落とし穴 / Guide to Implementing Event-Driven Architecture and Common Pitfalls
        • ざっくりCQRS/Event Sourcingを解説する

          AWS データベースブログの記事 「Amazon DynamoDBによる CQRSイベントストアの構築」 を勝手に読み解く

            ざっくりCQRS/Event Sourcingを解説する
          • マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ - 赤帽エンジニアブログ

            インテグレーションのためのミドルウェア製品のテクニカルサポートを担当している山下です。 今回は レッドハットのシニアアーキテクトである Eric Murphy さんによる「マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ(CDC)」の翻訳記事です。この記事では、イベントソーシング、CDC、CDC + Outboxパターン、CQRSをそれぞれ簡単に説明しながら、それらの特性の違いを比較します。また、イベントソーシングとCQRSの簡易な説明がなされている他、あまり明確に語られることが少ないもののソフトウェアの設計に大きな影響をおよぼすドメインイベントとチェンジイベントの違いにも触れられています。 [原文] Distributed Data for Microservices — Event Sourcing vs. Change Data Captur

              マイクロサービスのための分散データ 〜 イベントソーシング vs チェンジデータキャプチャ - 赤帽エンジニアブログ
            • 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
              • CQRS/ESによって集約の境界定義を見直す - かとじゅんの技術日誌

                peing.net メッセージングシステムのお題のようです。面白そうなのでちょっと考えてみよう。 問題提起 集約候補が以下の3つ。 ユーザー 企業 スレッド メッセージ スレッド集約はメッセージを複数保持するようです。 1000件のメッセージを保持するスレッド集約を更新した際、1000件のアップデートが行われる スレッド集約内部で更新された属性を把握していない場合は、リポジトリでは全メッセージ分の更新となる。これを避けるための仕組みはどう実装するのか? ということが指摘されている。まぁわかります。これはCQRS/ESなら解決できるよと言ってみる 問題の分析 で、僕ならどう考えて実装に落とすかつらつらまとめてみよう。CQRS/ES前提です。Akkaの成分は少なめでScalaの擬似コードで解説します。コードはコンパイルしてないので…おかしなところあるかも。 問題はスレッド集約がメッセージの集合

                  CQRS/ESによって集約の境界定義を見直す - かとじゅんの技術日誌
                • Chatworkのテックリードが語る、CQRSを上手に使うため方法

                  株式会社ビープラウドが主催するIT勉強会「BPStudy」。#151となる今回は、設計の代表格であるオブジェクト指向、モデリング、そして設計にフォーカスをあて、LT大会を開催しました。Chatwork株式会社でテックリードとして活躍する加藤潤一氏は、「CQRS(コマンドとクエリの分離)」について語りました。 講演資料はこちら コマンドとクエリを分けるCQRSとは 加藤潤一氏:今日は「CQRSはEvent Sourcingなしで実現できるのか?」という話をします。よろしくお願いします。自己紹介は割愛させてください。 Event Sourcingの事例は、Chatworkでも2016年にNTTデータさんと共同開発したプロジェクトです。AWSのDev Day(AWS Dev Day Tokyo 2017)で話したので、スライドもあります。あとはApache Kafkaを使っているんですけど、NT

                    Chatworkのテックリードが語る、CQRSを上手に使うため方法
                  • 具体的な実装コードからEvent Sourcingを理解する - かとじゅんの技術日誌

                    DDD Community JPのほうでCQRS/Event Sourcingについて少し盛り上がったので、どういう議論をしたかまとめるのと同時に補足も追加しました。ちなみに、Event Sourcingが主題ですが、CQRSも前提として関係します。その想定で読んでいただければと。 発端はこのツイート。 これはEvent Sourcingじゃないと無理ですね。状態に基づく限り、ストリーム処理は難しいです https://t.co/prB16GJC5q— かとじゅん (@j5ik2o) 2020年9月14日 僕が引用したツイートは松岡さんの質問箱に対するリアクションです。その質問箱に寄せられた質問は以下。 ストリームを開いてから閉じるまでのデータが変化する毎にUIで表示したい場合、DDDではどのように設計したら良いでしょうか? DDDのリポジトリは1つのリクエストに対して1つのリクエストを返

                      具体的な実装コードからEvent Sourcingを理解する - かとじゅんの技術日誌
                    • CQRS & Event Sourcing - モダンアーキテクチャにおける役割と実装

                      • Axon Framework で簡単にEventSourcing+CQRSなアプリケーションを作る - エムスリーテックブログ

                        この記事はエムスリーAdvent Calendar 2023の13日目の記事です。 こんにちは、製薬企業向けプラットフォームチームエンジニアの桑原です。 前回のJJUG CCC の登壇についてのブログで Axon Framework について軽く触れました。今回はAxon Frameworkがどのようなもので、どういった使い方をするかを紹介したいと思います。 背景:CommandとQueryに最適なモデルが異なる CommandとEvent追記型との相性は良かった QueryがEvent追記型との相性は良くなかった 苦肉の解決策 Axon Framework ざっくりアーキテクチャ Command EventからReadModelへのマッピング Query まとめ 参考記事 We are Hiring! 背景:CommandとQueryに最適なモデルが異なる 上述のリンクで紹介したメッセー

                          Axon Framework で簡単にEventSourcing+CQRSなアプリケーションを作る - エムスリーテックブログ
                        • 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
                          • ミニマムにはじめるイベントストーミング | | AI tech studio

                            こんにちは。AIRTRACK の豊田です。今回は技術マネジメントの話をします。 先日、チーム内でコロナ対策を万全に講じてイベントストーミングを実施してみました。 社内でもあまり行われていない取り組みのようなので、イベントストーミングとはなにかについて簡単に説明し、どのような課題を解決する手法なのかを見ていきます。加えて、実施にあたってどのような点について注意したのかといった点について、簡単に書きたいと思います。 この記事は実践寄りの感想になるため、イベントストーミングのやり方そのものについては深くは掘り下げていません。 AIRTRACK とは サイバーエージェントの AI 事業本部で、主に広告配信や小売向けのソリューションを提供しているプロダクトです。2014年から創業を開始し、以降さまざまなクライアントを獲得しながら発展してきたプロダクトで、現在では AI 事業本部の小売 DX 部門を支

                              ミニマムにはじめるイベントストーミング | | AI tech studio
                            • イベントベースで考える在庫管理モデル - なんとなくな Developer のメモ

                              従来のイベントソーシングのような手法だと、特定の State(というよりは Entity かも)を永続化するための手段として Event を用いるというような、あくまでも State 中心の発想になると思います。 そこで、ここでは下記のような Event 中心の発想に切り替えて、在庫管理(在庫数を把握するだけの単純なもの)を考えてみました。 State は本質ではなく、Event を解釈した結果にすぎない(解釈の仕方は様々) Event を得たり、伝えたりするための手段として State を用いる 要するに、Event こそが重要で State(Entity とか)は取るに足らない存在だと(実験的に)考えてみたって事です。 従来のイベントソーシング 本件 State が目的、Event が手段 Event が目的、State が手段 なお、ここでイメージしている Event は、特定のドメ

                                イベントベースで考える在庫管理モデル - なんとなくな Developer のメモ
                              • PHPカンファレンス2020 レポート[後編] | gihyo.jp

                                12月12日(土⁠)⁠、PHPカンファレンス2020が開催されました。PHPカンファレンスは今年20周年の節目を迎え、初のオンライン開催となりました。前編に続き、本稿ではその模様をお伝えしていきます。 竹澤有貴さん「事業のスケールアウトを支えるPHPで作る分散アーキテクチャ」 スターフェスティバルの竹澤有貴さんは、これまで大規模データを扱う業務に多く携わってきました。その中での経験を基に、事業を支える大規模アプリケーションをどのようなパターンで構築していくかについて話しました。 「Event Sourcing」と「CQRS」をキーワードに上げ、これらと同列に語られることの多いドメイン駆動設計についても紹介しました。 ビジネスの成長と組織 アプリケーションは小さなアプリケーション、小さなチームから始まります。当初は意思疎通が取りやすいのでコードベースの統一も容易に取れますが、大きいチームにな

                                  PHPカンファレンス2020 レポート[後編] | gihyo.jp
                                • Do not log

                                  Almost every week I accidentally get into this logging argument. Here’s the problem: people tend to log different things and call it a best-practice. And I am not sure why. When I start discussing this with other people I always end up repeating the exact same ideas over and over again. So. Today I want to criticize the whole logging culture and provide a bunch of alternatives. Logging does not ma

                                  • メッセージとイベントを中核に置いたシステム設計の有用性について

                                    現代のシステム設計において、メッセージとイベント駆動のアプローチは、即応性、スケーラビリティ、耐障害性を実現するための重要な要素です。本セッションでは、その有用性と具体的な適用方法について解説します。

                                      メッセージとイベントを中核に置いたシステム設計の有用性について
                                    • イミュータブルでゆこう

                                      概要 2021/11/24に開催された下記勉強会のメモです セッション イミュータブルデータモデルの極意 データの種類 Event -> 日時属性を持つ Resource -> ライフサイクルで属性が変わる イベントの7W3Hがリソースと関連を持つ リソース同士では依存関係があるか?ライフサイクルを同じとするかで場合分け リソースのサブタイプは「区分」で分類 イベント同士の関係は時系列の並びで関係が変わる。時系列は変更してはいけない 例)注文に請求IDを保持、請求が決まった時に更新だと後から情報を変えてしまう事になる->中間テーブルを使う イベントが連なる場合はそれらを束ねたロングタームのイベントを作る リソースの関連とそれに関するイベントは別で識別する どのイベントを記録として残すか、が設計 お金を産むもの、記録がないとお金を失うリスクがあるものを取捨選択 記録すると決めたイベントは変更

                                        イミュータブルでゆこう
                                      • FlutterでBLoCだChangeNotifierと振り回されて消耗するまえに - タオルケット体操

                                        追記 providerとかfreezedの作者が作ってる state_notifier が当エントリとほぼほぼ同じことをやっているので依存が増えることを気にしない人はそっち使ってもいいんじゃないかとおもいます。 みんなの心はひとつでした。 まえがき 先のエントリ BLoCにおけるリモートデータの状態遷移のパターンをくくりだす方法 - タオルケット体操 の書き方からもわかるように、そもそも僕はBLoCが嫌いです。 というか10年前にC#がRXをはじめたときからわかっていたはずですが、ObservableStreamは超かっこいいけど使い道の少ない技術です。フレームワークの裏側で使う分には便利ですが、表に出てくるべきではないでしょう。普通のGUIアプリケーションであれば99%のユースケースはただのコールバックで満たせます。 しかもBLoCはViewModelのパターン*1です。ViewMode

                                          FlutterでBLoCだChangeNotifierと振り回されて消耗するまえに - タオルケット体操
                                        • GitHub - JoseDeFreitas/awesome-youtubers: An awesome list of awesome YouTubers that teach about technology. Tutorials about web development, computer science, machine learning, game development, cybersecurity, and more.

                                          In this section you can find any programming language. Also, many YouTubers teach about frameworks of these languages. Not only programming languages but more general programming stuff. You can find either practical or theoretical tutorials. techsith Content about: React.js, JavaScript Featured playlists: react js from scratch, Node.js Tutorials For Beginners, Data Structures in JavaScript, Interv

                                            GitHub - JoseDeFreitas/awesome-youtubers: An awesome list of awesome YouTubers that teach about technology. Tutorials about web development, computer science, machine learning, game development, cybersecurity, and more.
                                          1