Erik is the Vice President of Architecture for Urban Airship, the leading mobile engagement platform in the world. He is responsible for the throughput, latency and overall systems design for one of the busiest APIs in the world, accessed by over one billion mobile application installations and processing over 30 thousand API requests per second. Erik has a background in database design and distributed systems heralding back to the good ole' days of CORBA. He worked on one of the first Oracle RAC deployments on a distributed file system and has advised or written several of the most high traffic HTTP systems in the world. Prior to Urban Airship, he was a Principal Engineer at Jive Software and has advised companies in a variety of industries including Wall Street institutions, oil and gas companies and high profile retailers.
With support for asynchronous mechanisms such as epoll on Linux, the JVM is a compelling platform for networking applications, striking a good balance between ease of programming and performance. This talk will cover detailed approaches for achieving high throughput and low latency when performing network I/O on the JVM. Treatment will be given to different frameworks for JVM languages including Java (Netty), Scala (Akka) and Clojure (Aleph), synchronous vs. asynchronous I/O and when to use which, as well as other techniques for optimizing throughput and lowering latency. Specific topics will be drawn from practical application building large scale, high throughput messaging systems dealing with millions of mobile devices every second.