接口交互详解
SOP也是采用这种方式实现,大致步骤如下:
- 每个服务注册到nacos
- 网关收到客户端请求后,先进行签名校验,通过之后根据接口信息找到对应的服务,然后进行路由
如何通过接口参数找到对应的服务呢?
在网关定义一个,key为接口名+版本号。
接口请求进来后,根据方法名+版本号
获取路由信息,然后进行路由转发。
因为nacos需要拉取各个微服务的路由信息,接口名有可能会冲突,因此需要确保接口名唯一,即全局唯一。
我们推荐接口名的命名规则应该是:服务模块.业务模块.功能模块.行为
,如:
member.register.total.get 会员服务.注册模块.注册总数.获取
如果觉得命名规则有点长可以精简为:,如member.usercount.get
,前提是确保前缀要有所区分,不和其它服务冲突。
得益于Spring Cloud的注册中心和和网关功能,我们能很方便的进行接口路由,并且还能实现LoadBalance,不需要自己再去实现。
- 完整请求路线