~titusx/nginx/module-http-push

« back to all changes in this revision

Viewing changes to README.md

  • Committer: Leo P
  • Date: 2015-12-01 19:18:43 UTC
  • Revision ID: git-v1:b78dafb5f0f150df31127f764cc51e6e0c595685
package link?..

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
![NCHAN](https://raw.githubusercontent.com/slact/nchan/master/nchan_logo.png)
2
2
 
3
 
Nchan is a scalable, flexible pub/sub server for the modern web, built on top of the Nginx web server. It can be configured as a standalone server, or as a shim between your application and tens, thousands, or millions of live subscribers. It can buffer messages in memory, on-disk, or via Redis. All connections are handled asynchronously and distributed among any number of worker processes. It can also scale to many nginx server instances with Redis.
 
3
Nchan is a scalable, flexible pub/sub server for the modern web, built as a module for the Nginx web server. It can be configured as a standalone server, or as a shim between your application and tens, thousands, or millions of live subscribers. It can buffer messages in memory, on-disk, or via Redis. All connections are handled asynchronously and distributed among any number of worker processes. It can also scale to many nginx server instances with Redis.
4
4
 
5
5
Messages are published to channels with HTTP POST requests and websockets, and subscribed also through websockets, long-polling, EventSource (SSE), or old-fashioned interval polling. Any location can be a subscriber endpoint for up to 4 channels. Each subscriber can be optionally authenticated via a custom application url, and an events meta channel is available for debugging.
6
6
 
7
7
## Status and History
8
8
 
9
 
**This document is being actively developed.**
10
 
 
11
9
The first iteration of Nchan was written in 2009-2010 as the Nginx HTTP Push Module. It was vastly refactored in 2014-2015, and here we are today. The present release is in the **testing** phase. The core features and old functionality are thoroughly tested and stable. Some of the new functionality, specifically *redis storage and channel events are still experimental* and may be a bit buggy, and the rest is somewhere in between.
12
10
 
13
11
Nchan is already very fast (parsing regular expressions within nginx uses more CPU cycles than all of the nchan code), but there is also a lot of room left for improvement. This release focuses on *correctness* and *stability*, with further optimizations (like zero-copy message publishing) planned for later.
17
15
## Getting Started
18
16
 
19
17
### Download
20
 
For now, grab the code from github.
 
18
##### Pre-built packages
 
19
A source package is available for [arch linux](https://archlinux.org): [nginx-nchan-git](https://aur.archlinux.org/packages/nginx-nchan-git/). Debian package coming soon.
 
20
 
21
21
 
22
22
### Build and Install
23
23
For now, build a recent Nginx version with