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

【云原生】云原生服务网格流量控制思考

文章目录

  • 前言
  • 一、什么是流量控制?
  • 二、存在三种场景
  • 三、场景分析

前言

随着云原生技术的不断发展及应用,很多服务都已部署上云。

保障云上环境的稳定是重要的一环。

一个重要的影响稳定的场景就是突发大流量冲击。

面对该场景,较好的应对措施就是进行流量控制。

本文就流量控制进行简单分析。

一、什么是流量控制?

流量控制实际就是在上述中的某一路径进行拦截处理。
整体的流量路径如下图所示:
在这里插入图片描述

二、存在三种场景

  1. 从公网中访问。例如:某用户访问公司官网时,会先后经过DNS解析域名,选择APIG,ELB,访问某一服务网格的入口网关,最终抵达某个POD中。

  2. 不同服务网格间的访问。例如:存在服务A和服务B,分别位于不同服务网格中,服务A需要访问服务B,获取一些信息。此时,需要通过VPCEP,到达对方的入口网关,最终抵达某一POD中。

  3. 同一服务网格中的访问。例如:存在存在服务A和服务B,同属于一个服务网格中,当服务A访问服务B时,会先被si cecar流量劫持,最终抵挡业务容器中。

三、场景分析

  • 针对场景1,我们可以在APIG中配置重要API的访问次数限制。在官网中也针对该功能进行了简单介绍。

    在这里插入图片描述

  • 针对场景2,我们通过EnvoyFilter机制流量拦截。
    Envoy下的RateLimit提供了流控服务,支持Envoy APIs,项目地址:github.com/envoyproxy/…
    在这里插入图片描述
    在这里插入图片描述

    在v3 rls.proto文件中,定义了一个服务RateLimitService,我们可以在自己实现的流控服务中增加该grpc接口的具体实现,当流量被EnvoyFilter拦截时,就会转发到该服务中,进行流控判断,是否通过。

  • 针对场景3,我们可以在sidecar中补充流控规则。

相关文章:

【云原生】云原生服务网格流量控制思考

文章目录 前言一、什么是流量控制?二、存在三种场景三、场景分析 前言 随着云原生技术的不断发展及应用,很多服务都已部署上云。 保障云上环境的稳定是重要的一环。 一个重要的影响稳定的场景就是突发大流量冲击。 面对该场景,较好的应对…...

《数据库的嵌套查询和统计查询》

选择Study数据库,用SQL语句进行以下查询操作。 1.嵌套查询 ①求选修了数据结构的学生学号和成绩。 SELECT Sno, grade FROM sc WHERE Cno 007;②求007课程的成绩高于于文轩的学生学号和成绩。 SELECT Sno, grade FROM sc WHERE Cno 007 AND grade …...

【网站架构】Nginx 4层、7层代理配置,正向代理、反向代理详解

大家好,欢迎来到停止重构的频道。 本期我们讨论网络代理。 在往期《大型网站 安全性》介绍过,出于网络安全的考虑,一般大型网站都需要做网络区域隔离,以防止攻击者直接操控服务器。 网站系统的应用及数据库都会放在这个网络安全…...

mysql备份和恢复

mysql备份和恢复 数据丢失的原因: 程序错误 人为操作错误 运算错误 磁盘故障 灾难(火灾,地震)和盗窃 数据库备份分类 物理备份 数据库此操作系统的物理文件(数据文件,日志文件等)的备份 …...

新闻月刊 | GBASE 4月市场动态一览

产品动态 4月,GBASE南大通用大规模分布式并行数据库GBase 8a MPP Cluster中标人保财险“2022年基础软件产品及服务采购”项目。这是自2019年GBASE与人保财险达成合作以来支持建设的第三期项目。项目上线后,将极大满足人保财险大数据中心及研发中心的增量…...

Java --- springboot2数据响应与内容协商

目录 一、数据响应与内容协商 1.1、响应json 1.1.1、返回值解析器 1.1.2、springMVC支持的返回值类型 1.1.3、HttpMessageConverter原理 1.2、内容协商 1.2.1、引入依赖 1.2.2、 postman分别测试返回json和xml 1.2.3、开启浏览器参数方式内容协商功能 1.3、自定义 Message…...

“中特估”乘风破浪!后续机遇在哪?

5月第一个交易日,“中特估”继续乘风破浪,A股银行板块集体大涨。 随着新一轮国企改革正在推进,中特估体系也在积极构建之中。在市场缺乏增量资金背景下,市场选股范式已经转向数字经济AI、央国企价值重估的两条主线,此…...

OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法3

《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在支持 OpenShift 4.12 的 OpenShift 环境中验证 文章目录 创建并运行 CI/CD Pipeline访问 VMPipeline 的 Task 解读 创建并运行 CI/CD Pipeline 执行命令,生成公钥-私钥对。 $ ssh-keygen$ l…...

功率放大器在Lamb波信号波包模型验证研究中的应用

实验名称:窄带激励条件下的兰姆波时域信号参数估计研究 研究方向:Lamb波 测试目的: 基于Lamb波的二阶频散理论,提出了时域信号的波包模型,为全文奠定理论基础。模型考虑两种情况:初始激励以单模态传播和…...

Apache Hadoop

一、Apache Hadoop入门 1.1、Hadoop介绍 狭义上:hadoop指的是Apache一款java开源软件,是一个大数据分析处理平台。 Hadoop HDFS:分布式文件系统。 解决了海量数据存储问题。 Hadoop Distributed File System (HDFS™)Hadoop MapReduce&…...

PHP+vue大学生心理健康评价和分析系统8w3ff

本整个大学生心理健康管理系统是按照整体需求来实现各个功能的,它可以通过心理健康测评来检测大学生的心理健康,并且给予预警,还可以预约医生来解决问题。并且,管理员可以查看用户信息,发布一些关于心理健康的文章。该…...

【图像分割】【深度学习】SAM官方Pytorch代码-Mask decoder模块MaskDeco网络解析

【图像分割】【深度学习】SAM官方Pytorch代码-Mask decoder模块MaskDeco网络解析 Segment Anything:建立了迄今为止最大的分割数据集,在1100万张图像上有超过1亿个掩码,模型的设计和训练是灵活的,其重要的特点是Zero-shot(零样本迁…...

A Restful API

SpringBoot 定义Restful API 定义POJOOrderBuyer 定义RestfulControllerGet API for queryPost API for addPut API for updateDelete API for delete 定义AjaxResponse Patavariable RequestParm RequestBodyRequestHeader 定义POJO Order import java.util.Date; import ja…...

从零开始学习JSP,让你全面掌握Web开发技能

JSP(Java Server Pages),是一种动态网页技术,它允许开发者使用Java代码和HTML标签来创建网页。在这篇文章中,我们将详细介绍JSP的基本概念、语法和应用。 一、JSP的基本概念 1.1 JSP的含义 JSP是一种网页技术&#…...

java基于知识库的中医药问询系统

本系统主要包含了等系统用户管理、中医药常识管理、科室信息管理、知识库管理多个功能模块。下面分别简单阐述一下这几个功能模块需求。 管理员的登录模块:管理员登录系统对本系统其他管理模块进行管理。 用户的登录模块:用户登录本系统,对个…...

【新星计划-2023】什么是ARP?详解它的“解析过程”与“ARP表”。

一、什么是ARP ARP(地址解析协议)英文全称“Address Resolution Protocol”,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确…...

自动驾驶行业观察之2023上海车展-----车企发展趋势(2)

自主品牌发展 比亚迪:展示3款新车,均于2023年年内上市 比亚迪在本次展会上推出了3款新车:宋L概念车(王朝系列)、驱逐舰07(海洋系列)、海鸥(海洋系列)。 • 宋L&#x…...

通知所有员工所需的时间

题目描述 公司里有 n 名员工,每个员工的 ID 都是独一无二的,编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。 在 manager 数组中,每个员工都有一个直属负责人,其中 manager[i] 是第 i 名员工的直属负责人。对于总负责…...

Docker:bash: vim: command not found

进入docker容器 docker exec -it [容器ID] /bin/bash docker exec -it e56e7bbe85ad /bin/bash 在使用 Docker 容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是…...

排序算法之选择排序

选择排序(Selection Sort)是一种简单直观的排序算法,其基本思路是在未排序的数据序列中找到最小元素,将其放在已排序的数据序列的末尾。重复该过程,直到整个序列排序完成。 具体实现过程如下: 首先&#x…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...