エンジニアブログ株式会社ラクスのITエンジニアによる技術ブログです。今回は昨年度から取り組んでいる、通称「かみせんプロジェクト」の今期の成果(の一部)についてご紹介します。年度に取り組みが始まりました。具体的には以下の実現のための技術検証や知見獲得を、社内システムのマイクロサービス化を題材に行っています。上でコンテナとして動作しているマイクロサービスの結果整合性マイクロサービス化を進めるとバックエンドで複数のサービスが協調して動作することになり、これまではデータベースのトランザクション機能により担保されていたデータの一貫性について別のアプローチが必要になります。して、マイクロサービスの結果整合性について調査や技術検証を行いました。呼び出しに置き換えるデータの整合性はリトライ処理で担保する検証結果(得られた知見)サービスの分割は難しい大前提としてサービスをまたぐトランザクションが発生しないようにサービスを分割すべき今回のように同一トランザクションでデータ更新をしたい処理であれば、サービス同士が疎結合ではないということであり、そもそもサービス分割の粒度が正しくない可能性が高いドメインの知識が乏しい状態では適切なドメイン境界を認識することはきわめて難しいドメインの知識が増えた中盤になってから分割し直すことも、別の意味で難易度が高そう自動テストなど品質担保の仕組みや、作り直しに対する組織の理解の度合いで実現可能性が大きく変わる結果整合性の担保は難しい今回のようにリトライ(有限回数)で整合性を担保する場合、すべて失敗する可能性もゼロではなく、最終的にログなどから手動リカバリーできる仕組みを考えておく必要がある今回は時間の都合で検証していないが、メッセージキューを利用したイベントソーシングなアーキテクチャも検討したい分散トランザクション(二相コミットなど)の手法を使う選択肢もあるが、システムの複雑さや難易度が一気に増加しそうで現実的ではなさそう最後にマイクロサービスの分割や結果整合性に関する知見は、情報としては世の中にありますが、実際に自分の手を動かして検証することで、改めてその課題感を実感するとともに、現実のサービス開発にマイクロサービスアーキテクチャを適用する難しさも明らかになりましたラクスでは現在、HR(人事労務)領域を対象した新サービスの開発に取り組んでおり、この「かみせんプロジェクト」で得られた知見が現実のプロジェクトで活かされようとしています。JPで登壇してきましたこんにちは、@whiteFox_73です。関連の宣伝ばかりしている鈴木です。こんにちはMasaKuです。レガシーシステムとの戦い方について話しました。reserved.はてなブログをはじめよう!tech-rakusさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。