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.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (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.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (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.)