网络服务请求流程简单理解

网络流程:

DNS负责将域名解析为IP地址,ALB可以在多个服务实例之间分配流量,APISIX作为API网关处理更细粒度的流量管理,Service在Kubernetes中为Pod提供稳定的访问入口,而Kubernetes则负责整个应用的部署、扩展和运维。通过这些技术的协同工作,可以实现高效、可扩展和高可用的云原生应用。

前置知识点:


CDN:

  • 作用:(缓存)就近获取缓存资源
  • 具体概念:在多个地理位置部署服务器节点,将内容缓存到离用户更近的服务器上,从而加快内容的加载速度和提高可用性。
  • 缓存资源类型:CDN通常用于加速静态资源的分发,如图片、视频和JavaScript文件等

DNS服务器:(区别CDN)

  • 作用:将域名解析为IP地址
  • 具体概念:负责将域名解析为IP地址,以便用户可以通过易于记忆的域名访问网站。DNS服务器会缓存域名解析结果,以提高解析效率和减少延迟。
  • 实际上:域名与IP地址映射关系

ALB:

  • 作用:负载均衡,转发,安全防护
  • 具体概念:应用程序层面工作的负载均衡器,它可以在多个目标(如EC2实例、容器和IP地址)之间自动分配传入的流量。ALB会监控已注册目标的健康状况,并仅将流量传输到运行状况良好的目标。它可以根据传入流量随时间的变化对负载均衡器进行扩展,并支持将请求根据URL路径、主机头等条件路由至不同的目标组
  • 安全防护:1.网络访问控制
  1. 设置 IP 白名单和黑名单

    • 通过配置 ALB 的访问控制列表(ACL),明确指定允许或拒绝访问的 IP 地址范围。你可以将已知的可信来源 IP 地址添加到白名单中,阻止来自特定恶意 IP 地址的访问请求。
    • 定期更新黑名单,以应对不断变化的网络威胁。可以使用网络安全情报服务来获取最新的恶意 IP 地址列表。
  2. 限制访问来源

    • 对于特定的应用场景,可以限制 ALB 只接受来自特定网络区域或云服务提供商内部网络的流量。例如,如果你的应用只面向企业内部用户,可以限制访问来源为企业内部 IP 地址范围。
    • 考虑使用虚拟私有云(VPC)来进一步隔离和控制网络访问。确保 ALB 部署在 VPC 中,并配置适当的网络访问策略。



2.加密与认证

  1. 启用 SSL/TLS 加密:

    • 强制所有传入和传出的流量通过 SSL/TLS 进行加密,以保护数据在传输过程中的安全性。ALB 支持多种 SSL/TLS 证书类型,包括自签名证书、由证书颁发机构(CA)颁发的证书等。
    • 定期更新 SSL/TLS 证书,确保证书的有效性和安全性。同时,配置证书的自动更新机制,以减少证书过期带来的风险。
  2. 实施客户端认证:

    • 除了服务器端的认证,还可以考虑实施客户端认证。这要求客户端提供有效的数字证书或其他认证凭证,以验证其身份。通过客户端认证,可以进一步增强应用的安全性,防止未经授权的访问。

APISIX:

  • 作用:网关,路由转发
  • APISIX是一个动态、实时、高性能的API网关,提供丰富的流量管理功能,如负载均衡、动态上游、灰度发布、服务熔断、身份认证等。它可以处理南北向流量和东西向流量,并可以作为Kubernetes Ingress Controller使用。APISIX支持多协议、全动态能力、精细化路由、安全防护和运维友好的特性。
  • 特点:
  1. 丰富的流量管理功能:        
    1. 负载均衡有效分配请求流量到多个后端服务实例,提高系统的可用性和可靠性。通过智能的负载均衡算法,可以根据不同的指标进行请求分发,确保每个实例都能得到合理的负载。
    2. 动态上游:能够动态地调整上游服务的配置,适应不断变化的业务需求。当后端服务发生变化时,APISIX 可以快速响应并更新路由规则,保证请求的正确转发
    3. 灰度发布:支持渐进式的发布策略,允许在不影响整体系统的情况下,逐步将新功能或更新推送给用户。通过控制流量的比例,可以对新版本进行测试和验证,降低发布风险。
    4. 服务熔断:当后端服务出现故障时,能够快速熔断连接,避免故障扩散。APISIX 可以监测后端服务的健康状况,并在出现问题时自动中断请求,保护系统的稳定性。
    5. 身份认证提供多种身份认证方式,确保只有授权用户能够访问 API。这有助于保护系统的安全性,防止未经授权的访问和数据泄露。
  2. 高性能:APISIX 作为一个动态、实时的 API 网关,具备出色的性能表现。它能够快速处理大量的 API 请求,确保系统的响应速度和吞吐量,满足高并发业务场景的需求。
  3. 精细化路由:能够根据不同的请求参数、头部信息等进行精细化的路由转发。这有助于实现复杂的业务逻辑,提高系统的可扩展性和灵活性。
  4. 安全防护:提供多种安全防护机制,如访问控制、加密传输、防止 SQL 注入和 XSS 攻击等。这有助于保护系统的安全性,防止恶意攻击和数据泄露。

服务svc:

  • svc:路由,具体的请求服务
  • 含义:服务(svc)在Kubernetes中是指一种抽象,它定义了一种访问Pod的方式。Service为一组Pod提供一个单一的入口地址,并且可以在Pod之间分配请求。Service可以通过Label Selector来选择特定的Pod,并且可以与Ingress、LoadBalancer等资源配合使用,以实现外部访问和负载均衡。

Kubernetes(K8S):

  • 作用:集群,容器,监控pod如果挂了,可以及时提起来
  • 含义:是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它提供了服务发现、负载均衡、存储编排、自动扩展和自动愈合等功能。在Kubernetes中,Service是连接外部请求与Pod的重要组件,它允许访问者通过一个固定的地址访问后端的Pod,而不管Pod的数量如何变化或Pod的IP地址如何改变

流程:

  1. 用户发起请求:用户通过浏览器或客户端应用发起对某个服务的请求。

  2. DNS域名解析:用户的请求首先需要通过DNS系统解析成服务器的IP地址。

    • 如果请求的是静态资源,可能会直接被CDN缓存并提供服务。
  3. ALB负载均衡:对于动态内容的请求,会经过应用负载均衡器(ALB),它负责将流量分配到不同的服务实例上,以保证服务的高可用和扩展性。

  4. APISIX网关:请求到达APISIX网关,它负责更细粒度的流量管理,如路由、过滤、认证等。

  5. 服务svc:在Kubernetes中,服务(svc)作为微服务的抽象,它定义了如何访问背后的Pod。服务会将请求代理到后端的Pod。

  6. K8S管理服务部署和扩展:Kubernetes负责管理Pod的生命周期,包括服务的部署、扩展和自动愈合。

  7. 返回响应给用户:处理完请求后,结果会返回给用户,完成整个流程。

总结:

DNS负责将域名解析为IP地址,ALB可以在多个服务实例之间分配流量,APISIX作为API网关处理更细粒度的流量管理,Service在Kubernetes中为Pod提供稳定的访问入口,而Kubernetes则负责整个应用的部署、扩展和运维。通过这些技术的协同工作,可以实现高效、可扩展和高可用的云原生应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/900393.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32F103的LED闪烁仿真-定时器中断方式

基于STM32F103的LED闪烁仿真 仿真软件: Proteus 8.17 编程软件: Keil 5 定时器简介: 高级控制定时器(TIM1和TIM8)由一个16位的自动装载计数器组成,它由一个可编程的预分频器驱动。 它适合多种用途,包含测量输入信…

FastGPT学习(2)- 本地开发通过Navicat管理MongoDB、PostgreSQL数据库

1. 背景 前期已经完成FastGPT的本地化部署工作,通过Docker启动FastGPT的相关容器即可运行。(共6个容器) 2.本地化开发 2.1 前置依赖 2.2 源码拉取 git clone gitgithub.com:labring/FastGPT.git2.3 数据库管理 本地化运行的FastGPT使用…

007、链表的回文结构

0、题目描述 链表回文结构 1、法1 一个复杂的问题可以拆解成几个简单的问题,找中间节点和逆置链表(翻转链表)之前都做过。 class PalindromeList { public://1、找中间节点ListNode* FindMid(ListNode* A){if (A nullptr || A->next …

博客搭建之路:hexo搜索引擎收录

文章目录 hexo搜索引擎收录以百度为例 hexo搜索引擎收录 hexo版本5.0.2 npm版本6.14.7 next版本7.8.0 写博客的目的肯定不是就只有自己能看到,想让更多的人看到就需要可以让搜索引擎来收录对应的文章。hexo支持生成站点地图sitemap 在hexo下的_config.yml中配置站点…

‘perl‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

‘perl’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 明明已经根据教程安装了perl环境,但是在cmd中依赖报该错误,本章教程提供解决办法。 一、激活perl环境 state shell ActiveState-Perl-5.36.0此时输入perl -v 是可以直接输出perl版本号的。 二、找到perl的执…

跨域的几种情况和如何解决跨域问题

在网站开发中,经常会遇到跨域问题,下面总结一下集中常见的跨域问题。 1. 不同域名属于跨域,如:www.a.com 和www.b.com,另外www.a.com 和www.a.com.cn也属于不同域名。 2. 主域名和子域名(二级域名、三级域…

192×144像素是几寸照片?如何手机拍照制作

在数字摄影时代,像素是衡量照片质量的重要指标之一。那么,192144像素的照片相当于多少英寸呢?又如何使用手机拍摄并制作这样的照片呢?本文将为您解答。 首先,我们需要了解像素和英寸之间的关系。像素是图像的最小单位&…

分布式篇(分布式事务)(持续更新迭代)

一、事务 1. 什么是事务 2. 事务目的 3. 事务的流程 4. 事务四大特性 原子性(Atomicity) 一致性(Consistency) 持久性(Durability) 隔离性(Isolation) 5. MySQL VS Oracle …

14款被严重低估的安全红队测试工具推荐,网络攻防|网络安全必看的工具合集推荐!

大家好,我是小强 工具往往可以决定网络安全渗透测试或红队演练活动的成败。虽然Kali中的许多工具都已经过验证且稳定可靠,但并不能适合所有渗透测试场景。对于安全红队而言,需要在不同测试需求下,确保有足够的装备来实现测试目标…

洞见数据未来,StarRocks Summit Asia 2024 即将启幕!

在 AI 时代,我们需要怎样的数据基础软件? 数据量和数据类型的需求飞速上涨,我们不仅需要将历史上各种基础设施中的数据进行分析使用,还要关注性能、灵活性、性价比,以及确保单一可信数据源。这一切构成了当前大数据领…

三维管线管网建模工具MagicPipe3D V3.5.3

经纬管网建模系统MagicPipe3D,本地离线参数化构建地下管网三维模型(包括管道、接头、附属设施等),输出标准3DTiles、Obj模型等格式,支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析&…

喜报!腾讯云存储获第三届“鼎新杯”优秀案例!

引言 2024年9月24日-25日,由中国通信标准化协会主办、中国信息通信研究院(简称“中国信通院”)承办、中国通信企业协会支持的“2024数字化转型发展大会”在北京召开。大会公布了第三届“鼎新杯”数字化转型应用大赛案例评选结果。 腾讯云存…

预算不够,怎么跟KOL砍价?(内附砍价模板)

​在当今的数字营销时代,海外红人(KOL)的影响力不容小觑。他们的一篇帖子、一个视频,甚至是一张照片,都有可能为企业带来巨大的流量和销量。 当企业满怀希望地找到一位粉丝众多、影响力强的KOL,准备洽谈合作…

2024年双十一有什么必买好物推荐?双11最值得关注的宝藏好物分享

​随着2024年双十一购物狂欢节的到来,各种实用且富有创意的小物件成为了大家关注的焦点。在这场全民参与的购物盛宴中,一款既能满足日常需求又能提升生活便捷性的宝藏好物——充电宝,成为了许多人心目中的首选。无论是忙碌的上班族&#xff0…

【前端Vue学习笔记】组件注册方式 组件传递数据 组件事件 透传 插槽slot 组件生命周期 动态组件 异步组件 依赖注入 Vue应用

文章目录 组件注册方式全局注册全局注册的缺点推荐使用局部注册步骤 组件传递数据-Props步骤注意事项 组件传递多种数据类型组件传递Props效验默认值必选项注意警告 组件事件父组件代码子组件代码 组件之间传递数据的方案父传子子传父 组件事件配合v-model使用步骤:…

linux网络编程5——Posix API和网络协议栈,使用TCP实现P2P通信

文章目录 Posix API和网络协议栈,使用TCP实现P2P通信1. socket()2. bind()3. listen()4. connect()5. accept()6. read()/write(), recv()/send()7. 内核tcp数据传输7.1 TCP流量控制7.2 TCP拥塞控制——慢启动/拥塞避免/快速恢复/快速重传 8. shutdown()9. close()9…

【线下培训】龙信科技应邀参与了由教育部网络安全与执法虚拟教研室(中国刑事警察学院)举办的学术讲座

文章关键词:电子数据取证培训、产学研推进、手机取证、介质取证 2024年10月23日,龙信科技应邀参与了由教育部网络安全与执法虚拟教研室(中国刑事警察学院)举办的学术讲座。在这次学术交流中,我们公司的技术专家陈杰以…

Redis Search系列 - 第一讲 创建索引

目录 一、引言二、全文检索基本概念三、创建索引 一、引言 Redis Search 是 Redis 的一个模块,用于提供全文搜索和二级索引功能。它允许在 Redis 数据库中执行复杂的搜索查询,并支持多种数据类型和查询操作。以下是 Redis Search 的一些关键特性&#x…

学习threejs,使用canvas样式化粒子

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.PointCloud简介1.11 …

Vue3+ts+vite自动导入vue的依赖

Vue3tsvite自动导入vue的依赖 unplugin-auto-import 主要依赖 npm i -D unplugin-auto-import// vite.config.ts import AutoImport from unplugin-auto-import/viteexport default defineConfig({plugins: [AutoImport({ imports: ["vue", "vue-router"…