IM即时通信项目技术方案设计.docx
- 文档编号:14338649
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:46
- 大小:171.30KB
IM即时通信项目技术方案设计.docx
《IM即时通信项目技术方案设计.docx》由会员分享,可在线阅读,更多相关《IM即时通信项目技术方案设计.docx(46页珍藏版)》请在冰点文库上搜索。
IM即时通信项目技术方案设计
合用标准
第一章技术方案
3.1.工程归纳
工程名:
建设单位及工程负责人:
3.1.1.工程背景
随着搬动互联网的爆发式睁开,上的沟通变得越来越重要,即时通讯作为此刻互联网时代的一个重要通讯手段,互联网时代的人、企业等已根本接受和习惯即时
通讯带来的各种便利效劳,各种即时通讯工具、聊天软件应用也如雨后春笋层见迭出,用户也越来越习惯利用在APP中植入的即时通讯功能效劳进行在线即时聊天互动,获取产品或效劳的信息,或进行人与人之间的沟通互动,当前四川电信经过积极研究
实践,在搬动互联网领域也创新地开发出一些行业重量级的业务应用,对即时通讯能力效劳需求特别急迫,无专属即时沟通工具,买家与卖家间无即时沟通,订单及物流通知未实时送到;QQ、微信等第三方即时通讯工具,只能解决沟通的问题,而无法对用户体验和平台无缝性带来帮助,没有与自己产品线进行的深度集成,应用需求无法真切满足。
因此成立一套一致的IM平台以及专属的聊天产品,对应用的实行与睁开有特别重要的意义。
3.1.2.需求归纳
基于电信自主运营应用对IM即时通讯能力效劳有相应的集成需求,需要成立一
套云即时通讯效劳平台,为需要IM即时通讯的应用供应基础的即时通讯能力效劳,
支持嵌入到电信自主运营开发的业务应用中供应即时通讯效劳,实现即时通讯基础服
务能力平台化、SDK种类丰富化,支持多应用接入。
同时基于IM即时通讯平台能够定制一套专属于自己的IM通讯软件,对数据的保
密性、安全性以及功能的多样性都能很好的满足。
文案大全
3.2.建设目的及原那么
成立一套云即时通讯效劳平台,为需要IM即时通讯的应用供应基础的即时通讯
能力效劳。
同时基于IM即时通讯平台能够定制一套专属于自己的IM通讯软件,对数
据的保密性、安全性以及功能的多样性都能很好的满足。
3.2.1.整体建设原那么
系统可用性原那么
系统可用性〔Availability〕是用来衡量一个平台系统能供应连续效劳的能力,
它表示的是在给准时间系统也许系统某一能力在特定环境中能够满意工作的概率。
采用先进的技术和方法,满足和适应搬动互联网技术更新速度,在满足开发时间
节点的要求下,满足用户的交互体验和功能需求,采用智能化的办理特色,满足运营
管理的效率要求。
在系统运行中间可能会影响到系统可用性的因素:
1.操作人员和组织
其实这个地方平台在使用中的管理员,他可否重视运维?
组织可否已经认识平台
带来的价值,把平台的可用性看作自己的一个核心能力来对待。
可否把面向用户的业
务能力和运维很好的对接?
可否成立起用户质量的组织文化。
2.业务流程
业务管理平台的流程梳理多个角色自己的关系和职责。
我们第一个要去看这个流
程在面对故障的可否起到了积极的作用,比方说能够保证故障信息的正确送到,同时
保证办理人的角色和职责是清楚的。
其次不断去检查流程可否能够自动化驱动,而非
人为驱动。
人是不能靠之源!
我们最后希望形成是一个自动化、标准化的流程,这样
的流程不简单被异化,且能保证预期执行结果一致。
3.后期的运维技术
2/16
很多时候大家看到的技术是运维技术,其实恰巧相反对于业务来说,对其高可用
的影响,因此在其中需要依照很多原那么,有一些原那么需要有普适的参照价值。
比方说
效劳降级、过载保护、效劳公共化等等。
这些方法论可否已经融入到研发和运维的架
构设计之中。
业务功能需求优先,而非可运维性优先,可运维性最后就是业务的质量。
4.业务管理
把你的平台的业务能力标准化,你能够变换成我们多个业务指标,比方说质量、
可用性、用户体验、用户满意度、本钱,有了这些业务导向性指标,才能把IT能力
和业务更好的对接起来。
否那么很简单在组织内,形成运营保护共同认识,而非创立价
值部门。
这一点还有一个重要性,就是让保护人员也要足够的认识到,他们的能力直
接和业务相关,需要增强业务敏感度。
在系统运行中间为了保障系统的可用性所采用的策略:
1.故障发生前,成立运维质量仪表盘
我们必然要成立运维数据看板,这个看板的数据并且要在业务、测试和运维人员
对平台的情况达成一致,让大家足够重视这份数据,这样数据便有了推进力。
建议这
个地方的核心数据指标不要太多,因为涉及到多个团队,大家不能够够一致理解,特别
是传到达管理层,太多的指标,简单失去关注的焦点。
通行的做法,就是用可用性来做运维的数据看板。
可用性的计算方法有简单的方
法,也有复杂的方法。
简单的方法就是在监控系统中搞一些探针来模拟用户监控,最
后我们能得出故障的时长和可用性的时间,这样我们能够成立每日、每周、每个月、每
Q的可用性,能够做到分业务、分效劳(更细粒度)等等;复杂的方法在模拟数据的基础
上,能够把事件系统记录的时间数据拿过来作为评估的标准。
其他能够把可用性上升
到质量层面,这个里面涉及到的评估维度(本钱、用户体验、满意度)就更多了,数据
获取的本源也变得更多,有些是来自于客服系统,有些是来自于舆情监控,有些是来
3/16
自于运维容量系统,有些是来自于事件系统等等,但是最后表现的指标就是一个---
质量。
2.故障发生前,设定技术准那么和要求
运维需要和研发成立整体的技术标准和标准要求。
因此从保障系统可用性的角度
来说,我们需要设定一个路线图,最后效劳于这个平台运行的可用性。
比方说从前我
提到的影响系统的因素里面讲到了先做标准化,尔后做公共效劳化、最后效劳无状态
化。
运维必然要把标准化作为核心要务来推进,成立标准化的运维环境,成立标准化
的技术栈,成立标准化的高可用方法论,最后这个业务的可用性必然是有保证的。
3.故障发生时,恢复是第一要务
故障发生的时候,恢复必定是保证系统可用性所必定要时辰记住的。
在故障的当下,定位故障原因是大忌,这经常让故障时长变得不能控,因为会直
接影响MTTR(平均修复时间),影响用户的业务使用。
用一些标准的原那么去隔断故障,
比方说效劳器重启,链路禁用,DNS切换等等。
4.故障发生后即时的排查和复盘问题
每一次故障发生后,运维人需要牵头去复盘故障,方才说了我们恢复是第一要务,
因此故障的根本源因我们可能还不知道,此时就需要运维、测试和研发一起仔细的去
看整个的故障过程,看看终究哪儿有什么问题?
根本上也是从方才说的四个方面来评
估。
不断的审查我们运维的能力和IT的能力,说“故障是运维最好的老师〞的原因
也在于此,它能够不断驱遣我们走向更高的成熟度。
系统可保护性原那么
系统采用集中部署便于集中保护,供应分权分级的权限管理体系,不同样的系统模
块,不同样的任务能够设置不同样的数据操作、统计和监控查察解析权限。
系统采用构件
化设计思想,系统框架与业务逻辑分别,具备开放的系统构造。
4/16
系统功能模块均采用插件式方式架构,易于更正,对某一个功能模块的更正,一
般不影响系统其他功能的正常运行;系统解析、调换更多采用的是配置模式,易于扩
展,新增效劳时对系统的更正较少,仅需调整配置文件参数即可;系统具备方便且可
如期执行、解析结果的业务测试功能。
系统可靠性原那么
系统可靠性指在规定条件下和给准时间内平台能正确运行的概率。
系统可靠性用
以下四个标准来判断:
平台在运行的过程中不为故障所破坏或停止;平台的业务流程
的结果不包括由故障所引起的错误;平台对执行业务的时间不能够高出必然的限度;平
台运行在赞成的网络内。
系统可靠性保障主要表达在以下两个方面:
系统采用增量备份和全备份相结合的方式如期备份重要的系统数据;
系统应拥有优异的并行办理体系,对存取矛盾的竞争拥有有效的仲裁和加锁体系,
充分保证事务办理的完满性,并降低系统I/O开销,提升并发用户盘问和存取的
性能。
系统可扩展性原那么
可扩展性是软件设计的重要的原那么之一,它以增加新功能或更正完满现有功能来
考虑软件的未来成长。
可扩展性是软件拓展系统的能力。
系统采用成熟的框架开发接口效劳和后台管理,前端APP可采用Native和HTML5
代码混杂实现,整体采用分层设计。
支持开闭原那么设计思想,便于系统的灵便配置和
部署;支持插件技术,便于系统纵向延伸和对新技术的接入。
优异的可扩展性设计应该赞成更多的业务功能在必要时能够被插入到合适的位
置中。
这样做的目的的是为了对付未来可能需要进行的更正,而造成代码被过分工程
化地开发。
可扩展性能够经过软件框架来实现:
动向加载的插件、顶端有抽象接口的
5/16
仔细设计的类层次构造、适用的回调函数构造以及功能很有逻辑并且可塑性很强的代
码构造。
3.2.2.Android-SDK目标
实现android客户端接入集成即时通讯基础效劳供应相应的SDK。
供应
android客户端的登录、信息通知、会话、信息、通知、群聊、临时会话谈论组
相关功能接口。
3.2.3.IOS-SDK目标
为实现iOS客户端接入集成即时通讯基础效劳供应相应的SDK。
供应iOS客户
端的登录、信息通知、会话、信息、通知、群聊、临时会话谈论组相关功能接口。
3.2.4.PC-SDK目标
为实现PCH5页面接入集成即时通讯基础效劳供应相应的SDK。
供应PC客户
端的登录、信息通知、会话、信息、通知、群聊、临时会话谈论组相关功能接口。
3.3.系统架构
依照对需求的解析和系统目标的总结,本方案采用面向效劳的系统构造技术
来成立一致的IM即时通讯平台,软件能够分布式部署在效劳器集群上,实现对海量并发通讯的实时转发。
3.3.1.系统架构设计
6/16
系统架构图
系统采用多层系统架构:
分层设计实现“高内聚、低耦合〞,易于控制、易于扩展,
分为数据层、效劳层、接口层、应用层,详细说明以下:
数据层:
供应长远化数据储藏和数据效劳,包括即时通讯信息数据、用户及关系数据、平台基础数据等,使用mysql来进行长远化。
效劳层:
整个平台的核心层,为平台供应即时通讯基础效劳能力,使用SOA
框架来成立系统效劳,使用kakfa来进行信息转发,同时为了提升并发能力,
使用redis来进行数据缓存。
接口层:
向第三方业务应用供应即时通讯基础效劳能力集成客户端SDK接口
〔包括:
android\ios\pc〕和效劳器端SDK接口。
应用层:
为需要集成即时通讯基础效劳能力的第三方应用。
SOA框架
采用SOA架构〔面向效劳架构〕,它能够依照需求经过网络对松弛耦合的粗粒度应
用组件进行分布式部署、组合和使用。
效劳层是SOA的基础,能够直接被应用调用,
从而有效控制系统中与软件代理交互的人为依赖性,能更迅速、更可靠、更具重用性
架构整个业务系统。
7/16
3.3.2.系统软件架构
高可用的架构,高并发信息办理。
使用高性能互联网中间件:
Redis,Kafka,Cassandra,Zookeeper。
搬动信息和搬动场景深度优化,兼顾信息可靠性和效率。
原生搬动端SDK优化,APP圆满集成。
基于XMPP协议及成熟的Mina通讯架构,性能牢固、效率高;
业务逻辑Module基于总线的设计方式,经过插件及总线驱动扩展业务Module;
数据接入采用hibernate长远化架构,能够接入多种主流数据库;
整个系统设计开发基于标准的J2EE技术,使用标准的HTML,JSP,SOAP,JDBC等技术;
支持TCP、UDP、HTTP多种协议;
外面系统接入基于SOA系统架构,具备优异扩展性能。
8/16
3.3.3.信息发送拓扑
3.4.系统功能设计
3.4.1.基础IM效劳能力
注册
要使用IM通讯功能,第一必定注册成为IM平台的用户,因此IM通讯平台供应用户注册功能呢,注册的用户可是IM通讯平台用户,不是属于任何的业务系统用户,因此需要和应用系统用户关系起来,需要接入的应用进行用户关系。
登录
IM通讯的登录功能,就是用户上线功能,IM平台依照用户在线状态进行信息发散。
若是用户登录,即用户上线,那么IM平台才会将信息发送给用户。
因此应用系统使用IM通讯平台需要经过平台供应的登录接口,登录到IM通讯平台,同时平台会为每个用户生成一个会话token,作为通讯凭证。
单聊
点对点聊天,IM平台单聊支持发送文本信息,图片信息,赞成发送附件,附件可
以是图片、一般格式文件、音乐文件、视频文件,还支持地位地址发送。
若是是搬动
9/16
端还支持语音发送,语音聊天以及视频聊天。
群聊
多对多聊天,支持用户和群里的其他用户进行聊天,支持发送文本信息,图片信息,表情信息;赞成发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地理地址发送。
若是是搬动端还支持语音发送,以及语音聊天。
谈论组
特其他群组,临时群会话,用户能够邀请自己的好友进入谈论组进行群聊,创立
谈论组的用户支持删除更正操作,被邀请用户能够退出谈论组,支持群聊的所有聊天
功能。
已发送信息回执
即时通讯信息的发送,当信息发送到对端用户后,供应已发送信息回执体系,确
保即时通讯信息可靠发送到对方。
即时通讯信息
即时通讯信息支持支持发送文本信息,图片信息,赞成发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地理地址发送。
若是是搬动端还支持语音发送,以及语音聊天。
好友管理
好友管理供应对好友的增加,更正基础信息,删除,拉入很名单的功能,同时也
供应对好友申请的赞成、拒绝以及忽略的操作
群组管理
群组管理供应用户对自己群组的新建、更正、解散功能,同时也供应用户找寻群
组,申请入群以及退出群组功能。
10/16
3.4.2.产品功能
注册
该软件供应的注册功能分为两局部注册,一局部是产品自己的业务范围内的用户
注册,一局部是调用IM通讯平台接口注册成为通讯平台用户。
在IM通讯平台注册成
功后,需要将平台返回的用户id与产品业务内的用户进行关系,才能为后续功能提
供效劳。
登录
该软件供应的登录功能分为两局部登录,一局部是产品自己的登录,一局部是当用户在产品登录成功后再调用IM通讯平台接口登录上通讯平台。
用户两局部登录成功后就可以在软件中使用聊天功能。
个人信息管理
用户登录成功后能够进入个人中心对自己的信息进行管理,比方更正昵称,也许更正个人头像,同时也赞成更正个人登录密码。
单聊
软件支持点对点聊天,当用户登录成功后,能够看见自己的好友列表,若是用户想和某位好友聊天只需要点击该好友就可以进入聊天页面。
支持发送文本信息,图片信息,赞成发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地位地址发送。
还支持语音发送,语音聊天以及视频聊天。
群聊
软件支持群聊功能。
当用户登录成功后,能够看见自己的群组列表。
用户能够点击自己参加的群组进入群里面和群的其他成员进行聊天。
群聊支持发送文本信息,图片信息,赞成发送附件,附件能够是图片、一般格式文件、音乐文件、视频文件,还支持地位地址发送。
还支持语音发送,语音聊天。
已发送信息回执
当用户发送信息后,若是接收方在线,那么通讯平台会将信息送到到对方,此时平
台会给发送发发送一条信息已送到信息回执。
若是接收方没在线,那么会将信息送到到
11/16
对方的离线信息队列中,并向发送方发送一条已送到的信息回执。
即时通讯信息
Android客户端发送即时通讯信息支持文字、语音、图片、地理地址、表情信息
的发送和接收,同时也供应发送附件功能。
IOS客户端发送即时通讯信息支持文字、语音、图片、地理地址、表情信息的发
送和接收,同时也供应发送附件功能。
PC客户端发送即时通讯信息支持文字、图片、表情信息的发送和接收,同时也
供应发送附件功能。
搬动端信息传输采用压缩的二进制流,信息传输效率高,搬动弱网络优化,保证搬动网络下信息必达
基层基于长连接技术实现,结合Android和IOS平台的推送能力,支持信息即时推送。
同时供应未读信息提示。
好友管理
好友管理主若是供应用户对自己好友的管理功能。
包括增加好友,删除好友,将好友拉入黑名单,更正好友备注,已经好友申请信息管理功能。
好友增加:
用户能够经过好友号码也许好友昵称来找寻好友,号码找寻是唯一结果,好友昵称是多结果。
用户能够点击增加好友,先对方发送好友申请信息。
删除好友:
若是是搬动端那么在好友列表滑动要删除的好友,就会有删除按钮出现,点击删除按钮就会提示可否删除,点击是将删除好友,点击否取消删除
拉入黑名单:
若是是搬动端那么在好友列表滑动要拉入黑名单的好友,就会有黑名单按钮出现,点击黑名单按钮就会提示可否将好友参加黑名单,点击是将好友拉入黑名单,点击否取消操作。
当好友被拉入黑名单后将不能够接收好友发送的信息。
更正好友:
在好友列表,点击好友,进入好友的详细信息界面,在该界面右上角有设置按钮,点击进入就可以对好友进行备注更正。
好友申请信息:
当适用户提交好友申请时,你将会收到好友申请信息,此时你就可以进行赞成也许拒绝的操作。
12/16
群组管理
群组管理供应用户对自己群组的新建、更正、解散功能,同时也供应用户找寻群组,申请入群以及退出群组功能。
创立群组:
用户能够依照自己需要进行群组的创立,每个用户拥有4个群的
创立权限。
群组更正:
群创立者能够对群名字进行更正。
群组解散:
群创立能够在不需要群时,进行群解散操作。
群组申请:
用户如何想参加群组,能够先经过群名称也许群id进行找寻,当
找寻出来后,用户能够点击申请入群,等待群创立者赞成。
退出群组:
一般用户能够直接点击退出群组功能退出群组,创立者若是想退
出那么需要向将群转让给群里的某位成员,尔后才能退出群组。
3.5.系统运行环境需求
3.5.1.平台硬件需求
系统能力的决定因素主要有两个方面,一个是架构设计,一个是系统硬件能力。
基于本系统的架构设计,我们对系统能力和硬件做了以下评估:
序号
每日爽朗用
效劳器数
效劳器配置
其他
户数
1
10万
5台
3台16核128G,2
数据库效劳器需要配置
SSD,
台16核32G
同时配置足够的储藏空间来
储藏日志
2
20万
7台
5台16核128G,2
数据库效劳器需要配置
SSD,
台16核32G
同时配置足够的储藏空间来
储藏日志
3
50万
9台
7台16核128G,2台数据库效劳器需要配置
SSD,
16核32G
同时配置足够的储藏空间来
储藏日志
4
100万
13台
11台16核128G,2
数据库效劳器需要配置
SSD,
同时配置足够的储藏空间来
13/16
台16核32G
储藏日志
5
200万
23台
21台16核128G,2
数据库效劳器需要配置
SSD,
台16核32G
同时配置足够的储藏空间来
储藏日志
3.5.2.系统安全要求
应用层防范的必然性
信息安全正如木桶理论所描术的那样,WEB应用系统的安全程序其实不取决于我们
在某一个方面安全投入的巨大,而在于我们可否针对纤弱的防范御点采用了有效的措
施。
WEB应用系统的防范需要采用专业的针对应用层。
阻断应用攻击
攻击防范方面要求专业的WEB应用防范设备进行防范,能经过对输入内容的过滤及央求过滤实现对WEB站点的保护。
能有效防范跨站脚本攻击、SQL注入等常有攻击。
同时还需要有富强的可定制功能,针对WEB应用系统站点的特色进行定制安全策略,从而最大程序防范WEB站点。
障蔽安全隐患
为了防范效劳端敏感信息泄露需要经过有效的技术手段对现有网站的敏感信息进行障蔽,如备份文件的下载、敏感数据库下载,管理后台的外网试一试等,其他要求能障蔽编写程序过程中遗留下的程序说明,对效劳出错信息进行有效障蔽。
完满的事件办理
14/16
1.事件检查
针对WEB应用系统,采用WEB应用扫描器进行一次WEB系统全面的OWASPTOP10检测,能够帮助用户充分认识WEB应用存在的安全隐患,成立安全可靠的WEB应用效劳,改进并提升应用系统抗各种WEB应用攻击的能力。
2.事中警告
针对各种攻击行为及异常接见行为,实时告警并经过各种方式通知给安全管理员,便于迅速办理安全事件。
3.事后解析
经过系统内部告警日志,实现对攻击源的定位解析,同时供应各种统计解析,方便掌握整个应用系统的动向安全情况及运行状态。
15/16
软件配置建议
序号
系统软件名称
软件版本
备注
1
操作系统
CentOS764位
2
数据库
MySQL5.7版
3
TOMCAT
tomcat8.0+
4
运行版本
JDK7.0+
16/16
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IM 即时 通信 项目 技术 方案设计