GOIM——把GOIM源码跑起来——过程记录

一、初次安装过程

1、环境准备

    go开发环境    https://go.dev/dl/

    java8开发环境

    本文所用环境  MacBook-Pro

 

2、Terry-Mao/goim 是一个支持集群的im及实时推送服务。

    GOIM源码地址  https://github.com/Terry-Mao/goim

    进入goim目录,编译、启动

cd goim/
make build make run

  少了依赖kafka、discovery启不来;

 

3、下载、安装 kafka

    https://www.apache.org/dyn/closer.cgi?path=/kafka/3.2.0/kafka_2.13-3.2.0.tgz

tar -zxvf kafka_2.13-3.2.0.tgz
cd kafka_2.13-3.2.0

启动ZooKeeper
bin/zookeeper-server-start.sh config/zookeeper.properties

启动kafka
bin/kafka-server-start.sh config/server.properties
创建测试topic
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

相看topic列表
bin/kafka-topics.sh --list --bootstrap-server localhost:9092

 

4、下载、安装 discovery

    https://github.com/bilibili/discovery

    mac下编不过, 报错, warning: 'TARGET_OS_MAC' is not defined, evaluates to 0 [-Wundef-prefix=TARGET_OS_]

    改用win10下编 discovery

cd cmd/discovery
go build
./discovery.exe -conf discovery.toml

    把discovery.toml中的ip由127.0.0.1改为所在机器的ip

 

5、再次启动 gomi, comet logic job依次被discovery发现,表示启动成功;

 

6、测试

    启动网页端   go run examples/javascript/main.go 

    进入 http://127.0.0.1:1999/examples/javascript/ , 如图,表示成功

    

    在控制台发送测试消息,观察网页端消息显示

curl -d 'mid message' 'http://127.0.0.1:3111/goim/push/mids?operation=1000&mids=123'

curl -d 'room message' 'http://127.0.0.1:3111/goim/push/room?operation=1000&type=live&room=1000'

curl -d 'broadcast message' 'http://127.0.0.1:3111/goim/push/all?operation=1000'

 

二、原理学习理解

1、架构图

 

 

 

 
posted @ 2022-08-01 13:42  会飞的斧头  阅读(1303)  评论(0编辑  收藏  举报