PHP网站在线客#服系统源代码是一套全球范围内最为先进的、为同时在线用户数为100K~10M应用而设计的开源即时通讯引擎。

(当前Demo的服务端版本:/turms-admin:latest、/turms-im/turms-gateway:latest、/turms-im/turms-service:latest)turms-admin服务端地址:/im:6510

登录账号与密码均为:guest(该账号有查询与增加领域模型的权限,无更新与删除领域模型的权限)

仓库源码:kf.zxkfym.top

turms-gateway服务端地址:/im:10510 (WebSocket端口)、/im:11510 (TCP端口)

turms-service服务端的管理员API地址(DEV配置,带Mock数据):/im:8510

Prometheus服务端地址:/im:9090;Grafana服务端:/im:3000

您可以使用任意turms-client-(java/js/swift)客户端,向turms-gateway服务端发送请求,并与其他用户进行交互。

另外,Playground由一条指令全自动搭建:ENV=dev,demo docker-compose -f docker-compose.standalone.yml —profile monitoring up —force-recreate -d

#源码快速搭建命令:

通过以下命令,可以在本地全自动地搭建一套完整的Turms最小集群(包含turms-gateway、turms-service与turms-admin)及其依赖服务端(MongoDB分片集群与Redis)

  git clone --depth 1 /turms-im/turms.gitcd turmsdocker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissionsdocker-compose -f docker-compose.standalone.yml up --force-recreate

等集群完成搭建后,可以通过 localhost:6510 访问turms-admin后台管理系统,并输入账号密码(默认均为turms)。如果登录成功,则说明Turms服务端也已经成功启动。

另外您也可以通过Turms提供的Terraform module,来快

搭建云环境(默认使用抢占式实例)并在服务器上搭建Turms集群与依赖服务端。在terraform apply命令执行完毕后,等待约3~15分钟(阿里云ECS拉取ghcr镜像很慢)。

  git clone --depth 1 /turms-im/turms.gitcd turms/terraform/alicloud/playgroundexport ALICLOUD_ACCESS_KEY=<your_access_key>export ALICLOUD_SECRET_KEY=<your_secret_key>terraform initterraform apply

基于读扩散消息模型进行架构设计,对业务数据变化感知同时支持推模式、拉模式与推拉模式(详细文档:客#服源码业务数据变化感知),其他大部分的设计细节也源自商用即时通讯项目。并且相比很多技术栈落后的开源项目或闭源商用项目,客#服源码解决方案也是全球即时通讯开源领域内唯一一个基于现代化架构与现代化工程技术,并且适合中大规模部署的解决方案。

另外,架构设计是权衡的艺术,部分IM产品以功能丰富为口号,但功能丰富的代价就是只适用于小体量的用户规模(如企业内部通讯)。而客#服源码以极限性能为第一要义,同时支持完整的(而非丰富的)IM业务功能,以支持中大规模即时通讯场景。具体原因可查阅客#服源码集合设计以及客#服源码可观测性体系相关文档。

当您需要将客#服源码与其他开源IM项目做具体特性的比对时,您可以先照着客#服源码下述的特性与其他开源IM项目进行比对。通常情况下,您能通过这样的比对,发现专业IM项目与业余IM项目之间的区别。另外,在产品对比章节下,我们也提到了客#服源码项目的缺点供您参考。

注意:当前客#服源码项目的主要缺点是不对直播/聊天室业务场景提供支持。直播/聊天室业务场景的技术实现并不难,但其产品需求、质量属性要求与约束性条件与一般的社交场景存在着较大差异,故客#服源码第一版设计不对其提供支持;另外,客#服源码也不太适用于小规模的企业通讯场景,用客#服源码往企业通讯场景上套就有点“杀鸡用牛刀”,因为企业通讯更强调功能丰富而非极限性能,与客#服源码的目标不符,所以二者的上层设计也不同。如果希望支持企业通讯场景,您还需要对客#服源码进行二次开发。

功能相关特性:

1、(业务功能完善性)客#服源码支持几乎所有商用即时通讯产品所支持的即时通讯相关功能(甚至还有更多的业务功能),且无业务功能限制,同时也支持一些诸如敏感词过滤(基于双数组Trie的AC自动机算法实现)、消息冷热分离存储等高级IM功能。

2、(功能拓展性)客#服源码同时支持两种拓展模式:配置参数与开发插件。当然您也完全可以对源码进行修改。目前用于接入的MinIO对象存储服务的插件客#服源码-plugin-minio就是基于客#服源码-plugin实现的。

3、(配置灵活性)客#服源码提供了上百个配置参数供用户定制,以满足各种需求。并且大部分配置都可以在集群运作时(不需要停机),进行集群级别的同步更新,并且无性能损失。

通用架构特性:

1、(敏捷性)支持在用户无感知的情况下,对客#服源码服务端进行停机更新,为快速迭代提供可能

2、(可伸缩性)无状态架构,客#服源码集群支持弹性扩展与异地多活的部署实现,用户可通过DNS就近接入

3、(可部署性)支持容器化部署,方便与云服务对接,以实现全自动化部署与运维。客#服源码默认提供了docker镜像、docker-compose脚本、Terraform模块三套容器化部署方案

4、(可观测性)具备相对完善的可观测性体系设计,为业务统计与错误排查提供可能

5、(可拓展性)能同时支持中大型即时通讯场景,即便用户体量由小变大也无需重构(当然,对于大型运用场景还有很多优化的工作需要做,但当前架构不影响后期的无痛升级)

6、(安全性)提供限流防刷机制与全局用户/IP黑名单机制,以抵御大部分CC攻击

7、(简单性)核心架构“轻量”,方便学习与二次开发(原因请查阅 客#服源码架构设计)

客#服源码使用MongoDB分片架构,并支持请求路由(如读写分离)、冷热数据分离,同时也支持跨地域多活部署与数据主主同步,为大规模跨国部署提供实际操作的可能。

在线客服系统源码(thinkphp网页在线客服系统源码完整搭建)相关推荐

  1. 最新开源多城市地方房产门户系统源码/ThinkPHP房产房市营销推广系统自适应移动端

    最新开源多城市地方房产系统源码,房产房市营销推广系统去授权修复版自适应移动端 PHP版本号必须7.0之上才行,要不然会出错,这套源代码根据Thinkphp5.1开发的,功能齐全租房子,住宅小区,办公楼 ...

  2. 微商php源码,Thinkphp内核微商新零售平台源码

    ​Thinkphp内核微商新零售平台源码 产品营销推广神器 一个新零售的派单工具,有了平台,会让客户主动加你买货,100%成交,还会积极帮你转介绍,让你不仅仅获得派单,还能建立自己的商友圈,积累强大的 ...

  3. 活动报名小程序源码/thinkphp后台管理报名小程序源码

    介绍: 活动报名小程序源码,基于thinkphp开发的报名小程序源码,带有后台管理,用户发布活动信息.报名可以后台管理,基本都还是可以的. 不过需要注意的是,用户注册部分是发送手机短信,但是短信验证码 ...

  4. 微信授权2.0php源码,微信网页授权(OAuth2.0) PHP 源码简单实现

    微信网页授权(OAuth2.0) PHP 源码简单实现 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  微信网页授权(OAuth2.0) PHP 源码简单实现.tx ...

  5. java h5在线音频_html5 mp3音频播放代码网页在线录音

    特效描述:html5 mp3音频播放 网页在线录音.本地设置麦克风权限,才能正常预览 代码结构 1. 引入JS 2. HTML代码 Html5网页JavaScript录制MP3音频 录制 停止 上传 ...

  6. PDF在线转PPT,不用下载软件网页在线即可转换!

    PDF是我们经常在办公中使用的文件格式,它的兼容性和安全性使得它成为了传输文件的首选.而PPT则是我们常用的演示文稿格式,无论是在学校还是在公司,我们都需要制作演讲和汇报的PPT文件.由于这两种文件格 ...

  7. 网页游戏一个服务器多少人,网页游戏开服数据报告

    原标题:网页游戏开服数据报告 一.网页游戏开服排行 点评:本周网页游戏开服排行前三:<蓝月传奇>.<神印王座>.<传奇霸业>;本周优质开服数据共5634组,其中上榜 ...

  8. PHP在线客服系统平台源码(完全开源的网页在线客服系统)

    在线客服系统是一个使用PHP.JavaScript和CSS开发的即时网页聊天咨询系统.该项目包含管理员和用户端.管理员端管理所有的管理,如编辑站点内容.管理提供者和预订,管理员在这个系统的管理中起着重 ...

  9. thinkphp多用户在线客服系统源码-thinkPHP内核 附使用教程

    介绍: 步骤 1 请使用宝塔面板安装 上传源码并且解压到网站很目录 设置运行目录为public 测试环境为php5.6 mysql5.5 伪静态选择为thinkphp 宝塔 安全 放通:  2080 ...

最新文章

  1. 89. a^b【快速幂模板】
  2. CodeForces - 1095C Powers Of Two(思维)
  3. 1.2 函数间隔和几何间隔理解2
  4. docker项目部署 php_使用Docker部署PHP开发环境的方法详解
  5. linux find prune文件,Linux中find命令-path -prune用法详解
  6. 在Ubuntu 将PHP5升级到PHP7.0 PHP7.1
  7. android 打砖块教程,scratch教程-打砖块游戏
  8. 从冲突到和谐:智能新文化环境中人机关系的伦理重构
  9. 51心形流水灯原理图PCB及程序简介
  10. android studio如何多moudle依赖同一个gradle配置
  11. Http升级到Https (本地测试,无须域名和认证)
  12. cubase怎么添加midi设备_在 Cubase 中设置 MIDI 键盘的走带控制器和旋钮推子等控制器...
  13. python可以自动拆分表格吗_Python最详细的Excel操作方式,你值得拥有!
  14. 美国南加大工程学院计算机,美国南加州大学工程学院排名是多少?
  15. html中lt;metagt;和lt;basegt;标记,html头标签meta实现refresh重定向
  16. 多线程初体验——使用2个线程根据莱布尼兹级数计算PI、多线程排序
  17. 算法的“有毒泡泡”,当真可以戒掉吗?
  18. sql语句往某个字段指定位置追加或者插入值
  19. 开启ylmf desktop ubuntu的pae支持
  20. 企业业务架构设计方法论及实践(一)

热门文章

  1. 超便捷mail163手机邮箱登录方法
  2. 怎么把视频合并到一起?这几种方法轻松合并视频
  3. 应对word无法编辑、无法选中、无法删除的方法
  4. 电脑上快速剪辑歌曲的方法
  5. Bootstrap5不再支持IE浏览器,在网站顶部给IE浏览器访客给予提示
  6. 经方治愈神经性皮炎一例
  7. Firefox扩展开发笔记 - 如何给扩展打包,xpi格式
  8. 机器人大爷 感
  9. Python判断一个五位数是否为回文数
  10. 判断一个数是否为回文数C