Upgrade to Pro — share decks privately, control downloads, hide ads and more …

新規事業でもマイクロサービスに挑戦する / Challenging Microservices...

Sansan
May 28, 2021

新規事業でもマイクロサービスに挑戦する / Challenging Microservices in new businesses

■イベント

【Sansan Technical View】Sansanの技術的「挑戦」
https://sansan.connpass.com/event/208003/

■登壇概要

タイトル:新規事業でもマイクロサービスに挑戦する

登壇者:Bill One事業部 加藤 耕太

▼Sansan Builders Blog

https://buildersbox.corp-sansan.com/

Sansan

May 28, 2021
Tweet

More Decks by Sansan

Other Decks in Technology

Transcript

  1. 加藤 耕太(Kota Kato) 2011年 4⽉〜 SIerで社内技術推進を担当 2018年 9⽉〜 Sansan株式会社に⼊社し、Sansanのサーバーサイド開発を担当 2019年

    6⽉〜 アーキテクトとしてBill Oneの⽴ち上げに関わる 著書:Pythonクローリング&スクレイピング データ収集・解析のための実践開発ガイド Sansan株式会社 Bill One事業部@関⻄⽀店 ソフトウェアエンジニア
  2. network サービスごとにデータベースを持つ App Engine BFF ユーザー Cloud Run Cloud SQL

    invoice Cloud Run Cloud SQL tenant Cloud Run Cloud SQL 各サービスが独⽴して稼働でき、 他のサービスの影響を受けにくい
  3. - サービス間の同期的な呼び出しは避け、必要なデータは事前に連携しておく キューによる⾮同期のデータ連携 network Cloud Run Cloud SQL invoice Cloud

    Run Cloud SQL Cloud Tasks 送付ユーザー 受領ユーザー 請求書送付 請求書受領 送付ユーザーの 請求書 受領ユーザーの 請求書 他のサービスの影響を受けにくい
  4. Trace Contextを使ったサービス横断でのログ閲覧 Cloud LoggingでTrace ID (xxxxxx) を検索すると、サービス横断でログを閲覧できる フロントエンド BFF network

    Cloud Tasks invoice X-Cloud-Trace-Context: xxxxxx/0;o=1 X-Cloud-Trace-Context: xxxxxx/aaa X-Cloud-Trace-Context: xxxxxx/bbb X-Cloud-Trace-Context: xxxxxx/bbb
  5. - 1つのリポジトリに複数サービスを含めるモノレポに変更 モノレポ化 invoice network tenant /invoice /network /tenant monorepo

    ※CI/CDが遅くなるのを避けるため、Cloud Buildのトリガーで「含まれるファイル」を指定し、 差分があったサービスのみをビルド・デプロイしているが、完璧ではない。 参考: https://orangain.hatenablog.com/entry/monorepo-ci-cd 全サービスをまとめて変更しやすい
  6. - 実践ドメイン駆動設計(ヴォーン・ヴァーノン 髙⽊ 正弘)|翔泳社の本 https://www.shoeisha.co.jp/book/detail/9784798131610 - O'Reilly Japan - マイクロサービスアーキテクチャ

    https://www.oreilly.co.jp/books/9784873117607/ - マイクロサービスパターン 実践的システムデザインのためのコード解説 - イン プレスブックス https://book.impress.co.jp/books/1118101063 - Microservices architecture よろず本 その⼀&その⼆ - ota42y – BOOTH https://booth.pm/ja/items/1316130 - O'Reilly Japan - 進化的アーキテクチャ https://www.oreilly.co.jp/books/9784873118567/ 参考⽂献