6. Dominik Gruber ā¢ @the_domTwitter Stack
Finagle
āFinagle is an extensible RPC system for the
JVM, used to construct high-concurrency
servers. Finagle implements uniform client
and server APIs for several protocols, and is
designed for high performance and
concurrency. Most of Finagleās code is
protocol agnostic, simplifying the
implementation of new protocols.ā
12. Dominik Gruber ā¢ @the_domTwitter Stack
Ostrich
ā¢ A stats collector & reporter
ā¢ Collect runtime statistics (counters, gauges, metrics,
and labels)
ā¢ Report those statistics through a simple web
interface or into log ļ¬les
ā¢ Similar to MetricsāØ
https://github.com/dropwizard/metrics
14. Dominik Gruber ā¢ @the_domTwitter Stack
Zipkin
āZipkin is a distributed tracing system that
helps us gather timing data for all the
disparate services at Twitter. It manages both
the collection and lookup of this data through
a Collector and a Query service.ā
17. Dominik Gruber ā¢ @the_domTwitter Stack
Zipkin
ā¢ āScribeā to transport traces to Zipkin and Hadoop
ā¢ Data stored in either Cassandra, Redis, HBase,
MySQL, PostgreSQL, SQLite, or H2
19. Dominik Gruber ā¢ @the_domTwitter Stack
Iago
ā¢ A load generator that replays production or synthetic
traļ¬c
ā¢ Iago supports arbitrarily high rates of traļ¬c via built-
in support for creating cluster
20. Dominik Gruber ā¢ @the_domTwitter Stack
Protocols
ā¢ HTTP
ā¢ Thrift
ā¢ Memcache
ā¢ Kestrel (A queueing system from Twitter)
ā¢ UDP
23. Dominik Gruber ā¢ @the_domTwitter Stack
Features
ā¢ Fully Async using Futures
ā¢ Mustache Templates
ā¢ Detailed Metrics (p99,p999, etc)
ā¢ Proļ¬le/Debug over HTTP
ā¢ SSL/TLS Support
ā¢ Deploys with a single jar