API 게이트웨이 패턴 다이어그램 (PlantUML)
이 그림을 포함한 블로그 기사도 기재하고 있으므로, 흥미있는 분은 이하로부터 부디.
대단해, API Gateway 패턴! ~ 마이크로 서비스 아키텍처 디자인 패턴 ~ - 후지 야마 달걀의 날
API Gateway 패턴
클라이언트와 백엔드 서비스 사이에 입구가 되는 API 게이트웨이를 배치하는 것이 API 게이트웨이 패턴입니다.
API 게이트웨이가 있는 경우
API 게이트웨이는 외부 요청을 한 손에 맡습니다.
코드
@startuml
title APIゲートウェイがある場合
skinparam agent {
roundCorner 20
}
skinparam rectangle {
roundCorner 20
}
agent クライアントアプリ as client
rectangle バックエンド as backend {
agent APIゲートウェイ as gateway
agent サービスA as serviceA
agent サービスB as serviceB
agent サービスC as serviceC
}
client -right-> gateway
gateway-down-> serviceA
gateway-down-> serviceB
gateway-down-> serviceC
@enduml
API 게이트웨이가 없는 경우
API 게이트웨이가 없는 경우 다음과 같이 외부의 진입점이 여러 개로 분산됩니다. 이로 인해 외부 공격 지점이 여러 개로 분산되어 보안 위험을 높일 수 있습니다.
코드
@startuml
title APIゲートウェイがない場合
skinparam agent {
roundCorner 20
}
skinparam rectangle {
roundCorner 20
}
agent クライアントアプリ as client
rectangle バックエンド as backend {
agent サービスA as serviceA
agent サービスB as serviceB
agent サービスC as serviceC
}
client -down-> serviceA
client -down-> serviceB
client -down-> serviceC
@enduml
API Gateway 시퀀스 다이어그램
API 게이트웨이를 통과하지 않는 경우
API 게이트웨이를 통과하지 않으면 클라이언트에서 여러 서비스에서 필요한 정보를 검색합니다. 시퀀스 다이어그램은 다음과 같습니다.
코드
@startuml
title APIゲートウェイを経由しない場合
participant “ECサイト注文画面” as ecsite
participant “商品カタログサービス” as catalog
participant “レビューサービス” as review
participant “レコメンデーションサービス” as recomendation
ecsite -> catalog: 商品情報取得()
activate catalog
catalog-> ecsite : 商品情報
deactivate catalog
ecsite -> review: レビューリスト取得()
activate review
review -> ecsite : レビューリスト
deactivate review
ecsite -> recomendation: レコメンデーションリスト取得()
activate recomendation
recomendation -> ecsite : レコメンデーションリスト
deactivate recomendation
@enduml
API 게이트웨이를 통한 경우
API 게이트웨이를 경유하는 경우 클라이언트와의 상호작용을 최소화할 수 있습니다.
코드
@startuml
title APIゲートウェイを経由する場合
participant “ECサイト注文画面” as ecsite
participant “APIゲートウェイ” as apigateway
participant “商品カタログサービス” as catalog
participant “レビューサービス” as review
participant “レコメンデーションサービス” as recomendation
ecsite -> apigateway: 注文画面用情報取得()
activate apigateway
apigateway-> catalog: 商品情報取得()
activate catalog
catalog-> apigateway: 商品情報
deactivate catalog
apigateway-> review: レビューリスト取得()
activate review
review -> apigateway: レビューリスト
deactivate review
apigateway-> recomendation: レコメンデーションリスト取得()
activate recomendation
recomendation -> apigateway: レコメンデーションリスト
deactivate recomendation
apigateway -> ecsite : 注文画面用情報
deactivate apigateway
@enduml
마지막으로
API 게이트웨이는 마이크로서비스 아키텍처에서 입구 역할을 한다. 그런 API 게이트웨이에 관해서 아래의 기사에 정리하고 있으므로, 흥미있는 분은 꼭 부디.
대단해, API Gateway 패턴! ~ 마이크로 서비스 아키텍처 디자인 패턴 ~ - 후지 야마 달걀의 날
Reference
이 문제에 관하여(API 게이트웨이 패턴 다이어그램 (PlantUML)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fujiyamaegg/items/494eeaf8b2956e379d55
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
@startuml
title APIゲートウェイがある場合
skinparam agent {
roundCorner 20
}
skinparam rectangle {
roundCorner 20
}
agent クライアントアプリ as client
rectangle バックエンド as backend {
agent APIゲートウェイ as gateway
agent サービスA as serviceA
agent サービスB as serviceB
agent サービスC as serviceC
}
client -right-> gateway
gateway-down-> serviceA
gateway-down-> serviceB
gateway-down-> serviceC
@enduml
@startuml
title APIゲートウェイがない場合
skinparam agent {
roundCorner 20
}
skinparam rectangle {
roundCorner 20
}
agent クライアントアプリ as client
rectangle バックエンド as backend {
agent サービスA as serviceA
agent サービスB as serviceB
agent サービスC as serviceC
}
client -down-> serviceA
client -down-> serviceB
client -down-> serviceC
@enduml
API 게이트웨이를 통과하지 않는 경우
API 게이트웨이를 통과하지 않으면 클라이언트에서 여러 서비스에서 필요한 정보를 검색합니다. 시퀀스 다이어그램은 다음과 같습니다.
코드
@startuml
title APIゲートウェイを経由しない場合
participant “ECサイト注文画面” as ecsite
participant “商品カタログサービス” as catalog
participant “レビューサービス” as review
participant “レコメンデーションサービス” as recomendation
ecsite -> catalog: 商品情報取得()
activate catalog
catalog-> ecsite : 商品情報
deactivate catalog
ecsite -> review: レビューリスト取得()
activate review
review -> ecsite : レビューリスト
deactivate review
ecsite -> recomendation: レコメンデーションリスト取得()
activate recomendation
recomendation -> ecsite : レコメンデーションリスト
deactivate recomendation
@enduml
API 게이트웨이를 통한 경우
API 게이트웨이를 경유하는 경우 클라이언트와의 상호작용을 최소화할 수 있습니다.
코드
@startuml
title APIゲートウェイを経由する場合
participant “ECサイト注文画面” as ecsite
participant “APIゲートウェイ” as apigateway
participant “商品カタログサービス” as catalog
participant “レビューサービス” as review
participant “レコメンデーションサービス” as recomendation
ecsite -> apigateway: 注文画面用情報取得()
activate apigateway
apigateway-> catalog: 商品情報取得()
activate catalog
catalog-> apigateway: 商品情報
deactivate catalog
apigateway-> review: レビューリスト取得()
activate review
review -> apigateway: レビューリスト
deactivate review
apigateway-> recomendation: レコメンデーションリスト取得()
activate recomendation
recomendation -> apigateway: レコメンデーションリスト
deactivate recomendation
apigateway -> ecsite : 注文画面用情報
deactivate apigateway
@enduml
마지막으로
API 게이트웨이는 마이크로서비스 아키텍처에서 입구 역할을 한다. 그런 API 게이트웨이에 관해서 아래의 기사에 정리하고 있으므로, 흥미있는 분은 꼭 부디.
대단해, API Gateway 패턴! ~ 마이크로 서비스 아키텍처 디자인 패턴 ~ - 후지 야마 달걀의 날
Reference
이 문제에 관하여(API 게이트웨이 패턴 다이어그램 (PlantUML)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fujiyamaegg/items/494eeaf8b2956e379d55
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(API 게이트웨이 패턴 다이어그램 (PlantUML)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fujiyamaegg/items/494eeaf8b2956e379d55텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)