# Terry-Mao/goim

goim

Repository: https://github.com/Terry-Mao/goim
Canonical: https://ross.abutalabs.com/products/goim
Homepage: https://goim.io/
Language: Go
License: MIT
License Family: permissive
Last push: 2023-05-05T02:28:56+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 4143, "days_push": 1217, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7372, forks 1791 (observed 2026-08-28T04:09:58.569505+00:00)

## What it is
goim is a high-performance instant messaging (IM) push server written in pure Go, supporting WebSocket, TCP, and HTTP long-polling protocols. It uses a scalable comet/logic/job architecture with Kafka-based asynchronous message pushing, supporting single push, multi-push, and broadcast to millions of concurrent connections.

## Use cases
- build a real-time chat server backend
- push notifications to millions of connected clients
- implement websocket messaging at scale
- broadcast live messages to many subscribers
- self-host an instant messaging push service
- add real-time messaging to a mobile app

## When to choose
- you need a proven, benchmarked Go IM server handling millions of concurrent connections
- you want multi-protocol support (WebSocket, TCP, HTTP long-polling) out of the box
- you need scalable horizontal architecture with Kafka-based async push
- you want battle-tested code originating from Bilibili's infrastructure

## When to avoid
- you need a full-featured chat product with UI, history, and group management - goim is a push layer only
- you want a simple small-scale websocket server without distributed complexity
- you prefer not to operate Kafka and service discovery dependencies
- you need active community support - development has slowed with the last release in 2023

## Facets
- artifact type: service
- maturity: maintenance
- function: websocket, http-server, message-queue, auth, rpc
- domain: backend, microservices
- platform: go, self-hosted
- tags: im-server, push-notifications, long-polling, kafka, bilibili, high-concurrency, chat-backend, messaging, real-time, linux, docker

## Member repositories
- Terry-Mao/goim (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:58.569505+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:38:23.347335+00:00, confidence not recorded.
  - readme: https://github.com/Terry-Mao/goim (fetched 2026-08-28T04:09:58.569505+00:00, sha 24ea14a8e571)
- Data as of 2026-08-30T08:39:29.467469+00:00.
