Multiplexed Services in Finagle

Apache Thrift is a pretty good RPC library.  Methods compose a service, and the service is hosted on a raw TCP port. Even a large implementation with a hundred methods will perform effortlessly, but for organizational purposes you’ll want to group calls together into separate services. The standard thrift protocols require that each service retain exclusive use to its own TCP port, creating a firewall maintenance nightmare.

Enter service multiplexing: the ability to run all services on a single port. Continue reading

Ostrich. Not just for stats, also for documentation.

Ostrich is a stats collector and reporter created by Twitter, and it is a welcome addition to any Finagle (Apache Thrift) implementation.  At its core it uses an extremely lightweight com.sun.net.httpserver.HttpServer to handle JSON and HTML requests.

Consider using the built in Ostrich stats server to host your Thrift API documentation. Continue reading