@startuml
'-----START auto generated metadata please keep comment here to allow auto update-----
'-----DON'T EDIT THIS SECTION, INSTEAD RE-RUN prebuild.sh TO UPDATE-----
header [[https://www.nghinhut.dev?from=http%5C%3A%5C%2F%5C%2Fwww%5C.plantuml%5C.com%5C%2Fplantuml%5C%2Fproxy%3Ffmt%3Dsvg%5C%26src%3Dhttps%5C%3A%5C%2F%5C%2Fgitlab%5C.com%5C%2Fnghinhut%5C%2Fdocs%5C%2Fraw%5C%2Fa2141dd04be894a039820066d773863cdfd042db%5C%2FMSA%5C%2Fcross-cutting-concern-patterns%5C.puml%0A @nghinhut]]
footer [[http://www.plantuml.com/plantuml/proxy?fmt=svg&src=https://gitlab.com/nghinhut/docs/raw/a2141dd04be894a039820066d773863cdfd042db/MSA/cross-cutting-concern-patterns.puml https://gitlab.com/nghinhut/docs/blob/a2141dd04be894a039820066d773863cdfd042db/MSA/cross-cutting-concern-patterns.puml]]
'-----END auto generated metadata please keep comment here to allow auto update-----

rectangle "Cross-Cutting Concern Patterns" as CrossCuttingConcern #green

rectangle "External Configuration" as CrossCuttingConcernP1
rectangle "Service Discovery Pattern" as CrossCuttingConcernP2
rectangle "Circuit Breaker Pattern" as CrossCuttingConcernP3
rectangle "Blue-Green Deployment Pattern" as CrossCuttingConcernP4
CrossCuttingConcern --- CrossCuttingConcernP1
CrossCuttingConcern --- CrossCuttingConcernP2
CrossCuttingConcern --- CrossCuttingConcernP3
CrossCuttingConcern --- CrossCuttingConcernP4
@enduml
