微服务网关

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,可以将所有微服务的接口做统计与拦截(微服务接口的管理者)

相关推荐
运维栈记40 分钟前
如何排错运行在Kubernetes集群中的服务?
云原生·容器·kubernetes
Xの哲學2 小时前
Linux VxLAN深度解析: 从数据平面到内核实现的全面剖析
linux·服务器·算法·架构·边缘计算
阿里云云原生2 小时前
直播回顾丨详解阿里云函数计算 AgentRun,手把手带你走进 Agentic AI 生产时代
云原生
2301_768350232 小时前
MySQL架构长啥样?
架构
古城小栈3 小时前
微服务网格:Istio 流量管理实战
微服务·架构·istio
CloudWeGo5 小时前
Volo 新能力:面向易用性与性能的 HTTP & RPC 框架迭代
架构
^_scv_^5 小时前
QEMU-RISCV平台opensbi代码分析(2)
linux·架构·risc-v
狗哥哥5 小时前
企业级 HTTP 客户端架构演进与设计
前端·架构
前端阿森纳6 小时前
公司是否因为AI正在从“以人为本”走向“以核心数据集为本”?
架构·aigc
小宝哥Code6 小时前
区块链(Blockchain)—— 概念、架构与应用
架构·区块链