为失败设计,大量引入对SRE的理解,鲁棒性高
https://go-kratos.dev/#/
Principles
- 简单:不过度设计,代码平实简单
- 通用:通用业务开发所需要的基础库的功能
- 高效:提高业务迭代的效率
- 稳定:基础库可测试性高,覆盖率高,有线上实践安全可靠
- 健壮:通过良好的基础库设计,减少错用
- 高性能:性能高,但不特定为了性能做hack优化,引入unsafe
- 扩展性:良好的接口设计,来扩展实现,或者通过新增基础库目录来扩展功能
- 容错性:为失败设计,大量引入对SRE的理解,鲁棒性高
- 工具链:包含大量工具链,比如cache代码生成,lint工具等等