# slact/nchan

Fast, horizontally scalable, multiprocess pub/sub queuing server and proxy for HTTP, long-polling, Websockets and EventSource (SSE), powered by Nginx.

Repository: https://github.com/slact/nchan
Canonical: https://ross.abutalabs.com/products/nchan
Homepage: https://nchan.io/
Language: C
License: NOASSERTION
License Family: other
Last push: 2026-06-09T13:46:34+00:00

## Health v2 (maintenance only)
Score: 71/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 86, release rhythm 35, longevity 100
- inputs: {"age_days": 6232, "days_push": 85, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3065, forks 291 (observed 2026-08-28T04:07:41.330991+00:00)

## What it is
Nchan is a scalable pub/sub message server and proxy implemented as an Nginx module, supporting Websocket, EventSource (SSE), long-polling, and other HTTP-based subscribers. It buffers messages in shared memory, on disk, or via Redis, and scales horizontally across Nginx servers using Redis Cluster.

## Use cases
- push real-time updates to browsers over websockets or SSE
- build a pub/sub message broker behind nginx
- fan out messages to thousands of live subscribers
- add long-polling event delivery to an existing HTTP app
- scale realtime messaging across multiple servers with redis
- proxy live event streams between backend services and clients

## When to choose
- you need high-performance realtime pub/sub integrated with Nginx
- you want to support Websocket, SSE, and long-polling clients from one server
- you need horizontal scaling and high availability via Redis Cluster
- you want an HTTP-native RESTful publish API

## When to avoid
- you need a general-purpose message queue like Kafka or RabbitMQ with rich routing semantics
- you don't run Nginx and don't want to compile a C module into it
- you need complex message transformation or consumer-group processing
- you want a managed cloud service rather than self-hosted infrastructure

## Facets
- artifact type: service
- maturity: stable
- function: message-queue, websocket, http-server, caching, middleware
- domain: web-development, backend, microservices
- platform: self-hosted
- tags: nginx-module, pubsub, server-sent-events, long-polling, redis, real-time-messaging, real-time, messaging, linux, web-server, docker

## Member repositories
- slact/nchan (main) score 71

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:41.330991+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-30T07:28:17.593508+00:00, confidence not recorded.
  - readme: https://github.com/slact/nchan (fetched 2026-08-28T04:07:41.330991+00:00, sha e018d594ec6a)
  - homepage: https://nchan.io/ (fetched 2026-08-29T09:43:35.097468+00:00, sha 72440bcbade2)
  - site_page: https://nchan.io/changelog (fetched 2026-08-29T09:43:35.108559+00:00, sha 4bef5444b837)
- Data as of 2026-08-30T08:39:29.467469+00:00.
