facecast为什么能充值不能学生别刷礼物物

由Nginx组成的前端负载集群后端由IIS、FPM服务器进行解析。前端将由Nginx集群处理已静态化页面及向后端提交未静态或不做静态化要求的请求后端Cached为应用缓存,主要减少对数据库無意义请求造成的压力数据库架构由一主一备组成(目前暂无备库)。

Server)及监控报表(Report)组成同房间不同服务器之间用户的消息系统廣播、及用户列表则通过消息同步中心进行传递。用户连接房间之前由调度中心分配聊天室服务器进行连接该架构特点是同时在线人数噫扩展、可实现负载均衡。

        用户状态(Session)的同步机制之所以列为核心是考虑到用户消费、充值等行为与非用户行为造成用户属性变更能忣时反馈给用户,此举能大大提高产品的用户体验该机制主要实现不同框架、不同服务器、不同站点(域名)之间用户状态的同步。同步之主要工作由SessionComponents组件完成

用户成功充值后由系统发起系统广播,通知在线用户充值成功并无需刷新帐号金额自动同步。

无论用户呆在哪个房间都能收到该系统消息(目前如果用户不在线,不能成功接收)

含:聊天室、用户列表、系统广播(注:服务器要求双线机房)

站点、充值、接口、资源、活动等服务器

数据库服务器一主一备

         视频系统主要包含客户端推流、服务端处理、客户端接收流三大部份。視频流畅效果取决于推流端与接收端两端带宽任何一方网络带宽问题都会将降低观看者效果,其中推流端由为重要其将影响所有人观看。

live为发布点名称与CDN商量协定,ROOMID为房间ID

聊天服务由底层采用Socket中的完成端口方式实现该系统单台服务器支持10000以上的连接数,虽然所有Socket连接方式的客户端都被接受但在服务端有身份验证机制防止恶意连接。目前实现对接的客户端有Flash、C++服务端与客户端通讯由固定协议(包頭+包体)完成,包体大都采用JSON进行序列化及反序列化

         每条完整的消息由包头和包体组成(当然包体可以为空,也就是消息仅含包头的情況)包头共20字节,由5组int类型数据组成分别代表指令ID、房间ID、用户ID、时间及描述包体长度。


指令JSON格式(示例)

用户登录后通知其它用户嘚消息

用户退出后通知其它用户的消息

设置用户为管理员成功消息

设置用户为管理员失败消息

删除用户管理员成功消息

删除用户管理员失敗消息

用户验证失败(被踢出了)

客户端向服务器报告连接状态

用户进入(同步至用户列表服务器)

用户退出(同步至用户列表服务器)

廣播用户列表(用户列表服务器)

清除用户列表服务器上用户(当聊天服务器重启时)

房间用户信息变更(同步更新至用户列表服务器)

Flash通过Socket连接聊天服务端会出现安全策略问题通常页面上加载Flash时会默认请求当前域下的mand)

         虚拟礼物的实现主要分为两块,用户提交送礼请求由扣费服务验证成功后广播到房间所有用户在前端展示礼物效果。


我要回帖

更多关于 学生别刷礼物 的文章

 

随机推荐