使用Golang构建的实用事件驱动微服务演示,用于部署的Nomad、Consul Connect、Vault和Terraform
其他版本可在以下位置找到:
技术栈:
- 后端
- grpc-ecosystem/grpc-gateway/v2
- labstack/echo/v4
- rabbitmq/amqp091-go
- jackc/pgx/v4
- Masterminds/squirrel
- georgysavva/scany
- golang-migrate/migrate/v4
- Utils
- ilyakaznacheev/cleanenv
- sirupsen/logrus
- samber/lo
- golang/glog
- google/uuid
- google.golang.org/genproto
- google.golang.org/grpc
- google.golang.org/protobuf
- 基础设施
- Postgres, RabbitMQ
- Hashicorp Nomad, Consul (Connect), Vault, Terraform
- docker 和docker-compose
- devcontainer for reproducible development environment
分布式事务采用Choreography Saga
路线图
- 使用 DDD 模式增强项目结构
- 添加测试
- 添加并集成可观察性库和工具
- 添加用户身份管理(认证授权)
- 添加弹性