dotCloud open sources its Hipache WebSocket proxy
Platform-as-a-service provider dotCloud has made Hipache, its distributed HTTP and WebSocket proxy, available as open source. Based on the node-http-proxy library, the distributed proxy is designed to handle high volumes of HTTP and WebSocket traffic to large numbers of virtual hosts.
Its developers say that because a number of core tools, such as nginx and HAProxy, used to scale modern web apps don't work with WebSockets, it "required significant engineering effort to release WebSocket-based apps for large audiences in the real world"; Hipache was developed to solve this problem. The proxy solution can be dynamically configured and supports load-balancing across multiple backends.
Hipache can detect when a backend stops responding and, after a configurable amount of time, can temporarily remove it from the load balancing rotation. Additionally, customised HTML error pages can be sent when, for example, a backend times out or a request for an undefined virtual host comes in. SSL connections are also supported by Hipache when provided with a valid SSL private key and certificate.
The San Francisco-based company originally created Hipache when it needed to replace its previous routing layer which was based on a customised nginx deployment. It now uses Hipache as a core part of its network routing infrastructure and has since tested it with tens of thousands of applications hosted on its servers.
Further information about Hipache, including download links and information on how to configure it, can be found on the project's GitHub page. Source code for Hipache is made available under the MIT licence.