architectureに関するnagaitakeyukiのブックマーク (15)

  • メルペイでの運用環境とオブザーバビリティ | メルカリエンジニアリング

    この記事は、Merpay Advent Calendar の14日目の記事です。 こんにちは。メルペイのSettelementチームで開発を担当するバックエンドエンジニアの @shiv3 です。 9月に入社後今のチームへ配属されてからシステムのキャッチアップが進み、晴れて開発している担当のシステムのオンコール当番を任されるようになりました。 「メルペイSREチームのこれまでとこれから」でも触れられていますが、メルペイではSREチームがオブザーバビリティやオンコール制度を整えてくれており、開発チームと協力体制でオンコールを回しています。 オンコール体制で重要になるのは、オンコール担当者のシステムへの理解やドメイン知識は言うまでもなく、アラートが鳴った際にすぐに原因調査を行える状態にしておくことが重要です。安定したシステムでも、もし何か起こった際に原因が全く分からないブラックボックスの状態では

    メルペイでの運用環境とオブザーバビリティ | メルカリエンジニアリング
  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

    マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
  • Service meshとは何か

    Microservicesの世界においてService meshは大きなキーワードになった.KubeCon 2017やKubeCon 2018 EUにおいても多くのセッションをService mesh(もしくはその代表格であるIstio)が占めており注目の高さも伺える.もちろんMicroservicesを進めるMercariにおいても導入を検討しており今後重要なコンポーネントの1つになると考えている.記事ではそもそもなぜService meshという考え方が登場したのか,なぜ重要なのか? その実装としてのIstioとは何で何ができるのか? について簡単にまとめてみる. 参考文献 Service meshを一番理想的な形でサービスに使い始めその考え方を広めたのはLyftだ(と思う).LyftはIstioのコアのコンポーネントであるEnvoyを開発しそれを用いてService meshを構築

  • saga パターン - Azure Design Patterns

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 saga 設計パターンは、分散トランザクション シナリオでマイクロサービス間のデータの一貫性を管理する方法です。 saga はトランザクションのシーケンスです。この saga によって各サービスが更新され、次のトランザクション ステップをトリガーするメッセージまたはイベントが発行されます。 また、ステップが失敗すると、その前のトランザクションを無効にする補正トランザクションを実行されます。 コンテキストと問題 "トランザクション" は、ロジックまたは作業の 1 つのユニットで、複数の操作で構成されることもあります。 トランザクション内では、"イベント" は、エンティティに対して発生する状態変更です。アクション

    saga パターン - Azure Design Patterns
  • The Amazon Builders' Library

    【毎月更新・日AWS エンジニアがクラウド解説】 初心者向け解説、最新のクラウドネイティブな開発手法・利用シーン別ハンズオンを学ぶ »

    The Amazon Builders' Library
  • Amazonの分散システム開発のノウハウが凝縮された「Amazon Builder’s Library」の中身を見てみた #reinvent | DevelopersIO

    日、Wernerのキーノートにて、開発者向けドキュメントラブラリーであるところの「Amzon Builder's Library」のリリースが発表されました。 Welcome to the Amazon Builders’ Library 弊社西澤の速報記事もでております。Amazon Builder's Libraryの概要はこちらを参照ください。 [速報] The Amazon Builders’ Libraryが発表されました #reinvent | Developers.IO 現在、13個のライブラリが登録されていますが、この中から自分が気になったライブラリーを何個か紹介しようと思います。想像していた以上に内容が濃い! (祭) ∧ ∧ Y  ( ゚Д゚) Φ[_ソ__y_l〉     メッチャコイデ ワッショイ |_|_| し'´J Challenges with distri

    Amazonの分散システム開発のノウハウが凝縮された「Amazon Builder’s Library」の中身を見てみた #reinvent | DevelopersIO
  • 分散システムの課題

    Amazon が 2 台目のサーバーを追加した時から、分散システムは Amazon で馴染み深いものになりました。私が 1999 年に Amazon に入社したとき、サーバーの数が非常に少なかったため、「fishy」や「online-01」などのわかりやすい名前を付けることができました。けれども、1999 年であっても、分散コンピューティングは容易ではありませんでした。また現時点で、分散システムの課題には、レイテンシー、スケーリング、ネットワーキング API の理解、データのマーシャリングとアンマーシャリング、および Paxos などのアルゴリズムの複雑さが含まれます。システムが急速に大きくなり、分散するにつれて、理論的なエッジケースであったものが定期的に発生しました。 信頼できる長距離電話ネットワークやアマゾン ウェブ サービス (AWS) のサービスといった分散ユーティリティコンピュー

    分散システムの課題
  • 実装クリーンアーキテクチャ

    最近何かと騒がしいクリーンアーキテクチャですが、丁度プロダクトで採用したところだったので折角なので情報共有ということで Qiita の初記事にしてみようと思います。 こちらの記事は GUI や CUI のアプリケーションを対象にしています。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/?preview_id=1263&preview_nonce=542ba7b70f&_thumbnail_id=1293&preview=true その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 より実践的なコード(WEBアプリケーション): https://github.com/nrslib/itddd/tree/master/CleanLike YouTube での解説(WEBアプリケーション):

    実装クリーンアーキテクチャ
  • 実践クリーンアーキテクチャ with Java

    この記事について こちらの記事はクリーンアーキテクチャの Java 実装による解説記事です。 MVC フレームワークに組み込むために一部変更している部分もあります。 それをふまえてご覧ください。 講演内容が @IT さまに記事にしていただけました。 あわせてご参照ください。 https://www.atmarkit.co.jp/ait/articles/1907/08/news002.html クリーンアーキテクチャよりも軽量で無理なく導入しやすいアプリケーションアーキテクチャパターンを考案しました。 https://nrslib.com/adop/ スライド JJUG CCC 2019 Spring での発表資料です。 この発表をするにあたって記事を書くことにしました。 YouTube YouTube でこちらの解説を行いました。 その他解説もしています。もしよろしければチャンネル登録を

    実践クリーンアーキテクチャ with Java
  • 世界一わかりやすいClean Architecture #csharptokyo

    C# Tokyo ユーザーコミュニティのイベント - C# Tokyo オンライン「世界一わかりやすいClean Architecture」他 で発表した内容です。 動画の原稿はこちらに公開しています。 https://www.nuits.jp/entry/easiest-clean-architecture-2019-09 またサンプルコードやPowerPointファイルはこちらに公開しています。 https://github.com/nuitsjp/Easiest-Clean-Architecture あわせて御覧ください。

    世界一わかりやすいClean Architecture #csharptokyo
  • DDD超入門(後編) - Domain-Driven Designの適用Step - エンタープライズギークス (Enterprise Geeks)

    前編ではDDDの概要についてふれたが、後編ではDDDの適用Stepを3つのStepに分けて紹介する。 まずStep1として、アプリケーションに登場しうる概念を抽出してドメインモデルで表現する。 次にStep2として、各ドメインの概念を深掘りしてソフトウェアとしてどう表現するかにについて紹介する。 最後にStep3でドメイン部品の仕上げとDDDの恩恵ついてふれていく。 Step1: ドメインモデルによる表現 DDDでは機能やユースケースに加えて、その裏に潜んでいる「概念」を抽出する必要がある。そのため、DDDを導入するにあたってアプリケーションに登場しうる概念を整理した「ドメインモデル」がまず必要となる。全体のコンテキストを整理して、該当のドメインモデルを描くことがDDDの最初の1歩となる。 例として、よくある一般的な受注管理の簡単なドメインモデルをあげる。 「顧客」からある「商品」の「注文

    DDD超入門(後編) - Domain-Driven Designの適用Step - エンタープライズギークス (Enterprise Geeks)
  • DDD超入門(前編) - Domain-Driven Designの概要 - エンタープライズギークス (Enterprise Geeks)

    今回から2回に分けて、Domain-Driven Design(ドメイン駆動設計。略してDDD)を紹介する。 DDDとは、Eric Evans氏が2000年代初頭から提唱しているソフトウェア設計手法で、機能中心ではなくドメイン(ビジネス上の関心領域)に設計の重心を置いたオブジェクト指向設計手法の1つである。 前編の今回はまずDDDの概要にふれ、次回は後編としてDDDの適用Stepについて簡単に紹介する。 DDDの前身 DDDは、Martin Fowler氏が以下の書籍『PoEAA(Patterns of Enterprise Application Architecture)』の中で分類している以下の3つのロジックパターンの内「ドメインモデル」の流れをくんでいる。 エンタープライズアプリケーションアーキテクチャパターン 作者: マーチン・ファウラー出版社/メーカー: 翔泳社発売日: 201

    DDD超入門(前編) - Domain-Driven Designの概要 - エンタープライズギークス (Enterprise Geeks)
  • 実録!LOHACOにおけるDDDとCleanなArchitecture/DDD and Clean Architecture at LOHACO

    レガシーをぶっつぶせ。現場でDDD!の資料になります。 https://genbade-ddd.connpass.com/event/127494/

    実録!LOHACOにおけるDDDとCleanなArchitecture/DDD and Clean Architecture at LOHACO
  • YOW2018 - Events and Commands: Developing Asynchronous Microservices

  • 世界一わかりやすいClean Architecture - nuits.jp blog

    項は「C# Tokyo オンライン「世界一わかりやすいClean Architecture」他」による発表の登壇原稿となります。過去に発表した.NET版の記事はこちらにアーカイブしています。 稿のサンプルコード・PPTはこちらで公開しています。 「CC BY-SA 4.0」で公開していますので、気に入っていただけたら営利目的含め、ライセンスの範囲で自由に利用していただいて問題ありません。 github.com また動画を以下で配信しています。よろしければご覧ください。 世界一わかりやすいClean Architecture はじめに まず初めに、クリーンアーキテクチャの誤解されがちな二つのことについてお話させていただきます。 その上で、クリーンアーキテクチャの質とは何か?押さえておくべき、当に重要だと考えている三つの事について、お話しします。 注意事項 さて題に入る前に、少し注意

    世界一わかりやすいClean Architecture - nuits.jp blog
  • 1