大千世界很多东西都是相似的
Java中很多技术原理也是相似的
设计模式将很多散乱的代码编写归结为一种统一的方式去实现和管理,让代码的编写和管理看起来更简单易懂
反射将对属性及方法的操作归结为一种统一的方式去实现和管理,让属性操作和方法调用看起来更简单易懂
注册中心将散乱的微服务调用统一管理,让微服务的发现和调用看起来更简单易懂
配置中心将散乱的应用配置统一管理,让配置的管理看起来更简单易懂
这些技术的初衷都有一个相同的特点: 通过将散乱的东西统一管理, 让技术更简单易懂
路由转发也有这个特点:
首先,每个服务都有自己的serviceId,如果想调用这个服务就需要找到这个服务的serviceId
然后,每个服务都有自己的权限控制,哪些人能调用,哪些人不能调用,什么时候能调用,什么时候不能调用
即: 访问每个微服务都需要首先找到它们的serviceId,然后进行权限校验,然后进行业务调用
这些步骤基本上都是相似的
Java技术讲究的就是要将相似的东西单独拧出来.这是一个总结归纳,具化抽象的过程,也是一个化特殊为一般的过程,就是将散乱的东西变成统一的东西,方便管理.
Zuul路由转发就是将对微服务的业务调用前的逻辑--非业务逻辑,抽取出来专门处理.将对万千微服务的权限校验统一到一个Zuul网关进行统一处理.
将万千不同主机和端口的URL请求规约为对一个主机和一个端口的URL请求,这本身就是对服务使用过程的简化.
将具体转发到哪台主机的那个端口,交给Zuul处理.
可以设想一下: 如果一个网站没有网关的支持, 可能一个网站不同功能点击后,地址栏会出现各种各样的主机或端口.
而使用了网关后,这个网站所有的请求看上去都是由一台服务器处理的,自然给人一种清爽的感觉.