微服务网关

2024-08-06 14:02:47 浏览数 (2)

~本人的案例是承接上面的需要朋友可以 访问这里~

微服务网关概述

在学习完前面的知识后,微服务架构已经初具雏形。但还有一些问题:

  • 不同的微服务一般会有不同的网络地址
  • 客户端在访问这些微服务时必须记住几十甚至几百个地址
  • 这对于客户端方来说太复杂也难以维护。
  • 微服务项目开发, 每一个功能都对应一个模块~ 而每个模块又都是一个独立的小型项目工程:具有独立的 ip 端口...
  • 这种情况就会导致: 1.在某些场景下存在跨域请求的问题 2.加大身份认证的难度,每个微服务需要独立认证 3.客户端会请求多个不同的服务,需要维护不同的请求地址,增加开发难度

因此,我们需要一个微服务网关

  • 介于客户端与服务器之间的中间层:所有的外部请求都会先经过微服务网关。
  • 客户端只需要与网关交互,只知道一个网关地址即可

这样简化了开发还有以下优点:

  1. 易于监控
  2. 易于认证
  3. 减少了客户端与各个微服务之间的交互次数

什么是微服务网关

  • API网关是一个服务器, 是系统对外的 唯一入口   客户端不需要在记录 大量的微服接口只需要记住一个 网关服务就行了, 通过它就可以找到需要的服务接口;
  • API网关方式的核心要点是: 所有的 客户端 和 消费端 都通过统一的网关接入微服务. 在网关层处理所有的非业务功能。
  • 通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务。

作用和应用场景

网关具有的职责如: 身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。 当然,最主要的职责还是与“外界联系”。

常见的API网关实现方式

Kong
  • 基于Nginx Lua开发 `稍后整理Nginx笔记!`
  • 优点: 性能高,稳定,有多个可用的插件(限流、鉴权等等)可以开箱即用。
  • 问题:只支持Http协议;二次开发,自由扩展困难;提供管理API,缺乏更易用的管控、配置方式。

0 人点赞