首页 > 其他分享 >SignalR 分布式部署

SignalR 分布式部署

时间:2023-11-17 10:25:02浏览次数:37  
标签:部署 连接 SignalR 服务器 分布式 发消息 客户端

分布式部署意味着有多台SignalR服务器,一台服务器有多个客户端连接。

SignalR 要求对于某一个特定连接的所有HTTP 请求都需要被一个相同服务进程处理,当SignalR 运行在一个服务场时(多个服务器),则必须使用“粘性会话”(服务器开启)或者”跳过协商“(用websocket)

问题:某一个客户端给服务器发消息说:“给所有的客户端发一条消息",只会给当前服务器连接的所有的客户端发消息,不会给其他服务器连接的客户端发消息。

官方方案:利用redis进行横向扩展

一、使用asp.net core

  1. 安装nuget包:Microsoft.AstNetCore.SignalR.StackExchangeRedis
  2. builder.Services.AddSignalR().AddStackExchangeRedis("127.0.0.1",options=    options.Configuration.ChannelPrefix="Test_";})

二、使用asp.net

1、安装nuget包:Install-Package Microsoft.AspNet.SignalR.StackExchangeRedis

2、在StartUp.cs中添加代码

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        // Any connection or hub wire up and configuration should go here
        GlobalHost.DependencyResolver.UseStackExchangeRedis("server", port, "password", "AppName");
        app.MapSignalR();
    }
}

 

标签:部署,连接,SignalR,服务器,分布式,发消息,客户端
From: https://www.cnblogs.com/lixiang1998/p/17838043.html

相关文章

  • linux系统部署redis单点服务
    1、下载rediswgethttps://download.redis.io/releases/redis-5.0.9.tar.gz2、解压tarzxfredis-5.0.9.tar.gz3、移动redis解压目录mvredis-5.0.9/usr/local/redis4、编译cd/usr//local/redismake5、安装makeprefix=/usr/local/redisinstall6、配置配......
  • 总结(每个服务的部署)
    openstack:就是里面有各种各样的服务,服务有三个端点可以访问,就是一:keystone服务(5000)keystone服务就是提供认证的作用1:组件模块令牌模块:就是用来生成模块和管理模块目录模块:就是用来管理服务和端点的信息验证模块:就是管理用户,角色,项目,提供认证服务策略模块:就是用来存储和管......
  • 服务器实时监控部署
    3个组件:node_export、prometheus、grafana   第一步:部署到所需监控的服务器上(node_export需要部署到每个服务器,剩余两个只需部署一个服务器即可)第二步:解压所部署的.tar.gz包 :tar-zxvf压缩包名路径第三步:进入解压后的node_export目录下,执行:  nohup./node_export......
  • 爱芯元智AX650N部署yolov5 自定义模型
    爱芯元智AX650N部署yolov5s自定义模型本博客将向你展示零基础一步步的部署好自己的yolov5s模型(博主展示的是安全帽模型),利用yolov5官方的代码工具导出onnx模型,并通过onnxsim自带的工具精简网络结构,导出子图,为了Pulsar2工具进行处理模型做准备。获得自定义训练得到的yolov5s......
  • AWS上部署容器化应用:EC2和Fargate挂载EFS文件系统的步骤详解
    在云计算领域,AWS(AmazonWebServices)一直是业界领先的云服务提供商之一。在AWS上,我们可以轻松地部署和管理各种应用程序,包括容器化的应用。本篇博文将介绍如何在AWS上创建EFS文件系统,并演示如何在EC2和AWSFargate上挂载这个文件系统。步骤一:创建EFS文件系统首先,登录AWS管理控制台,......
  • vue2 前后端分离的项目,用宝塔部署,出现域名访问根目录能访问,加任何网址就404
    https://admin.xxx.com/ 访问正常https://admin.xxx.com/index  访问404location/{root/home/ruoyi/projects/ruoyi-ui;try_files$uri$uri//index.html;indexindex.htmlindex.htm;} nginx加上上面这段......
  • 部署单节点etcd
    1.下载并安装etcdETCD_VERSION='3.4.13'wgethttps://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gztar-xvfetcd-v${ETCD_VERSION}-linux-amd64.tar.gzmvetcd-v${ETCD_VERSION}-linux-amd64/opt/etcd......
  • mysql单点多实例部署方式
    一、清理环境清理方式与mysql-部署相同二、部署1.创建mysql目录mkdir/root/softcd/root/soft2.下载安装包并解压wgethttps://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gztar-xfmysql-5.7.28-linux-glibc2.12-x86_64.tar.gz-C/o......
  • 把bsc的合约代码部署到opbnb
    1.找到bsc已经正式部署的合约https://bscscan.com/ 2.拷贝ContractSourceCode把文件导出为xxx.sol 3.把导出的sol文件导入remix编辑器打开remix编辑器https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.8.18+com......
  • 开源一套快速部署程序的工具(CI/CD)
    随着微服务越写越多,程序发布就成了一个麻烦事,所以写了一个部署工具Vela,只要填写一个git地址、编译命令等简单信息,就能自动完成程序的部署。Vela特性:代码可在任意一台电脑自动完成编译,再自动上传至服务器可指定程序以Docker容器方式运行编译命令采用终端运行,理论支持......