# goim **Repository Path**: youkelike/goim ## Basic Information - **Project Name**: goim - **Description**: 魔改开源项目goim - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-06-23 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 说明 - 项目 fork 自 github.com/Terry-Mao/goim - 把对 discovery 的依赖改为依赖 etcd ## 跑起来 ### 启动 kafka ```sh docker run -d \ --name kafka \ -p 9092:9092 \ -e KAFKA_NODE_ID=1 \ -e KAFKA_PROCESS_ROLES=broker,controller \ -e KAFKA_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \ -e KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER \ -e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \ -e KAFKA_CONTROLLER_QUORUM_VOTERS=1@localhost:9093 \ -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \ -e KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1 \ -e KAFKA_TRANSACTION_STATE_LOG_MIN_ISR=1 \ -e KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0 \ -e KAFKA_NUM_PARTITIONS=3 \ apache/kafka:3.7.2 ``` ### 启动 redis ```sh docker run --name redis -d -p 6379:6379 redis:7.2.5 ``` ### 启动 etcd ```sh docker run --name etcd -d -p 2379:2379 -e ALLOW_NONE_AUTHENTICATION=yes -e TZ=Asia/Shanghai bitnami/etcd:3.5 ``` ### 编译后分别启动 logic、comet、job ```sh make build target/logic -conf=target/logic.toml -region=sh -zone=sh001 -deploy.env=dev -weight=10 target/comet -conf=target/comet.toml -region=sh -zone=sh001 -deploy.env=dev -weight=10 -debug=true target/job -conf=target/job.toml -region=sh -zone=sh001 -deploy.env=dev ``` ### 测试 websocket ```sh cd examples/javascript/ go run main.go 浏览器打开:http://localhost:1999/ 测试推送: curl -d "mid message" "http://localhost:3111/goim/push/mids?operation=1000&mids=123" curl -d "room message" "http://localhost:3111/goim/push/room?operation=1000&type=live&room=1000" curl -d "broadcast message" "http://localhost:3111/goim/push/all?operation=1000" ```