使用 GRPC 流请求进行代理负载平衡

2023-11-29

我们使用流式 RPC 将大文件发送到 GRPC 服务器。像这样:

service FileReceiver
{
    rpc addData(stream DataChunk) returns (Empty)
}

在这种情况下是否可以使用代理负载均衡器,以便负载均衡器不会在流请求中间切换服务器?随着客户数量的增加,它会很好地扩展吗?


HTTP 负载均衡器通常按HTTP请求。 gRPC 流是单个HTTP请求,与流中的消息数量无关。每个客户端都可以定向到不同的后端,因此可以扩展。因此,gRPC 的行为方式是开箱即用的。

流式 RPC 是有状态的,因此所有消息必须发送到同一后端。这对于结果的一致性至关重要(就像反射)并且有助于某些工作负载(例如您的情况)的性能。

不过,关于可扩展性的一个注意事项是:如果流寿命较长,则可能会出现“热点”,其中某些后端拥有较高比例的流。您的服务可以定期(根据您的需要几分钟或几小时)关闭流并让客户端重新创建流以重新平衡。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 GRPC 流请求进行代理负载平衡 的相关文章

  • 无法在代理后面使用量角器运行 Angular > 2 e2e

    将不胜感激任何帮助 我在windows上运行 我在全球安装了量角器版本5 3 0 在更新网络驱动程序之前我运行 webdriver manager clean 并更新版本如下 webdriver manager 更新 ie32 proxyh
  • 通过 AWS ALB 的 HTTP2 PING 帧(gRPC keepalive ping)

    我正在使用 AWS Application Load Balancer ALB 公开 ASP NET Core gRPC 服务 这些服务在 Fargate 容器中运行并公开不安全的 HTTP 端口 ALB 终止外部 TLS 连接 并根据路由
  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理
  • nginx代理认证拦截

    我有几个服务 它们支持 nginx 实例 为了处理身份验证 在 nginx 中 我拦截每个请求并将其发送到身份验证服务 在那里 如果凭据正确 我将设置一个包含用户相关信息的 cookie 现在 请求应该被路由到适当的服务 并设置 cooki
  • HTTPS URL 的基本代理身份验证返回 HTTP/1.0 407 需要代理身份验证

    我想在 Java 中使用具有基本身份验证 用户名 密码 的代理来进行连接 并且仅此连接 以下代码适用于 HTTP URL 例如 http www google com http www google com URL url new URL
  • 从 cocoa 编辑系统偏好设置

    有没有办法使用可可以编程方式编辑系统首选项 是否需要一些框架 我需要这样做来更改全局代理设置 另外 我的应用程序是沙盒的 有关于如何执行此操作的示例代码吗 感谢您的帮助 您正在寻找系统配置框架 但这并不容易 我认为沙盒应用程序不可能这样做
  • 如何通过 kubectl 代理访问此 Kubernetes 服务?

    我想通过以下方式访问我的 Grafana Kubernetes 服务kubectl 代理服务器 https kubernetes io docs user guide kubectl v1 7 proxy 但由于某种原因 即使我可以使其适用
  • GRPC/C++ - 如何检测异步服务器中客户端断开连接

    我正在使用这个代码example https github com grpc grpc blob v1 32 0 examples cpp helloworld greeter async server cc创建我的 GRPC 异步服务器
  • Erlang 中的接受器池和负载平衡?

    From http www erlang org doc man gen tcp html accept 1 http www erlang org doc man gen tcp html accept 1 值得注意的是 accept 调
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • nginx 代理到子目录中的远程 Node.js Express 应用程序

    我完全陷入了这样一种情况 我想在一台服务器上拥有多个节点应用程序 通过让应用程序在不同的端口上运行 我可以正常工作 我可以通过输入 IP 地址和端口来访问应用程序 我想通过使用不同的子目录来代理来自 nginx 服务器的应用程序 如下所示
  • 使用 TCP 套接字在本地代理视频

    我一直对向媒体浏览器添加对视频播客的支持非常感兴趣 我希望用户能够浏览可用的视频播客并从互联网上流式传输它们 这真的很容易 因为媒体播放器等将愉快地播放存在于云中的文件 问题是我想在本地缓存这些文件 因此同一集的后续观看将不涉及流式传输 而
  • 池和集群之间的区别

    从最纯粹的角度来看 它们感觉像是相同的概念 两者都管理资源 节点集并控制来自外部组件或由外部组件进行的访问 通过池 您可以向池借用这些资源 节点 也可以从池中归还这些资源 节点 对于集群 您在资源 节点前面有一个负载均衡器 并且您可以向负载
  • 如何使用.NET Core(FtpWebRequest)通过squid代理通过FTP获取文件?

    根据https learn microsoft com en us dotnet api system net ftpwebrequest proxy view netcore 3 1 https learn microsoft com e
  • 将 S3 静态站点与应用程序负载均衡器结合使用

    我有一个 ALB 当前将流量路由到多个 url 如果我们需要执行维护 我希望能够将流量路由到静态 S3 站点 然后 我们将显示静态 维护 页面而不是登录页面 我创建了一个 CloudFront 发行版 允许 S3 站点加载 SSL 证书 但
  • 调用 Web 服务时“请求失败,响应为空”

    从 aspx 页面调用服务器中托管的 Web 服务时 收到类似 请求失败 响应为空 的错误 我的页面中的代码 try HttpWebRequest request1 HttpWebRequest WebRequest Create http
  • 无法在 $.ajax 请求上设置 HTTP 主机标头

    之前已经以不同的方式讨论过这个主题 但我还没有找到适合我的解决方案 我正在使用jquery 1 7 1 我有一个 REST 风格的 Web 服务 可以返回 JSON 和 XML 但对于这个项目 我需要使用 XML 端点 为了绕过跨域限制 我
  • 使用 Apache 作为代理时,无法使用 playframework 为静态资源生成正确的 URL

    我使用 Apache 服务器作为我的 playframework 应用程序的代理 代理配置文件如下 gt
  • 我应该通过 gRPC 传输大型数据集而不需要手动分块吗?

    我想使用 gRPC 公开一个接口 用于在两个服务之间双向传输大型数据集 100 MB 由于 gRPC 默认施加 4 MB 消息大小限制 因此首选方法似乎是手动编码块流 并在接收端重新组装它们 1 https jbrandhorst com
  • 在代理后面安装 Laravel

    我正在尝试在 Windows 机器上安装 Laravel 我按照本指南进行操作直至第 11 点 http www wikihow com Install Laravel Framework in Windows http www wikih

随机推荐

  • 这是有效的 YAML 吗?

    所以对于我在 C 中的文本解析question 我被定向到 YAML 我在推荐这个库时遇到了困难 所以这是一个快速的方法 heading name A name taco Yes age 32 heading name Another na
  • 意外的命名空间“map” - Android Google Maps API

    这是我的 XML 文件的全部内容 重要的部分是最后的地图片段 它给了我这个错误 标签片段发现意外的命名空间前缀 它似乎不会影响代码 但我很好奇是否有人知道发生了什么 我看过帖子说这是 Lint 问题或 Eclipse 问题 但我使用的是最新
  • (*(int (*)())a)() 是什么意思?

    我是学习C 的初学者 今天看到一个这样的指针函数 int a 我很困惑这是什么意思以及如何轻松理解它 让我们添加一个 typedef 以帮助弄清楚它的正面或反面 typedef int int func ptr int func ptr a
  • JTextPane 和 JTextField 之间的文本选择冲突

    如果存在 JTextField 为什么无法以编程方式选择 JTextPane 中的文本 我认为与专注有关 谢谢 import java awt FlowLayout import java awt GridLayout import jav
  • 从时间选择器中选择时间获取不同时区的时间

    我遇到将选定的小时和分钟转换为国家 地区不同时区的问题 假设如果我选择印度上午 10 点 那么我想知道印度上午 10 点美国 纽约和东京的时间 反之亦然 任何帮助都是值得赞赏的 谢谢 请找到以下解决方案 SimpleDateFormat s
  • 如何将复杂矩阵保存在文件中?

    我必须使用 numpy 的 savetxt 命令将下面显示的包含复杂数据的矩阵保存到扩展名为 H 的文件中 但我无法保存它 要保存的矩阵是 1 0 0 j 0 0 0 j 0 0 0 j 1 0 0 j 1 0 0 j 0 0 0 j 2
  • 如何在球衣资源方法中重写@JsonView

    我有一些使用 JsonView 注释设置的球衣资源方法 以便过滤响应中返回的字段 我希望在某些情况下能够用另一个注释中设置的 JsonView 覆盖 或者有时完全禁用它 某些 queryParam 将用于定义应设置哪个视图进行渲染或是否应禁
  • Swift:在类中实现协议初始化器

    我试图理解为什么 Swift 强制执行一个符合协议的类 并根据需要将初始化程序标记为 这本质上强制所有子类也实现该初始值设定项 指定的超类初始值设定项肯定会被继承吗 下面的引述摘自 Swift 语言指南 https developer ap
  • XmlPullParser如何获取res/raw/xml/xmlfilename?

    我是编程新手 所以如果我在下面的段落中错了 请首先纠正我 Android 中主要使用三种 xml 解析器 Sax Dom 和 XmlPullParser 最后一个选项 同时作为外部资源存在 是 Android 的 核心 因此工作速度更快 但
  • 错误栏末端缺失

    示例代码如下 require ggplot2 stats lt data frame Day 0 5 Mean c 3 2 2 7 0 8 0 2 0 0 Q10 0 0 Q90 c 7 48 4 0 2 2 1 2 0 0 plot lt
  • MSI升级并保留注册表项?

    我们在该领域有一个产品 1 0 我正在尝试更新该产品的安装程序 以便它可以安装旧版本 安装新版本 2 0 我正在使用 Visual Studio 2010 安装项目来执行此操作 我维护了 UpgradeCode 并将删除早期版本设置为 tr
  • 如何获得在C#中编辑app.config的管理员权限?

    我有一个程序 它使用 app config 来存储一些首选项 问题是 如果该程序安装在C program files 那么更改首选项是不可能的 因为所有文件程序文件 仅管理员可用 My code public static bool Edi
  • 使用 ADAL 对 Azure API 应用程序进行身份验证

    我有一个标记为 公共 已验证 的 Azure API 应用程序 并在关联的网关中设置了 Azure Active Directory 身份 详细信息请参阅保护 API 应用程序 然后 我在同一 Azure Active Directory
  • flutter 在小部件的多个实例之间共享状态

    在我的扑动应用程序中 我有一个ConnectivityStatus显示应用程序到我的树莓派的当前连接状态的小部件 在里面initState在我的小部件中 我订阅了一个计时器 每 5 秒检查一次连接并相应更新状态 然后在处理后取消订阅 问题是
  • Android Studio:com.android.ide.common.process.ProcessException:

    我正在尝试将 ArcGis 与 Android Studio 一起使用 我尝试按照以下步骤操作 https developers arcgis com android guide install and set up htm http bl
  • 刷新页面出现 404:仅在使用 /dist 文件夹时发生

    我有一个 LoopBackJS Restful 服务器运行在 localhost 3000 在前端 我有一个简单的 Angular 2 应用程序 它使用上述 API 当出现以下情况时 一切工作正常 使用nodemon运行服务器 根文件夹位于
  • 绘制熊猫时间增量

    我有一个 pandas 数据框 它有两个 datetime64 列和一个 timedelta64 列 这是两列之间的差异 我正在尝试绘制 timedelta 列的直方图以可视化两个事件之间的时间差 然而 仅仅使用df time delta
  • 如何增加Mapkit中userLocation注释的半径

    我的应用程序需要用户许可并将地图移动到该位置 默认情况下在该位置MapKit添加一个正在生成一些脉冲的蓝色图标 我到处搜索 但我发现如何添加一个 1000m 的圆圈userLocation 我不想要这样 你可以说我正在寻求定制userLoc
  • 帮助使用 int 的 TSQL IN 语句

    我正在尝试在存储过程中创建以下选择语句 dealerids nvarchar 256 SELECT FROM INVOICES as I WHERE convert nvarchar 20 I DealerID in dealerids I
  • 使用 GRPC 流请求进行代理负载平衡

    我们使用流式 RPC 将大文件发送到 GRPC 服务器 像这样 service FileReceiver rpc addData stream DataChunk returns Empty 在这种情况下是否可以使用代理负载均衡器 以便负载