当前位置: 首页 > 知识库问答 >
问题:

增加Google Cloud Inete HTTP(S)负载管理器中的websocket超时

卫皓
2023-03-14

我试图在google云容器引擎中使用入口HTTP负载均衡器代理websocket。正确建立连接和读取数据。但是30秒后连接超时。Google留档(https://cloud.google.com/compute/docs/load-balancing/http/)说要更改超时值(API中的timeoutSec)

但找不到一个合适的方法来做到这一点。我用谷歌云控制台试过了。是否有方法将超时设置为websocket in。yaml文件

这是我的入口控制器。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: load-balancer
spec:
  rules:
  - http:
      paths:
      - path: /*
        backend:
          serviceName: dash-board
          servicePort: 2020
      - path: /auth/*
        backend:
          serviceName: auth-service
          servicePort: 1111
      - path: /filter-service/*
        backend:
          serviceName: filter
          servicePort: 8081
      - path: /data-service/*
        backend:
          serviceName: data-service
          servicePort: 8090
      - path: /streaming/*
        backend:
          serviceName: streaming
          servicePort: 8080 

“流式传输”是websocket服务。

客户端是javascript。

$scope.webSocket=new WebSocket("ws://"+ location.host"+"/streaming/test");
 $scope.webSocket.onopen = function () {
       console.log("CONNECTED");
 };

提前感谢。

共有3个答案

丁雅逸
2023-03-14

用于配置超时的Google Kubernetes引擎特定文档可在此处找到:

https://cloud.google.com/kubernetes-engine/docs/how-to/configure-backend-service

郑琦
2023-03-14

这里有一个解决方案。https://cloud.google.com/compute/docs/reference/latest/backendServices

OR可以使用Google云控制台增加超时时间。

益兴生
2023-03-14

根据文档,您需要设置BackendConfig,如下所示:

apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
  name: my-backendconfig
spec:
  timeoutSec: <YOUR_DESIRED_TIMEOUT>

然后将此配置添加到您的服务注释中,例如:

apiVersion: v1
kind: Service
metadata:
  labels:
    app: web-server
  name: web-server
  annotations:
    cloud.google.com/backend-config: '{"default": "my-backendconfig"}'
 类似资料:
  • 我正在使用android autobahn websocket在android和python tornado套接字服务器之间建立连接。 下面是我在android中使用的高速公路websocket代码。 公开作废开始(){ 所有消息都是通过公共void onTextMessage(对象负载)方法接收的。 问题是,当我发送图像小于128 kb从python套接字服务器,我能够接收它。但是当我发送大小超

  • 我在一个系统上工作,我用网络套接字向服务器发送消息。为此,我使用具有多个顶点的vertx(没有Rx)Web套接字客户端,消息存储在内部队列中。我希望从消息队列中退出,并提交到具有最少负载的顶点。为了识别负载最少的顶点,我计划使用接收到的消息数量与发送的消息数量的比率。我知道vertx web套接字本质上是异步的。但是有没有规定使用任何提供的处理程序来解析指示消息已经到达服务器的响应。

  • 我的情况是,我们目前正在编写一个使用Node的在线应用程序。服务器端的js和WebSocket侦听器。我们有两个不同的部分:一个是服务页面,另一个是使用节点。js和express ejs,另一个是完全不同的应用程序,只包含套接字。用于WebSocket的io库。现在我们来讨论WebSocket部分的可伸缩性问题。 我们发现的一个解决方案是使用redis并在服务器之间共享套接字信息,但由于体系结构的

  • 我有一个S3存储桶,每天的文件都会被丢弃。AWS爬虫从该位置爬网数据。在我的glue作业运行的第一天,它将获取AWS crawler创建的表中的所有数据。例如,在第一天就有三个文件。(即file1.txt、file2.txt、file3.txt)和glue job在执行glue job的第一天处理这些文件。第二天,另两个文件到达S3位置。现在,在S3位置,这些是存在的文件。(即file1.txt、

  • 我已经看到了这个问题;好了,我正在做答案里的所有事情。 使用GKE,我为包含两个几乎相同部署的kubernetes集群部署了一个基于GCP HTTP(S)负载均衡器的入口:同一应用程序的生产和开发实例。 我在每个pod模板上设置了一个专用端口,用于负载平衡器的健康检查,这样它们就不会受到来自主HTTP端口根路径的重定向的影响。然而,健康检查总是失败。 从这些文档中,我向我的部署添加了一个参数,负载

  • 问题内容: 如何增加交易超时时间?我想上传视频,但是没有上传大尺寸的视频? 引发错误 问题答案: 您需要在php.ini中更改一些设置: