当前位置: 首页 > news >正文

微服务实战系列之Gateway

前言

人类世界自工业革命以来,无论从金融、货币、制度,还是科技、资源、社会各个方面,都发生了翻天覆地的变化。物质极大丰富,从而也推动了科技的极速发展。当计算机问世也仅仅不到80年,而如今我们的生活处处有它的影子时,我们该如何获得解放或者更进一步呢?

“微服务实战系列”中,博主已完成了以下组件的介绍:

  • 微服务实战系列之Sentinel
  • 微服务实战系列之Token
  • 微服务实战系列之Nacos

当我们准备向客户提供一套微服务时,应该还需哪些组件为此保驾护航呢?今天我们继续拉新,那就是网关(Gateway)。

今日话题,正式begging…


名词解释

首先,博主带着大家,对网关的“前世今生”进行一帧一帧的回放。

Q:什么是网关

网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。

简而言之,网关可以理解为一个已屏蔽了异构网络差异的服务。既然是服务,那就有血有肉的。那么,主要作用有哪些呢?

1. 负载均衡
2. 服务路由
3. 统一流量
4. 身份认证

当然还有其他的“组织”,暂且不表。我们主要了解一下以上4部分即可。
在这里插入图片描述

主要功能

1.负载均衡LB

当我们提到LB,首先会想到什么呢?Nginx?F5?Gateway?还是其它?这就看企业自身的经济实力了。选择了开源,就应该承担开源的经济性所带来的风险;选择了付费,自然能够享受“金钱”所带来的快乐。
LB可以实现流量分摊,最终保障服务的高可用性和可靠性。
在这里插入图片描述

2.服务路由Router

Router?自然可以联想到路由器。它的价值是以一个“跳板”的形象而存在的。如果不理解,此刻,可以想想路由器是怎么工作的。

3.统一流量Flow

在微服务场景中,服务要么作为消费者consumer存在,要么作为提供者provider存在,或者二者皆具。当离开了网关时,我们该如何统一协调流量IO呢?如何统计流量情况呢?各位盆友,答案是太难太难了。
显然你需要从零构建相关的功能,非一日之功。
在这里插入图片描述

4.身份认证Auth

当一个公司的系统应用多了,如何使用一组账号密码完成“通关”?是逐门逐户挨个敲门好呢,还是去统一的身份登记处去登记好呢?答案显而易见,网关就可以承担这个角色。
在这里插入图片描述
好了,聊了这么多,是不是对网关已经有了初步的掌握?接下来我们看微服务中如何使用网关。

应用实践

在微服务中,我们的网关选择多种多样,有Nginx、Zuul、Springcloud Gateway等等。今天博主以当前业界最常用的网关Springcloud Gateway举例。
鉴于SpringCloud Gateway的相关知识和使用说明已遍布于互联网的各个角落,那么博主这里不再赘述。
也正因互联网教会了我们“拿来主义”,从而让我们能够及时快速地更新自己的知识库。这里推荐一篇博文:https://blog.csdn.net/a1036645146/article/details/106383883。

结语

今天到此为止,“微服务实战系列”已向各位盆友分享了4个组件,每个组件皆身怀绝技,难道又要全剧终了? 让我们后会有期!

在这里插入图片描述

http://www.lryc.cn/news/235703.html

相关文章:

  • GZ038 物联网应用开发赛题第10套
  • 重生之我是一名程序员 35
  • 计算机毕业设计选题推荐-点餐微信小程序/安卓APP-项目实战
  • 分享禁止Win10更新的两种方法
  • SPASS-回归分析
  • 【使用vscode在线web搭建开发环境--code-server搭建】
  • c++ list容器使用详解
  • 【案例】可视化大屏
  • js制作动态表单
  • 解决Kibana初始化失败报错: Unable to connect to Elasticsearch
  • 流媒体服务器
  • Java GUI小程序之图片浏览器
  • Kafka-4.1-工作原理综述
  • Linux八股文
  • SPASS-偏相关分析
  • 第二证券:今日投资前瞻:小米汽车引关注 全球风光有望持续高速发展
  • Docker中的RabbitMQ已经启动运行,但是管理界面打不开
  • 自动化网络图软件
  • 如何基于亚马逊云科技打造高性能的 SQL 向量数据库 MyScale
  • 《轻松入门!快速安装PyCharm,打造高效Python编程环境》
  • Golang环境搭建Win10(简洁版)
  • 【算法每日一练]-分块(保姆级教程 篇1)POJ3648
  • 【华为OD题库-026】通过软盘拷贝文件-java
  • 定量数据和定性数据
  • 【Linux】:体系结构与进程概念
  • react-router-dom 版本6.18.0中NavLink的api和属性介绍
  • 八叉树(Octree)和KD树区别?2d tree与3d tree区别?
  • Union(联合体、共用体)
  • C++11的互斥包装器
  • HR应用在线人才测评,给企业招聘带来的好处