SlideShare a Scribd company logo
発表者:土岐 孝平
1
土岐孝平(とき こうへい)
Springをよく使っている
書籍「Spring3入門」の共著
業務システムの開発に携わっている
マイクロサービスの考えを取り入れたい
2
良いと思います
システム(サービス)を小分けにする
独立した仕組み
▪ プログラミング言語、フレームワーク、データベース
個別に開発、デプロイ
メリット
▪ 改修しやすい、新しい技術に対応しやすい、システムを
入替やすい
サイロ化しないか?
全体最適を考慮した上で小分けにしましょう
3
Database per serviceパターン
By Chris Richardson
メリット
システムに適した製品を選択できる
▪ RDB、NoSQL、検索エンジン・・・
スキーマの変更が他のシステムに影響しない
デメリット
システムを跨るトランザクション
システムを跨るデータの結合
4
何を切り口にして分けるか?
データ?
機能?
5
データデータデータデータB
データデータデータデータCデータデータデータデータD
データデータデータデータA
機能機能機能機能X
機能機能機能機能Y
機能機能機能機能Z
6
出荷出荷出荷出荷
入荷入荷入荷入荷
在庫在庫在庫在庫商品商品商品商品発注発注発注発注
受注受注受注受注 仕入元仕入元仕入元仕入元
得意先得意先得意先得意先
・きれいに分けることができない
7
販売管理販売管理販売管理販売管理 物流管理物流管理物流管理物流管理マスタ管理マスタ管理マスタ管理マスタ管理
商品商品商品商品
管理管理管理管理
得意先得意先得意先得意先
管理管理管理管理
仕入元仕入元仕入元仕入元
管理管理管理管理
発注発注発注発注
管理管理管理管理
受注受注受注受注
管理管理管理管理
入荷入荷入荷入荷
管理管理管理管理
出荷出荷出荷出荷
管理管理管理管理
・きれいに分けることができる
※ ただし、他のシステムのデータを参照する必要がある
方法
リモートプロシージャコール(RESTなど)&アプリ側で結合
マテリアライズドビュー(実体を持ったビュー)として同期
8
物流管理物流管理物流管理物流管理マスタ管理マスタ管理マスタ管理マスタ管理
入荷入荷入荷入荷商品商品商品商品
入荷した商品の情報を入荷した商品の情報を入荷した商品の情報を入荷した商品の情報を
画面に表示したい画面に表示したい画面に表示したい画面に表示したい
入荷入荷入荷入荷 商品商品商品商品
9
物流管理物流管理物流管理物流管理マスタ管理マスタ管理マスタ管理マスタ管理
入荷入荷入荷入荷商品商品商品商品
商品商品商品商品
入荷入荷入荷入荷 商品商品商品商品
【メリット】
・参照する側でデータを持た
なくてよい
・データの重複がない
【デメリット】
・パフォーマンス
・APIの設計が大変そう
・依存が強くなる
-- マスタ管理が停止すると物流管理が動かない
-- 開発時にマスタ管理のスタブが必要
10
物流管理物流管理物流管理物流管理マスタ管理マスタ管理マスタ管理マスタ管理
入荷入荷入荷入荷商品商品商品商品 商品商品商品商品同期同期同期同期
【デメリット】
・仕組みが大変そう
ファイル?メッセージング?DBのマテ
ビュー?
リアリタイム性、データの齟齬
【メリット】
・柔軟に検索できる
・依存が弱くなる
-- マスタ管理が停止しても
物流管理は動く
-- 開発時は商品のスキーマを
用意するだけ
入荷入荷入荷入荷 商品商品商品商品
ケースバイケース?
指針を明確にするのが難しい
2つの方法が無秩序に乱立しそう
マテリアライズドビューとして同期した方が潰し
が効く
マテリアライズドビューの方が柔軟な検索ができる
▪ 検索エンジンを利用してもよい
マテリアライズドビューで一本化したほうがよい
気がする
ただし、同期の仕組みの作り込みは必要
11
機能を切り口にしてシステムを分ける
開発が大変そうにならない程度の細かさ(細かくし過ぎない)
パッケージやSaaSで切り売りしてるくらいの粒度
マテリアライズドビューとして参照データを同期
同期の仕組みは要検討
12
販売管理販売管理販売管理販売管理 物流管理物流管理物流管理物流管理
マスタ管理マスタ管理マスタ管理マスタ管理
商品商品商品商品
同期の仕組み同期の仕組み同期の仕組み同期の仕組み
商品商品商品商品 商品商品商品商品
13

More Related Content

PDF
ドメイン駆動設計の捉え方 20150718
Mao Ohnishi
 
PDF
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
 
PDF
Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
 
PDF
PostgreSQLアンチパターン
Soudai Sone
 
PDF
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
 
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
PDF
機械学習モデルのサービングとは?
Sho Tanaka
 
PDF
ドメイン駆動設計 基本を理解する
増田 亨
 
ドメイン駆動設計の捉え方 20150718
Mao Ohnishi
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
 
Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
 
PostgreSQLアンチパターン
Soudai Sone
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
機械学習モデルのサービングとは?
Sho Tanaka
 
ドメイン駆動設計 基本を理解する
増田 亨
 

What's hot (20)

PDF
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
 
PDF
第34回Office 365勉強会 : Microsoftサポート活用術 ~ Microsoft Azureを中心に ~
Genki WATANABE
 
PDF
Railsで作るBFFの功罪
Recruit Lifestyle Co., Ltd.
 
PDF
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
Google Cloud Platform - Japan
 
PDF
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
 
PDF
Office365勉強会 #23 Azure AD のテナント設計(Office365管理者向け)
Genki WATANABE
 
PDF
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
 
PDF
3. Vertex AIを用いた時系列データの解析
幸太朗 岩澤
 
PPTX
概念モデリング再入門 + DDD
Hiroshima JUG
 
PDF
運用してわかったLookerの本質的メリット : Data Engineering Study #8
Masatoshi Abe
 
PPTX
インセプションデッキの紹介
lita
 
PDF
超実践 Cloud Spanner 設計講座
Samir Hammoudi
 
PDF
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
 
PDF
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
 
PDF
イミュータブルデータモデルの極意
Yoshitaka Kawashima
 
PDF
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
 
PDF
SharePoint Online へのアクセスを制限しよう
Hirofumi Ota
 
PDF
AWSのログ管理ベストプラクティス
Akihiro Kuwano
 
PDF
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
Hironobu Isoda
 
PPTX
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi
 
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
 
第34回Office 365勉強会 : Microsoftサポート活用術 ~ Microsoft Azureを中心に ~
Genki WATANABE
 
Railsで作るBFFの功罪
Recruit Lifestyle Co., Ltd.
 
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
Google Cloud Platform - Japan
 
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
 
Office365勉強会 #23 Azure AD のテナント設計(Office365管理者向け)
Genki WATANABE
 
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
 
3. Vertex AIを用いた時系列データの解析
幸太朗 岩澤
 
概念モデリング再入門 + DDD
Hiroshima JUG
 
運用してわかったLookerの本質的メリット : Data Engineering Study #8
Masatoshi Abe
 
インセプションデッキの紹介
lita
 
超実践 Cloud Spanner 設計講座
Samir Hammoudi
 
Rustに触れて私のPythonはどう変わったか
ShunsukeNakamura17
 
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
 
イミュータブルデータモデルの極意
Yoshitaka Kawashima
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
 
SharePoint Online へのアクセスを制限しよう
Hirofumi Ota
 
AWSのログ管理ベストプラクティス
Akihiro Kuwano
 
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
Hironobu Isoda
 
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi
 
Ad

Similar to 業務システムとマイクロサービス (20)

PPTX
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
Takahiro Fujii
 
PDF
デザインパターンから見た AWS と Azure
Sunao Tomita
 
PDF
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
Tomoharu ASAMI
 
PDF
JavaOne2017参加報告 Microservices topic & approach #jjug
Yahoo!デベロッパーネットワーク
 
PPT
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
 
PDF
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Toshiaki Maki
 
PPTX
Servcie Fabric and Cloud Design Pattern
Takekazu Omi
 
PDF
設計モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第45回】
Tomoharu ASAMI
 
ODP
Spring2概論@第1回JSUG勉強会
Mitsuhiro Okamoto
 
PDF
分析モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第44回】
Tomoharu ASAMI
 
PPTX
BigData Architecture for Azure
Ryoma Nagata
 
PDF
Design Pattern MicroServices Architecture in Japanese
Lei Xu
 
PDF
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Sunao Tomita
 
PPTX
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Takeshi Hirosue
 
PDF
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Takuya Kawabe
 
PDF
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
 
PDF
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
オラクルエンジニア通信
 
PPTX
祝GA、 Service Fabric 概要
Takekazu Omi
 
PDF
GCP本格採用で遭遇した課題とマイクロサービス的解決
Google Cloud Platform - Japan
 
PDF
Google cloudinside3
Masaki Toyoshima
 
JSUG SpringOnePlatform 2016報告会 Case study2 - feed back - springoneplatform
Takahiro Fujii
 
デザインパターンから見た AWS と Azure
Sunao Tomita
 
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
Tomoharu ASAMI
 
JavaOne2017参加報告 Microservices topic & approach #jjug
Yahoo!デベロッパーネットワーク
 
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
 
Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
Toshiaki Maki
 
Servcie Fabric and Cloud Design Pattern
Takekazu Omi
 
設計モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第45回】
Tomoharu ASAMI
 
Spring2概論@第1回JSUG勉強会
Mitsuhiro Okamoto
 
分析モデル 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第44回】
Tomoharu ASAMI
 
BigData Architecture for Azure
Ryoma Nagata
 
Design Pattern MicroServices Architecture in Japanese
Lei Xu
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Sunao Tomita
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Takeshi Hirosue
 
Base DDD(ドメイン駆動設計) 参考文献を巡る旅
Takuya Kawabe
 
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
 
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
オラクルエンジニア通信
 
祝GA、 Service Fabric 概要
Takekazu Omi
 
GCP本格採用で遭遇した課題とマイクロサービス的解決
Google Cloud Platform - Japan
 
Google cloudinside3
Masaki Toyoshima
 
Ad

More from 土岐 孝平 (16)

PDF
What's new in Spring Boot 2.6 ?
土岐 孝平
 
PDF
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
 
PDF
SpringベースのCloud Native Application
土岐 孝平
 
PDF
Spring fest2020 spring-security
土岐 孝平
 
PDF
Microserviceの今どきのインフラを探る
土岐 孝平
 
PDF
OpenID Connect入門
土岐 孝平
 
PDF
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
 
PDF
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
 
PDF
これから始めるSpringのwebアプリケーション
土岐 孝平
 
PDF
今さら聞けないDiとspring
土岐 孝平
 
PPT
Springを使ったwebアプリにリファクタリングしよう
土岐 孝平
 
PDF
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
 
PDF
エッセンシャルCore springハンズオン
土岐 孝平
 
PPT
試験にでるSpring
土岐 孝平
 
PPT
Spring3.1概要 データアクセスとトランザクション処理
土岐 孝平
 
PPT
vFabricを触ろう
土岐 孝平
 
What's new in Spring Boot 2.6 ?
土岐 孝平
 
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
 
SpringベースのCloud Native Application
土岐 孝平
 
Spring fest2020 spring-security
土岐 孝平
 
Microserviceの今どきのインフラを探る
土岐 孝平
 
OpenID Connect入門
土岐 孝平
 
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
 
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
 
これから始めるSpringのwebアプリケーション
土岐 孝平
 
今さら聞けないDiとspring
土岐 孝平
 
Springを使ったwebアプリにリファクタリングしよう
土岐 孝平
 
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
 
エッセンシャルCore springハンズオン
土岐 孝平
 
試験にでるSpring
土岐 孝平
 
Spring3.1概要 データアクセスとトランザクション処理
土岐 孝平
 
vFabricを触ろう
土岐 孝平
 

業務システムとマイクロサービス