開始微服務架構
決定系統往微服務架構前進。
前置作業
開始進行 microservices 至少要具備的基本建設。
開發相關配置
- 服務發現 service discovery
- k8s
- etcd
- consul
- zookeeper
- Netflix/eureka
- 事件訊息 (非同步訊息) event sourcing messaging
- kafka
- NSQ
- 訊息傳遞(同步訊息) transport
- grpc
- thrift
- http
- 系統監控 monitor
- metrics
- Prometheus
- Grafana
- 斷路器 Circuit Breaker
- Health Check
- 紀錄追蹤 Log Tracking
- opentracing
- zipkin
- Elasticsearch
- Stackdriver
- Auth
Devops
- CI / CD
- Docker
- k8s
golang 相關套件
- go-kit https://github.com/go-kit/kit
- go-micro https://github.com/micro/go-micro
- gizmo https://github.com/nytimes/gizmo
- rpcx https://github.com/smallnest/rpcx
造成延伸問題
microservices solve organizational problems
microservices cause technical problems
ref
Go + Microservices = Go Kit [I] - Peter Bourgon, Go Kit https://www.youtube.com/watch?v=NX0sHF8ZZgw
微服務基礎建設 - Service Discovery http://columns.chicken-house.net/2017/12/31/microservice9-servicediscovery/