网关服务是单一访问点,并充当多项服务的代理。服务网关启用了跨所有服务的路由转发、过滤和公共处理等。
在微服务实践中远不止这点功能,它可以做到统一接入、流量管控、安全防护、业务隔离,权限管理等等等功能。
下面是服务网关的大概作用图。
本质来讲服务网关就是在请求来临做一定的处理(如,权限验证,请求转发),从而决定该请求如何进行(如:转发到后台服务,直接拒绝处理),这有点类似springMVC,中dispatcherServlet,只不过dispathcherServlet只是拦截请求分发给对应的controller处理。
现有的比较流行的网关zuul,为了各位方面理解zuul的实现细节,这里有一个简易的网关实现,需要了解网关如何实现的请参考该地址https://github.com/skybluehhx/Myzuul.git