Skip to content
This repository was archived by the owner on Aug 26, 2021. It is now read-only.
sufferingtrout edited this page Jun 4, 2014 · 10 revisions

Janus is a Java-based, client-side load balancing library which supports synchronous/asynchronous HTTP and stateful/stateless WebSockets.

This means that your application (the client), rather than communicating with a cluster of server instances through a VIP or load balancer server, will instead be responsible for determining which server instances are available and which to send requests to.

Client-side load balancing in Janus is broken down into 2 main concepts:

  • service discovery - finding out which service instances (servers) are available to receive traffic from clients.
  • load balancing - of the discovered service instances, which instance is best to receive a given request or message.

You an use one of the several included service discovery and load balancing strategies, or you can implement and use your own!

You can use Janus a couple different ways:

  • Use the provided HTTP/WebSocket clients.

Janus includes a synchronous HTTP client, an asynchronous HTTP client, a state-full WebSocket client and a state-less WebSocket client. These clients are all integrated with Janus's discovery and load balancing functionality and will send requests/message to the appropriately selected servers.

  • Use your own client and use Janus for service discovery and load balancing

In the scenario where you can't or don't want to use Janus's native clients, you can use Janus's service discovery and load balancing functionality directly.

Visit the Getting Started page to learn how you can start using Janus.

Clone this wiki locally