天天看点

微服务标准化三要素

一、接口标准化

接口标准化在微服务架构设计过程中发挥着重要的作用。在微服务的交互中,统一规范的接口标准可以大大减少沟通成本,提高开发和维护效率。很多公司主流协议为HTTP协议和Protobuf/Thrift协议,HTTP协议开发、测试比较方便,而Protobuf/Thrift等二进制协议性能更好些。

一般来说,和端交互比较多的业务服务使用HTTP协议较多,对性能有一定要求的后台基础服务偏向使用二进制协议。以Thrift协议来说,Thrift协议本身有自己的一套IDL,通过IDL生成标准服务代码,包含数据通路和类型定义,相对规范;为了保持微服务接口层面的一致性,实现微服务接口标准化,HTTP协议可以参考Thrift协议的思路,增加IDL描述支持。

HTTP服务的IDL化可以规范标准、降低人为操作的出错率、降低下游服务接入成本和维护成本。下游服务不需要再维护代码,只需要维护配置,这点对于尚未使用统一的服务治理框架的团队来说特别有益。下游服务的升级修改收敛于单纯的IDL文件,版本更好管理。

我们可以基于接口标准化,为接口增加相应的描述信息,并通过代码自动生成机制,将IDL文件直接生成接口文档,实现接口文档标准化。为了减少业务对服务治理支持的开销,可以把服务治理相关的配置放到IDL文件,实现服务治理配置的代码化。因此,IDL文件成为服务标准化中非常重要的一个载体,通过IDL文件可以实现接口标准化、文档标准化和服务治理标准化。

二、日志标准化
三、透传通道标准化

继续阅读