用SignalR 2.0开发客服系统[系列4:负载均衡的情况下使用SignalR]

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:用SignalR 2.0开发客服系统[系列4:负载均衡的情况下使用SignalR]前言 交流群:195866844 目录: 用SignalR 2.0开发客服系统[系列1:实现群发通讯] 用SignalR 2.
原文: 用SignalR 2.0开发客服系统[系列4:负载均衡的情况下使用SignalR]

前言

交流群:195866844

目录:

用SignalR 2.0开发客服系统[系列1:实现群发通讯]

用SignalR 2.0开发客服系统[系列2:实现聊天室]

用SignalR 2.0开发客服系统[系列3:实现点对点通讯]

 

 SignalR 2.0作为一个新的而且强大的通信工具,发布博客之后得到了很多人的支持,谢谢...也有人对性能和架设等问题提出了各种质疑..真的很感谢..

我特意下载了SignalR 2.0的源码硬着头皮用我二流子的英语在微软官方的Demo里翻滚..

今天这个负载均衡下使用SignalR..基本完全照搬于微软的Demo,我就当翻译+上自己的理解吧   - -,  原文看这里:

使用SQL server实现持久化

http://www.asp.net/signalr/overview/performance/scaleout-with-sql-server

使用redis实现持久化

http://www.asp.net/signalr/overview/performance/scaleout-with-redis

今天我们主要讲使用SQL server..

 

开发环境

 开发工具:VS2013 旗舰版

 数据库:Sql Server2008

 操作系统:WIN7旗舰版

 

正文开始

老规矩,我们先来看看实现后的效果:

 

做过负载均衡的应该一眼就能看出效果主要做的什么,这里我们就不做过多的解释了..

 

首先我们来看看微软给出的实现参考图:

 

使用的先决条件

Microsoft SQL Server 2005或更高版本。 它不支持SQL Server精简版或SQL Azure数据库。 (如果您的应用程序是托管在Azure,你懂的,考虑其他的版本代替吧.)

 

概述

详细的教程之前,这里是一个快速概述你将做什么。

  1. 创建一个新的空数据库。 集线器Hub将在这个数据库创建必要的表。
  2. 将这些NuGet包添加到您的应用程序:
  3. 创建一个SignalR应用程序。
  4. 添加以下代码来启动。 配置启动器(记得我们之前第一篇文章中的Owin么?)

 

下面就开始第一步

配置数据库:

 首先我们来创建一个库为SignalRTable

如下图:

 

 

然后,打开数据库代理(这是微软给的建议,可不开,微软给出的原因是:服务代理提供本机支持SQL Server消息和队列,使其接收更新更有效率。)

可以使用SQL语句查询是否开启了数据库代理(新库默认是关闭的) SQL语句如下:

SELECT [name], [service_broker_guid], [is_broker_enabled]
FROM [master].[sys].[databases]

 

可以使用如下SQL语句开启你数据库的代理服务:

ALTER DATABASE 你的库名 SET ENABLE_BROKER

 

开始配置项目

我这里直接拿我的第一个Demo来配置了,首先你要引用

using Microsoft.AspNet.SignalR.SqlServer;

这个类库,..如果没有的话可以通过NuGet去下载.

任何Hub中的代码都不需要修改,上面我提到过,启动器Owin,我们这里直接进入到Owin中,加入如下代码:

using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.SqlServer;

[assembly: OwinStartup(typeof(SignalRTest.MyStartup))]

namespace SignalRTest
{
    public class MyStartup
    {
        public void Configuration(IAppBuilder app)
        {
            //加入如下代码,Sqlconn为你的SQL数据库连接字符串.
            string sqlconn = "您的SQL数据库联接字符串";
            GlobalHost.DependencyResolver.UseSqlServer(sqlconn);

            //第一版Demo中我们一直只有这句代码.
            app.MapSignalR();
        }
    }
}

 

这样我们就完成了整个负载均衡情况下的配置.

谢谢大家的支持,我会做的更好..请大家对我二流子的英语多多包含 - -,感谢..希望能有更好的翻译出来.

 

目录
相关文章
|
3天前
|
负载均衡 监控 算法
实现负载均衡策略:优化系统性能与可用性
实现负载均衡策略:优化系统性能与可用性
|
3天前
|
网络协议 程序员 调度
即时通讯技术文集(第33期):IM开发综合技术合集(Part6) [共12篇]
为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第33 期。
40 0
|
3天前
|
自然语言处理 监控 数据可视化
海拍客与瓴羊达成合作,通过智能客服系统提升员工内部服务体验
海拍客与瓴羊达成合作,通过智能客服系统提升员工内部服务体验
|
3天前
|
自然语言处理 监控 机器人
中国联通济南分公司与瓴羊达成合作,以智能客服系统提升员工内部服务体验
中国联通济南分公司与瓴羊达成合作,以智能客服系统提升员工内部服务体验
|
3天前
|
存储 数据挖掘 API
解码客服工单系统:选型指南让您信手拈来
在选择客服工单系统时,企业应明确需求,考虑功能(如工单管理、知识库集成、自动化流程)、易用性、技术支持、可扩展性、安全性和合规性。ZohoDesk提供定制服务,满足企业效率提升和成本降低的需求。进行成本效益分析以确保投资回报。
27 6
|
3天前
|
监控 安全 机器人
电话客服热线系统的详细搭建方案(十大关键要素)
构建高效电话客服系统涉及需求分析、话务量估算、系统规划与设计、多渠道集成、智能化升级和安全措施。需求分析包括客户调查、数据分析、竞争分析和焦点小组讨论,以确定服务模型和规模。系统设计需选择合适的服务模型、技术工具,并设计呼叫流程。多渠道接入与在线客服可提升客户体验,智能化技术如智能语音和文字机器人则提高效率。技术实施涉及硬件和软件选择、系统集成、测试与调整。安全方面,要设计安全策略,实施安全技术,并持续监控。人员培训与管理确保团队能力,运营和优化则关注日常管理、系统优化和后期运维。部署方式包括云端和本地化,租用和自建,各有优劣。电话客服系统对提升客户满意度和企业形象至关重要。
|
3天前
|
存储 数据库
工单系统的作用与优势!为什么企业需要它?
**工单系统是管理任务和请求的软件,如ZohoDesk,能提升生产力、提供透明度、增强客户满意度、优化资源分配和促进协作。ZohoDesk工单系统特点包括直观界面、高度可定制、多渠道支持、强大集成能力和报告功能,适合不同规模的组织。**
57 1
|
3天前
|
运维 安全 数据安全/隐私保护
工单系统大揭秘!选择工单系统需注意的关键因素!
这篇内容介绍了工单系统的种类和选择指南。主要类型包括IT工单系统、客户服务工单管理系统、设备维护工单管理系统和全渠道工单系统。选择合适的工单系统需考虑功能需求、企业预算、易用性、系统稳定性、售后服务和技术安全。推荐了Zoho Desk作为好用的工单系统选项,它提供专业服务和免费试用。
34 1
|
3天前
|
机器学习/深度学习 自然语言处理
基于深度学习的自然语言处理技术在智能客服系统中的应用
【2月更文挑战第21天】随着人工智能技术的不断发展,自然语言处理(NLP)技术在各个领域得到了广泛应用。本文主要探讨了基于深度学习的自然语言处理技术在智能客服系统中的应用。首先介绍了深度学习和自然语言处理的基本概念,然后分析了智能客服系统的工作原理和技术要求,接着详细阐述了基于深度学习的自然语言处理技术在智能客服系统中的具体应用,包括语义理解、情感分析和问答系统等。最后对基于深度学习的自然语言处理技术在智能客服系统中的优势和挑战进行了总结。
90 1
|
3天前
|
负载均衡 应用服务中间件 nginx
Nginx四层负载均衡在秒杀系统中的应用
Nginx四层负载均衡在秒杀系统中的应用
30 0