一个松散耦合,分布式以及独立的微服务系统。
如下坚守如下原则:
1. 单一责任原则
2. 独立的数据存储
3. 使用异步通信实现松散耦合
4. 使用熔断器快速实现故障容错
5. 通过API网关代理微服务请求
6. 确保API变更向后兼容
7. 版本化微服务重大变更
不可能让变更总是保持向后兼容。当你做了一个重大的变更的时候,同时需要继续支持老的接口,这时候可以暴露一个新版本的接口。消费者可以在方便的时候选择新的版本。但是有太多版本的API对于维护相应的代码人来说会是一场噩梦。因此,有一种规范的方法是通过和客户端一起协作或在内部将流量重新路由到较新的版本,从而弃用较旧的版本。
8. 使用专用基础设施托管微服务
9. 创建独立的发布通道
10. 建立组织效率
尽管微服务给你提供了独立开发和发布的自由,但是对于跨领域关注(cross cutting concerns)来说,某些标准还是需要遵循的,这样才不会让每个团队都花费时间为这些问题创建独特的解决方案。这在诸如微服务分布式架构中是非常重要的,在这种架构中,你需要能够连接难题(puzzle)中的所有部分才能看清全局。因此,对于API安全,日志聚合,监控,API文档,秘钥管理,配置管理,分布式追踪等,企业级解决方案是必须要有的。