网关服务是单一访问点,并充当多项服务的代理。服务网关启用了跨所有服务的路由转发、过滤和公共处理等。
在微服务实践中远不止这点功能,它可以做到统一接入、流量管控、安全防护、业务隔离等功能。
下面是服务网关的大概作用图。
![8eacfac0e3ef8063d3192684124e3163.png](https://i-blog.csdnimg.cn/blog_migrate/52184ef5b707bc17d0c78e8663474dc3.jpeg)
看完这张图,或许你已经明白了服务网关的作用,及使用服务网关带来的诸多好处。
所以,既然服务网关有这么多作用,也是现在微服务套件中的必用组件,你还有什么理由不用服务网关呢?
下图是使用了Spring Cloud的服务网关的套件图。
![5110e314ab83132ca550aaf625d7233e.png](https://i-blog.csdnimg.cn/blog_migrate/bd9421e11b5cf8d12eee7e3909bd969b.jpeg)
Spring Cloud使用了Zuul作为服务网关组件,图中Open Service即是服务网关,Service A,B是内部实际的业务服务,通过Open Service对外进行内部服务的请求的路由、过滤等操作。
对服务网关其他建设性的建议或想法都可以在微信公众号"Java技术栈"下方留言,一起研究讨论微服务的更多实践。
关注Java技术栈微信公众号,在后台回复:架构,获取栈长整理的更多的架构教程,都是实战干货,以下仅为部分预览。
- 分布式 ID 生成器的解决方案总结
- 分布式 Session 共享解决方案
- 分布式锁与幂等性问题解决方案
- 微服务架构及分布式事务解决方案
- 高并发大流量访问处理及解决方案
- ……
本文原创首发于微信公众号:Java技术栈(id:javastack),转载请原样保留本信息。