下载此文档

推送系统实践(一).docx


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
推送系统实践( 一) 最近由于项目需要做一个推送系统,借此机会对 nodejs 和 pomelo 有了一次实践,在此将整个实践过程记录并分享。什么是 pomelo Pomelo 是基于 的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。 Pomelo 不但适用于游戏服务器开发,也可用于开发高实时 Web 应用,它的分布式架构可以使 Pomelo 比普通的实时 Web 框架扩展性更好。更多详情参见/ 为什么选 pomelo 初次接触 pomelo 也是项目关系,当时我们是要做一个实时在线对战游戏,当时选的就是 pomelo ,效果不错。所以在做推送系统的时候,也就把 pomelo 放到技术选型方案中,评估后觉得也比较适合,于是继续使用 pomelo ,下面进入正题。 pomelo 安装 Ubuntu a、安装 nodejs 要求版本> b、到/ 获取源码包的下载地址,下载 nodejs 的 gz 包 wget /dist/- c、解压编译安装 tar zxvf node- cd node- ./configure make sudo make install d、检查是否安装成功#node -v g++ gcc 等 apt-get install build-essential npm 并设置成 http 连接 apt-get update apt-get install npm npm config set strict-ssl false npm config set registry "http:// registry./" npm install pomelo -g 详细安装过程可以参见 http://blog./jonahzheng/article/details/27658985 项目功能介绍主要功能是实现针对移动端的广告实时推送系统,详细需求如下: 1. 用户状态维护 2. 在线用户实时推送 3. 对用户进行分类并打 tag 。 4. 挖掘用户特征及 tag 5. 根据 tag 区分用户并制定推送策略,推送相应的广告。举个例子解释一下,比如有如下场景: 两个用户 A和B ,其中 A 为男性, B 为女性。- AB 为用户, 性别为 tag 广告库里面有两个广告 C和D,C 是汽车类的, D 是化妆品类广告。- 广告 C 是包段定向投放给男性, D 是全网投放( 无论男女都投放)- 推广策略 T ag–从任意维度给用户打的一个标签。比如性别,年龄,地域等等策略–广告检索的方法。说白了就是如何从一堆的广告到当中根据什么样的算法去选取广告并进行推送。那这里要实现的就是这样一个系统: 能够通过离线的数据挖掘对用户进行分类,从而打上不同的 tag , 再将广告通过不同的推广策略推广给用户一个平台。其中第 4点, 挖掘用户特征不在本文范围内, 本系统着重在于实现一个可扩展的实时在线推送平台。整体架构关于如何实现可扩展的分布式系统及系统架构方面, 比如在线用户登录及状态维护, 如何实现分布式系统方面属于 pomelo 范畴,本文也不在重述,有兴趣的童鞋可以查看 pomelo 的官方文档,本文着重分享的是如何设计和实现业务系统架构。从以上的例子分析其实可以看出,这里面其实有四个方面:用户, tag ,策略和广告。用户与 tag 是多对一的关系,一个用户可以有多个 tag 。 tag 与策略是多对多的关系,一个策略可以应用在多个 tag ;一个 tag 也可以存在多个策略 tag 通过 pomelo 的 channel 来实现,一个 channel 代表一个 tag 。 ponent 来实现,ponent 代表一个策略。代码结构如下: ponents dao mysql domain monitor servers area connector gate 其中, components 目录下面存放的是推广策略代码,一个推广策略是一个文件 dao 目录存放数据存取, 比如 mysql domain 目录存放各种抽象类 monitor 目录存放监控代码 servers 目录存放的是三种类型的 server : a. area 负责逻辑应用 b. connector 负责用户连接维护 c. gate 负责负载均衡下面直接上代码。负载均衡代码, gate/handler/ var Code = require('../../../../../shared/code'); var di

推送系统实践(一) 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yixingmaoj
  • 文件大小0 KB
  • 时间2016-07-10