该项目的主要目的是使用最佳实践、DDD
、CQRS
、ES
、gRPC
提供样板项目设置。
为开发和生产环境提供 kubernetes
配置。允许与反映生产的 environment
一起工作,从而减少任何错误配置。
这是许多服务(如身份验证或用户域)的单一存储库(mono-repository
)。
除了共享包外,每个服务都有自己的代码库,以简化这个样板文件。
服务之间通过 gRPC
进行通信。每个服务都可能为外部通信或/和 gRPC
公开 HTTP API
。
这个项目设置应该减少整个 kubernetes
集群和/或每个微服务的环境配置时间。
将每个服务提取到自己的存储库或将其保留为 mono-repo
应该是一个偏好问题。
Web UI 示例 (React)
此样板包括简单的 Web UI
,以演示与 API
的示例交互。
部署并设置好 hosts
后,请查看
https://api.go-api-boilerplate.local
以访问 UI。
关键概念
- Rest API
- Docker
- Kubernetes
- Helm chart
- Terraform
- gRPC
- Domain Driven Design (DDD)
- CQRS
- Event Sourcing
- Hexagonal, Onion, Clean Architecture
- oAuth2