Startalk 是世界上最好的开源 im 系统级解决方案! 点击进入 GitHub 查看 https://github.com/qunarcorp/qtalk
沟通是人类最基础的需求 --《人类简史》
Startalk 的目标是成为一款通用的, 高性能的企业级 im 套件. 也在努力改变当前大型 im 系统无完整开源解决方案的现状.
Startalk 前身是去哪儿的 Qtalk, 已在 Qunar 稳定运行 3 年多.
其内核也在去哪儿旅行和去哪儿网站上扮演着着客服服务工具的角色.
也就是说, 一套内核同时为去哪儿网提供了内部企业办公和商家 tob 业务的支撑.
我们的使用场景
办公自动化 OA
商业企业客服系统
各种 im 场景的 SDK 级嵌入
系统自有特点
开放源代码
我们正在逐步把工作重心从公司 Git 转移到 GitHub 上, 希望可以为大家提供更稳定持久的服务.
只推荐私有化部署
企业有私有化部署的理由和需求, 我们是希望帮助企业甚至团体在满足高效沟通和足够的扩展性上提供尽可能多的帮助.
如何使用?
Startalk 专注于基于私有化部署. 这导致了 startalk 的登录过程略显复杂. 但是没关系, Startalk 团队致力于把 im 系统设计门槛降低到很低的同时, 也致力于降低首次接入时的成本.
通常, 我们使用一款自有软件时, 常见的接入方式分三步:
下载 App
根据官方要求做一些设定
注册账号 & 登录
Startalk 因为是私有化部署, 服务器也需要部署在自己公司, 这使得接入步骤变成了四步:
下载 App
部署后台系统 (新增)
通过后台配置, 给客户端做一些设定
倒入账号 & 登录
如果您真的很希望做私有化接入, 但是又不想在前期有一些投入和成本, 可以考虑在公共环境中做试用或暂住:
加入公共域 https://im.qunar.com/new/#/regist .
当您已经决定加入私有化部署, 或者决定从公共环境中将数据迁移到私有环境:
开始私有化部署!.
部署环境要求
后端 https://github.com/qunarcorp/ejabberd-open 服务器 CentOS 7(未来会支持 Ubuntu, 以及各种私有云)
iOS SDK https://github.com/qunarcorp/imsdk-ios 最低支持 iOS9 系统
最低 Android SDK https://github.com/qunarcorp/imsdk-android : SDK 要求最低 API 级别为 16
编译 Android SDK https://github.com/qunarcorp/imsdk-android : SDK 要求您针对 API 26 或更高版本进行编译
其他平台均可使用 C++14 进行编译. 界面是 https://qt.io/
看到这里, 您现在可能已经希望测试一番了...
快速开始
https://github.com/qunarcorp/ejabberd-open 后端源码及介绍
https://github.com/qunarcorp/imsdk-android 安卓源码及介绍
imsdk-iOS https://github.com/qunarcorp/imsdk-ios iOS 源码及介绍
如果您不想费事, 或者希望可以快速开始, 那么可以进入我们的官方网站 https://im.qunar.com/new/ 注册公共域账号进行测试.
官方网站 https://im.qunar.com/new/
我们针对不同层次的客户提供了不同层次的支持方式. 如果您感兴趣但是担心各种使用上的问题, 可以移步官网 https://im.qunar.com/new/ 了解详情
系统特性
注重您的使用体验和信息安全
支持端到端加密方式. 默认使用 TLS 连接, 纯二进制协议
支持所有的消息类型, 文本, 表情, 文件, 音视频, 图片, 位置, 红包, 代码......;
支持全平台接入;
采用去中心化设计. 支持私有云或公有云部署
已有用户
目前已广泛使用的主要厂商, 如去哪儿, 北工大, 便利蜂, 新晨航空, 爱云动
包括以下扩展功能
企业 OA
单聊及群聊
搜索
push
音视频
红包 & AA 收款
会话加密
组织架构
去中心化设计及部署方式
Startalk 采用去中心化设计, 将非状态服务合并到了 Public 中, 状态服务进入了 Domain 中. Domain 横向扩展, 相互之间隔离
去中心化部署, 只要有服务器, 自己家里都能部署一套 im 服务
Startalk 后端模块
https://github.com/qunarcorp/ejabberd-open
IM 核心组件, 负责维持与客户端的长连接和消息路由
https://github.com/qunarcorp/or_open
IM 负载均衡组件, 负责验证客户端身份, 以及转发 http 请求到对应的后台服务
https://github.com/qunarcorp/im_http_service_open
IM HTTP 接口服务, 负责 IM 相关数据的查询, 设置以及历史消息同步
https://github.com/qunarcorp/qtalk_cowboy_open (后面所有的接口都会迁移到 im_http_service, 这个服务会废弃)
IM HTTP 接口服务, 负责 IM 相关数据的查询, 设置以及历史消息同步, 后面会全部迁移到 im_http_service 上
https://github.com/qunarcorp/qfproxy_open
IM 文件服务, 负责文件的上传和下载
https://github.com/qunarcorp/qtalk_search
提供远程搜索人员和群的服务
Redis
IM 缓存服务
PostgreSQL
IM 数据库服务
客户端简介
客户端私有化配置
客户端 SDK 开源, 目前仅开源移动端, PC 端即将开源
Android 端
https://github.com/qunarcorp/imsdk-android
安卓 SDK
iOS 端
- imsdk-iOS https://github.com/qunarcorp/imsdk-ios
- iOS SDK
- https://github.com/qunarcorp/libqimkit-ios-cook
各个组件 Pod 库
扩展工具组件库
https://github.com/qunarcorp/libqimdatabase-ios
数据库组件库
https://github.com/qunarcorp/libqimopenssl-ios
适用于 iOS/Mac 的 OpenSSL 库
PC 及 Mac 端即将开源, 如有需要, 可先行下载客户端自主部署, 下载地址: https://im.qunar.com/new/#/download
来源: https://juejin.im/post/5c3eeaf4f265da615c597f2d