
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
规范化与标准化是程序员在开发软件的时候都需要遵守的一些编程开发规范,而本文我们就通过案例分析来简单了解一下,Java编程微服务标准化都有哪些要求。
一、接口标准化
接口标准化在微服务架构设计过程中发挥着重要的作用。在微服务的交互中,统一规范的接口标准可以大大减少沟通成本,提高开发和维护效率。很多公司主流协议为HTTP协议和Protobuf/Thrift协议,HTTP协议开发、测试比较方便,而Protobuf/Thrift等二进制协议性能更好些。
一般来说,和端交互比较多的业务服务使用HTTP协议较多,对性能有一定要求的后台基础服务偏向使用二进制协议。以Thrift协议来说,Thrift协议本身有自己的一套IDL,通过IDL生成标准服务代码,包含数据通路和类型定义,相对规范;为了保持微服务接口层面的一致性,实现微服务接口标准化,HTTP协议可以参考Thrift协议的思路,增加IDL描述支持。
HTTP服务的IDL化可以规范标准、降低人为操作的出错率、降低下游服务接入成本和维护成本。下游服务不需要再维护代码,只需要维护配置,这点对于尚未使用统一的服务治理框架的团队来说特别有益。下游服务的升级修改收敛于单纯的IDL文件,版本更好管理。
我们可以基于接口标准化,为接口增加相应的描述信息,并通过代码自动生成机制,将IDL文件直接生成接口文档,实现接口文档标准化。为了减少业务对服务治理支持的开销,可以把服务治理相关的配置放到IDL文件,实现服务治理配置的代码化。因此,IDL文件成为服务标准化中非常重要的一个载体,通过IDL文件可以实现接口标准化、文档标准化和服务治理标准化。
二、日志标准化
日志标准化是服务标准化的关键一环,各个微服务之间只有遵循相同的日志规范,才能方便后续的日志治理,针对Log、Trace等日志形态,均需要制定统一的规范。日志输出的目的不仅是发现问题,好的日志可以帮助我们快速排查出问题的原因,进而采取相应的应对措施,因此日志规范需要聚焦如何更加方便快捷地追查问题,提高问题追查的效率。
三、透传通道标准化
为了对微服务进行精细化的治理和管控,很多服务治理特性均需要在同一请求处理的各个环节获取到请求相关的服务治理信息,因此系统需要能够支持服务治理相关的信息在请求处理的整个链路中透传,服务治理聚焦的都是非功能需求,这些需求业务服务其实是不需要关注的,因此需要有一定的机制来减少服务治理的非功能特性对业务的侵入,大程度上实现业务透明的服务治理接入。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。