Skip to content

Commit 18fbd6c

Browse files
authored
非同期設計ガイドライン: 選定フローのmermaid.js更新 (#249)
* 非同期設計ガイドライン: 選定フロー * fix dead link
1 parent e922a95 commit 18fbd6c

File tree

3 files changed

+32
-34
lines changed

3 files changed

+32
-34
lines changed

documents/forAsync/async_guidelines.md

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -81,20 +81,30 @@ graph LR
8181

8282
```mermaid
8383
graph LR
84-
A((開始)) --> Q1{1.処理時間が長く、<br>UX/応答性に問題があるか};
85-
86-
Q1 -- Yes --> Async>非同期化を検討する];
87-
Q1 -- No --> Q2{2.外部APIなどへの依存を分離し、耐障害性を高める必要があるか?};
88-
Q2 -- Yes --> Async;
89-
Q2 -- No --> Q3{3.突発的なバースト負荷を平準化する必要があるか?};
90-
Q3 -- Yes --> Async;
91-
Q3 -- No --> Q4{4.複数データストア間の整合性をリトライで担保する必要があるか?};
92-
Q4 -- Yes --> Async;
93-
Q4 -- No --> Sync>同期処理のままにする];
84+
Start((開始)) --> Q1{処理時間が長く<br>UX/応答性に問題があるか?}
85+
86+
%% 処理時間と応答性の判断
87+
Q1 -- Yes --> C1{運用工夫で<br>待機時間を許容できるか?}
88+
C1 -- No --> Async>非同期化を検討する]
89+
C1 -- Yes --> Q2
90+
Q1 -- No --> Q2{突発的なバースト負荷を<br>平準化する必要があるか?}
91+
92+
%% 負荷の平準化の判断
93+
Q2 -- Yes --> C2{事前のリソース増強で<br>対応可能か?}
94+
C2 -- No --> Async
95+
C2 -- Yes --> Q3
96+
Q2 -- No --> Q3{外部依存の分離や<br>データ整合性担保が必要か?}
97+
98+
%% レジリエンスの判断
99+
Q3 -- Yes --> C3{障害時に手動復旧などの<br>運用対応が許容できるか?}
100+
C3 -- No --> Async
101+
C3 -- Yes --> Sync>同期処理のままにする]
102+
Q3 -- No --> Sync
94103
95104
%% Style Definitions
96-
style Sync fill:#e6ffed,stroke:#006600,stroke-width:2px
97-
style Async fill:#fff0f0,stroke:#990000,stroke-width:2px
105+
style Sync fill:#e6ffed,stroke:#006600,stroke-width:2px,color:#000000
106+
style Async fill:#fff0f0,stroke:#990000,stroke-width:2px,color:#000000
107+
style Start fill:#f9f9f9,stroke:#333,stroke-width:2px,color:#000000
98108
```
99109

100110
## 処理時間と応答性
@@ -632,7 +642,7 @@ sequenceDiagram
632642
User->>Worker: サインアップ (リクエスト)
633643
activate Worker
634644
635-
rect rgb(240, 255, 240)
645+
rect rgb(240, 255, 240, 0.5)
636646
note right of Worker: メイン処理完了 (Commit)
637647
Worker->>DB: ユーザー作成 (TX)
638648
DB-->>Worker: OK
@@ -649,7 +659,7 @@ sequenceDiagram
649659
PQ-->>PW: 決済ジョブ受信
650660
activate PW
651661
652-
rect rgb(255, 240, 240)
662+
rect rgb(255, 240, 240, 0.5)
653663
note right of PW: 異常発生<br>同期部分と決済基盤でデータ不整合
654664
PW->>Z: 請求アカウント作成 (API Call)
655665
activate Z
@@ -687,15 +697,15 @@ sequenceDiagram
687697
User->>Worker: サインアップ (リクエスト)
688698
activate Worker
689699
690-
rect rgb(240, 255, 240)
700+
rect rgb(240, 255, 240, 0.5)
691701
note right of Worker: メイン処理完了 (Commit)
692702
Worker->>DB: ユーザー作成 (TX)
693703
DB-->>Worker: OK
694704
695705
Worker->>SF: 顧客レコード作成 (API Call)
696706
SF-->>Worker: OK
697707
698-
Worker->>PQ: 請求アカウント作成依頼 (非同期)
708+
Worker->>PQ: 請求アカウント作成依頼
699709
Worker->>DB: commit
700710
Worker-->>User: Accepted
701711
end
@@ -704,7 +714,7 @@ sequenceDiagram
704714
PQ-->>PW: 決済ジョブ受信
705715
activate PW
706716
707-
rect rgb(255, 240, 240)
717+
rect rgb(255, 240, 240, 0.5)
708718
note right of PW: 異常発生
709719
PW->>Z: 請求アカウント作成 (API Call)
710720
activate Z
@@ -714,18 +724,14 @@ sequenceDiagram
714724
note over PW, Z: 【Saga開始: 補償トランザクション実行】
715725
716726
%% --- 補償処理(Sequential: DB -> SF)---
717-
note right of PW: 14. ユーザーレコード削除 (補償処理 - 必須)
727+
note right of PW: ユーザーレコード削除
718728
PW->>DB: ユーザーレコード削除
719729
DB-->>PW: OK
720730
721-
note right of PW: 15. 顧客レコード削除 (補償処理)
731+
note right of PW: 顧客レコード削除
722732
PW->>SF: 顧客レコード削除
723733
SF-->>PW: 削除完了
724734
PW->>DB: commit
725-
726-
%% ---------------------------------------
727-
728-
note over PW, DB: 16. Saga完了。システムは一貫性を保つ。
729735
end
730736
731737
deactivate PW

documents/forTerraform/terraform_guidelines.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,13 @@ Terraformはインフラを宣言的にコード管理するツールである
3434
- OSS利用のみ(HCP Terraformは利用しない)
3535
- AWS、Google Cloud、Azureなどのクラウドサービスに対しての利用
3636

37-
また、利用者は以下の技術を理解しているとし、本ガイドラインではこれらについて解説はしない。
37+
利用者は以下の技術を理解しているとし、本ガイドラインではこれらについて解説はしない。
3838

3939
- 基本的なTerraformの知識と理解
4040
- Gitの基本的な知識
4141
- CI/CDの基本的な知識
4242

43-
また、本ガイドラインの適用範囲は、Terraformの設計、開発時に利用することを想定している。クラウドサービス上の技術選定、サービス設計の手法については本ガイドラインで対象外とする。関連するドキュメントとして以下がある。適時参照すること。
44-
45-
::: info 参考
46-
47-
- [AWS設計ガイドライン](https://future-architect.github.io/arch-guidelines/documents/forAWS/aws_guidelines.html)
48-
- [AWSインフラ命名規約](https://future-architect.github.io/coding-standards/documents/forAWSResource/AWS%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E5%91%BD%E5%90%8D%E8%A6%8F%E7%B4%84.html)
49-
- [Gitブランチフロー規約](https://future-architect.github.io/coding-standards/documents/forGitBranch/git_branch_standards.html)
50-
51-
:::
43+
本ガイドラインの適用範囲は、Terraformの設計、開発時に利用することを想定している。クラウドサービス上の技術選定、サービス設計の手法については本ガイドラインで対象外とする。関連するドキュメントには、[AWS設計ガイドライン](/documents/forAWS/aws_guidelines.html)[Gitブランチフロー規約](/documents/forGitBranch/git_branch_standards.html)がある。
5244

5345
# 用語について
5446

documents/forWebFrontend/web_frontend_guidelines.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1396,7 +1396,7 @@ PWA関連実装のテストは、通常のWebアプリケーションのテス
13961396

13971397
Webフロントエンドの静的ファイルに対するアクセス方法が複数存在する場合(例: CDN経由とLB経由など)は、HTTPキャッシュやリダイレクトの設定などにより、特定の方法では意図しない挙動が発生する場合がある。そのため全デプロイ方式でインフラ構成を変更するたびに動作確認することを推奨する。
13981398

1399-
# レスポンシブ対応 {#レスポンシブ対応}
1399+
# レスポンシブ対応
14001400

14011401
スマートフォンやタブレット端末の普及により、システムに対して様々なデバイスからアクセスがなされるようになった。レスポンシブ対応することで、以下のメリットがあるとされる。
14021402

0 commit comments

Comments
 (0)