動かした。つまりこういうこと。

補足
- service[12]-container において、envoy process と flask process の group は表現できなかった
- なんか最初の user -> front-envoy のフローで http スキーマのあとの // が消えて斜線になってしまった
- front の cluster からの通信では、docker-compose の alias で service[12] で 名前解決している
- listen してる port とか表現できてないけど通信の URL でわかってほしい
- 肝心の match prefix
service/1の最後の数字が消えてる。。。 - admin port は省略している。でも 8001 で browser でアクセスするといろんな情報みれて便利
感想
スッと動いて便利。最初の最初にこれやるのはよさそう。
UML
最近また plantuml 使いはじめた。たのしい。こういう Editor で。
uml
@startuml
package "front-envoy-container" {
[front-envoy-listener]
[service1-cluster]
[service2-cluster]
}
package "service1-container" {
[service1-listener]
[service1_local_service-cluster]
[service1_flask]
}
package "service2-container" {
[service2-listener]
[service2_local_service-cluster]
[service2_flask]
}
[user] --> [front-envoy-listener] : "http://localhost:8000/service/1 or http://localhost:8000/service/2"
[front-envoy-listener] --> [service1-cluster] : match: prefix: "/service/1"
[front-envoy-listener] --> [service2-cluster] : match: prefix: "/service/2"
[service1-cluster] --> [service1-listener] : http://service1/service/1:80
[service2-cluster] --> [service2-listener] : http://service2/service/2:80
[service1-listener] --> [service1_local_service-cluster] : match: prefix: "/service"
[service2-listener] --> [service2_local_service-cluster] : match: prefix: "/service"
[service1_local_service-cluster] --> [service1_flask] : http://127.0.0.1:8080
[service2_local_service-cluster] --> [service2_flask] : http://127.0.0.1:8080
@enduml