kit 微服务工具的编程思想与我之前的编程思路有很大的不同。
它的业务实现逻辑是先有服务,再通过Trasport转换为各种通讯方式向客户端提供服务。
而我的习惯是先定义客户端提供的参数信息,再进入到业务逻辑的实现。习惯性的客户端需要什么,我再去实现提供这个服务的业务逻辑。
两种方式实现业务流程是相反的方向。
所以在刚使用kit的时候会很不习惯。总感觉要从后面往前面思考。
但从微服务的角度来说,kit的业务实现方式是更适合微服务场景的,它可以把通讯跟业务完全解耦。实现的服务可以通过任何的通讯方式向客户端提供。
所以在使用Kit开发微服务时,不要先写接口文档,再去实现服务,那样会感觉很怪。
使用Kit 应该先定义服务层server 完成与客户无关的服务
然后再去定义endpoint 和 transport
endpoint 仍然与客户无关,endpoint 是用于定义 server 的 出入参,定义server需要什么参数,处理后会返回什么参数。这一层跟通讯无关。
transport 是kit的入口层,这里对接各种通讯方式,把不同通讯方式传入的参数转换为 endpoint定义的入参和把endpoint返回的参数转换为通讯方式需要格式。