服务器集群信息cd,一个golang推送服务器集群:gopush-cluster

Terry-Mao/gopush-cluster 是一个支持集群的comet服务(支持websocket,和tcp协议)。

特性

轻量级

高性能

纯Golang实现

支持消息过期

支持离线消息存储

支持单个以及多个私信推送

支持单个Key多个订阅者(可限制订阅者最大人数)

心跳支持(应用心跳和tcp keepalive)

支持安全验证(未授权用户不能订阅)

多协议支持(websocket,tcp)

详细的统计信息

可拓扑的架构(支持增加和删除comet节点,web节点,message节点)

利用Zookeeper支持故障转移

安装(版本1.0.5)

一、安装依赖

二、搭建zookeeper

1.新建目录

2.下载zookeeper,推荐下载3.4.5或更高版本

3.启动zookeeper(zookeeper的集群配置在这里不做详细介绍,如果有多台机器,建议做集群)

三、搭建redis

如果如下报错,则安装tcl8.5(参考附资料2)

四、安装git工具(如果已安装则可跳过此步)

参考:git

$yum -y install git

五、搭建golang环境

1.下载源码(根据自己的系统下载对应的安装包)

2.配置GO环境变量 (这里我加在/etc/profile.d/golang.sh)

六、部署gopush-cluster

1.下载gopush-cluster及依赖包

$./dependencies.sh

如果提示如下,说明需要安装谷歌的hg工具(安装mercurial,参考附资料1)

2.安装message、comet、web模块(配置文件请依据实际机器环境配置)

到此所有的环境都搭建完成!

七、启动gopush-cluster

八、测试

1.推送单个私信(例:消息过期时间为expire=600秒)

成功返回:{"ret":0}

2.批量推送私信

成功返回:{"data":{"fk":["t1","t2"]},"ret":0}

字段m是消息体,k是要批量推送的订阅key,每个key用,分割。

3.获取离线消息接口

在浏览器中打开:

http://localhost:8090/1/msg/get?k=Terry-Mao&m=0

成功返回:

4.获取节点接口

在浏览器中打开:

http://localhost:8090/1/server/get?k=Terry-Mao&p=2

成功返回:

九、附资料

1.下载安装hg

如果安装提示找不到文件‘Python.h’ 则需要安装 python-devel

$yum -y install python-devel

如果报错:couldn`t find libraries,则添加环境变量

$exportPYTHONPATH=/usr/local/lib64/python2.6/site-packages

2.安装tcl8.5

配置

web节点的配置文件示例:

comet节点的配置文件示例:

message节点的配置文件示例:

例子

文档

web节点相关的文档:

内部协议主要针对内部管理如推送消息、管理comet节点等。

客户端协议主要针对客户端使用,如获取节点、获取离线消息等。

comet节点相关的文档:

客户端协议主要针对客户端连接comet节点的协议说明。

内部RPC协议主要针对内部RPC接口使用的说明。

message节点的相关文档:

内部RPC协议主要针对内部RPC接口的使用说明。

架构

266b64961f4c4b74cc91af51308dbec1.png

有疑问加站长微信联系(非本文作者)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值