im大型分布式实时计费服务器系统架构2.0

9 篇文章 1 订阅
5 篇文章 0 订阅

整个创业团队后台就我一个设计,架构,和开发.一路上很辛苦,因为遇到的问题很多很多,并不是想象的那么简单.本来2.0想用go语言开发的,简单,又快,又支持热更新.处理速度和c++差不多,但灵活度没有c++高,没有那么多特性.设计一个复杂的Im系统,有点不合适.然后我又用回了c++,本人还是热衷于c++,我使用很多语言,都没有c++的灵活,好用.

感觉qt的类库非常强大,还有它的机制,非常容易扩展,所以还是继续qt+epoll模型.


我重新设计了以前1.0服务器不足之处,整个服务器性能提升到将近20倍左右,并支持动态扩容,容易维护和升级.能够分布到全球不同地方,包扣一套运维系统的架构,能够实现方便的管理.

我们服务器系统业务逻辑非常复杂,超过了腾讯的业务逻辑,对于一般的IM软件只需要发送消息到目标客户端就可以了,而我们这套系统需要对视频时间和每条消息进行实时计费,如果接受者无法在这段时间内回复消息就得重新转发到其他客户端,一直到此条消息有人回复或者生命周期结束.并且支持消息类型的过滤,消息发送的算法优化.保证数据的安全性和计费的准确性,所有计算全部都是由服务器来承担的

客户端能够支持消息预约,消息条件的过滤,消息的生命周期,当前用户的状态.离线消息,推送消息,电子邮件的通知,数据的校验,充值的反馈

,快速拉取个人信息和记录.


1.增加了数据同步服务器,在整个集群里面只存在一个用户实例,个人数据信息的实时同步.

2.数据库采用redits+msyql集群组合,从以前单台数据库处理速度升级到 4000+/s升级到70000+/s

3.离线消息系统独立,离线消息系统从以前和业务服务器分离开来了,成为一条独立的系统和apns推送集群衔接在一起了,这样能够更加快速进行离线推送到用户移动端上.

4.独立的apns轮询推送集群,对于移动端用户来说,大多数用户都是待机状态,当每秒要推送上千或者上万,单台apns推送服务器根本就没法支撑,所以设计了apns轮询推送机制,能够减轻服务器的负载,并且快速进行推送

5.充值服务器实时响应,服务器不停的会对大量用户进行实时计费,考虑到大量充值事件响应,独立到一台服务器上,paypal的ipns通知事件,能够立刻更新当前用户的账户金额.

6.状态监测服务器,能够监测当前业务服务器的负载状态,并实时更新和发送到负载最小的业务服务器给客户端登陆

7.数据验证服务器,对用户登入信息进行验证,并通知到需要的登入的业务服务器,防止用户非法登入.

8.消息管理服务器,对消息转发到几十个相应的接收者上,生命周期的计算,消息的计费,视频消息的实时计费,无人响应的转发规则,预约消息的转发规则

9.后台服务器管理端,能否对不同类型的服务端进行配置和设定,每条服务端日志的记录.

10.web后台管理系统的设计,对用户的信息进行管理和操作.金额的统计,资金流的发放.

11.当然也有一套强大监控系统,服务端监控和服务器监控平台,服务器监控平台用的是监控宝,服务端用的自己开发的.


服务器架构图:


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
电信IP计费系统是电信行业出租IP服务器业务计费环节必须的企业级应用软件,在电信行业得到广泛应用。多年来电信IP计费系统在实施及维护的基础上,吸收国外计费产品的先进理念与架构,结合国内各电信运营商实际生产管理需要,推出“理想完全自主开发及基于通用的商用软件包进行开发”两种成熟的电信计费系统解决方案,系统全面支持包括语音,信息服务在内的各类电信业务。提供包括标准资费,营销优惠,个性化合同优惠在内的各类资费模式的计费及账务处理功能。在电信运营系统中,电信计费系统是主要的支撑系统,占有重要地位。计费系统有效、安全地运行,在很大程度上影响着电信运营系统本身的运行效率和信誉。计费系统历来都是电信运营和管理部门重点建设和发展的系统之一。而J2EE(Java2PlatformEnterpriseEdition)应用以其稳定的性能、良好的开放性及严格的安全性,深受企业应用开发者的青睐。实际上,对于信息化要求较高的行业,如银行、电信、证券及电子商务等行业,都会选择使用J2EE作为企业的信息平台。对于一个企业而言,选择J2EE构建信息化平台,更体现了一种长远的规划:企业的信息化是不断整合的过程,在未来的日子里,经常会有不同平台、不同系统的异构系统需要整合。J2EE应用提供的跨平台性、开放性及各种远程访问的技术,为异构系统的良好整合提供了保证。 本论文对软件架构进行了研究,论述了J2EE平台在软件开发中的特点和优势,并且对J2EE平台中常用的技术和开发模式进行介绍。本系统不是基于EJB的J2EE应用的开发,因为EJB应用的开发周期过长,且必须运行在J2EE容器中,而是利用轻量级J2EE应用,完全可以运行在Web容器中,无需EJB容器的支持,但其应用的稳定性及效果都可以得到保证。基于以上理论研究,探讨了利用J2EE进行架构设计时的几个关键问题,并且结合电信运营计费系统的业务需求,设计和开发了一个基于J2EE架构的电信运营计费系统,提供了一个中小型企业级开发的典范。在此基础上,利用TomcatWebServer开发环境,实现了计费系统前台和后台业务功能,并对系统性能进行了测试。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值