微服务网关

1.网关是如何演化来的,在微服务中有什么作用?

随着单体架构转化为微服务架构的时候,由一个后台服务由一个单一的服务变成了多个微服务,前端应用需要调用多个服务的接口,为了解决这个问题,网关就产生了。网关就是说微服务架构当中一个对外的统一入口,解耦客户端与内部服务。

2,网关的基本功能

1,网关的核心功能就是路由转发,因为不要有耗时的操作在网关上处理,比如说特定的业务逻辑,网关需要将请求快速转发到后台各个微服务上。

2,网关还能做统一的熔断,限流,认证,日志监控等

3,Spring Cloud gateway的发展史

在1.X的版本当中,网关采用的Zuul网关,但是2.X版本当中,自己研发了一套网关程序,就是

Spring Cloud gateway。

4,和网关类似的功能组件:

nginx:主要作用是反向代理和负载均衡

缺点:配置不灵活

zuul网关:早期的微服务使用的网关

缺点:功能和性能都不如Spring Cloud gateway。

Spring Cloud gateway:

优点:性能比zuul要高,而且可以无缝衔接到微服务开发中来。

5,为什么微服务当中一定要有网关

1,如果没有网关,客户端要请求不同的微服务后端,增加了客户端的复杂性

2,存在跨域问题

3,认证复杂,每个服务都需要独立认证,比如说登录认证,如果没有网关,所有后台都需要做一次登录认证

4,个别的微服务可能没有外网端口,客户端不能直接访问到微服务后端

5,前后端不能解耦,重构困难,比如说有一天需要将一个微服务,继续拆分为两个微服务,那前端也需要改造。因为前端得需要修改拆分后的ip和端口。如果有网关,前端就不需要改造

6,微服务网关的优点

1,反向代理(不需要暴露微服务的真实ip,微服务可以只暴露内网端口,更安全)

2,易于监控:通过网关我们可以统计哪些api的调用量最多,哪些api的耗时比较长,从而做特定优化。

3,易于认证

4,可以将所有微服务的接口做统计与拦截(微服务接口的管理者)

相关推荐
小小工匠10 小时前
LLM - 从定制化 Agent 到 Universal Agent + Skills Library:下一代智能体架构实践
架构·定制化agent·universal agent·skill library
neoooo10 小时前
🍃Spring Boot 多模块项目中 Parent / BOM / Starter 的正确分工
java·后端·架构
菜鸟的迷茫10 小时前
为了防雪崩加了限流,结果入口先挂了
java·后端·架构
No芒柠Exception11 小时前
从开发到上线的CI/CD 完整流程
后端·面试·架构
释怀不想释怀11 小时前
3.3 DockerCompose(快速部署)
云原生·eureka
攀登的牵牛花11 小时前
前端向架构突围系列 - 框架设计(四):依赖倒置原则(DIP)
前端·架构
indexsunny11 小时前
互联网大厂Java面试实战:Spring Boot与微服务在电商场景的应用解析
java·spring boot·redis·微服务·kafka·gradle·maven
lizhongxuan11 小时前
Manus: 上下文工程的最佳实践
算法·架构
小酒星小杜11 小时前
在AI时代,技术人应该每天都要花两小时来构建一个自身的构建系统-Input篇
前端·程序员·架构
幻云201012 小时前
Next.js指南:从入门到精通
开发语言·javascript·人工智能·python·架构