项目作者: TapasTech

项目描述 :
基于golang 和 redis pubsub 实现的 sever sent events (sse)服务器
高级语言: Go
项目地址: git://github.com/TapasTech/MessageBox.git
创建时间: 2016-07-19T09:02:28Z
项目社区:https://github.com/TapasTech/MessageBox

开源协议:

下载


MessageBox

基于golang 和 reids pubsub 实现的sever sent events 服务器,可以用来对接任意平台作为消息推送

Usage

There is one route to listen to message published:

  • GET /messagebox

port default: 9977

1. need to set four environments

  1. REDISADDR=127.0.0.1:6379 // 配置的redis server 地址
  2. REDISDB=0 // 配置的redis DB

2. html 5 client example

  1. var sse = new EventSource("http://localhost:9977/messagebox");
  2. sse.onmessage = function(event) {
  3. console.log(event.data);
  4. document.getElementById("result").innerHTML+=event.data + "<br>";
  5. }
  6. sse.onerror = function(event) {
  7. console.log(event);

How to dockerize this service

1. 为了得到小的image,我们build outside dockerfile

注意编译的系统应选择cross-linux 64,以适应alpine docker image base

  1. go build -o MessageBox

2. build docker

  1. docker build -t lzhao/messagebox

3. start up service

利用docker-compose启动服务

  1. docker-compose up -f docker-compose.yml -d --force-recreate --remove-orphans