WuKongIM Docs

What is WuKongIM?

Learn the channel-oriented model, system responsibilities, and suitable use cases.

WuKongIM is a general-purpose messaging system built around channels. Senders do not select storage or delivery nodes directly. They publish a message to a channel; the cluster locates its Channel leader, commits the message durably, and synchronizes or delivers the committed message to recipients.

The channel model

A channel is the primary unit of message routing and storage. Direct chats, groups, and product-specific streams can all map to channels:

  1. A client or business service connects or calls an API with a user identity.
  2. The message carries a channel ID, channel type, client message number, and application payload.
  3. The cluster routes the channel to its responsible Channel runtime.
  4. The message is committed to the durable log in channel order.
  5. Online recipients receive live delivery; offline or reconnecting devices synchronize committed messages.

Responsibility boundaries

WuKongIM owns the communication foundation, while the application owns product meaning:

  • WuKongIM manages connections, message logs, replication, online routing, membership-backed conversation sync, and delivery.
  • The business service manages accounts, friend or group rules, token issuance, content meaning, and moderation.
  • Client SDKs manage connection lifecycle, local state, presentation, and interaction.

The /user/token endpoint used in the quick start is a demo API that shortens local verification. In production, a trusted business backend should own identity and token flows; do not expose the demo capability directly to public clients.

Good fits

  • Instant messaging, group chat, and real-time communities
  • In-app notifications and customer-service communication
  • IoT telemetry, server commands, and audio/video signaling
  • Live interaction, streaming messages, and AI messaging workflows
  • Self-hosted communication systems that need scale-out and explicit commit boundaries

Cases to evaluate separately

If the requirement is only offline batch processing, a general event bus, or long-term analytical queries, first evaluate whether a queue, stream processor, or analytical database better matches the problem. WuKongIM is optimized for real-time communication among users, devices, and channels.

Next, review Core Capabilities and Use Cases, or start a single-node cluster.

On this page