微服务网关

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

相关推荐
敲代码不忘补水3 小时前
Docker 启动 PostgreSQL 主从架构:实现数据同步的高效部署指南
docker·postgresql·架构·数据库架构
tekin4 小时前
x86 架构下一些常用的汇编指令英文全称与功能简述
汇编·架构·汇编指令·汇编语言指令·汇编指令英文全称
0x派大星5 小时前
Solidity 设计模式:实现灵活与可扩展的智能合约架构
设计模式·架构·web3·区块链·智能合约·solidity
哇咔咔哇咔6 小时前
【科普】什么是架构和框架?两者之间有什么区别?
架构
克鲁德战士6 小时前
【Nacos架构 & 原理】内核设计之Nacos一致性协议
java·架构
闲宇非鱼8 小时前
微服务到底是技术问题还是管理问题?
java·后端·微服务
妍妍的宝贝9 小时前
k8s 中的金丝雀发布(灰度发布)
云原生·容器·kubernetes
潘多编程9 小时前
Spring Boot微服务架构设计与实战
spring boot·后端·微服务
梆子井欢喜坨10 小时前
《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 12数据中心中的EVPN
网络·云原生
winkee11 小时前
在 git commit 中使用 gpg key 进行签名
架构·前端框架·代码规范