Reactive Programming is the darling of 2014. Everyone seems to have a Reactive flavor. At this NetflixOSS meetup, we will detail the libraries that form the core of Netflix’s infrastructure, and demonstrate the enhancements we have added to support our focus on an asynchronous/reactive programming model.
The meetup will also include speakers from other companies who will describe their efforts in the Reactive space. The featured presentations will begin at 7:00pm, and we will have time for networking with appetizers following the presentations as well.
The meetup is free and open to the public. Note that seating is limited, and this event will likely fill up early.
Netflix’s RxJava and friends: RxNetty, Ribbon 2.0, and Karyon 2.0
Reactive programming (using RxJava) has been powering Netflix's edge services for close to 2 years. Amongst other advantages, it has also shown us great benefit in terms of decoupling the processing model underneath (synchronous/asynchronous) from the business logic.
However, our Inter Process Communication (IPC) stack has historically been based on a synchronous programming model thus limiting vertical scalability.
We have since invested time and effort in evaluating, benchmarking and strengthening our IPC stack with a focus on asynchronous/reactive programming model.
We are pleased to offer these improvements as part of our NetflixOSS offering.
The following libraries forms the core of this infrastructure:
RxJava 1.0: library for reactive programming on the JVM
RxNetty 1.0: RxNetty provides reactive extensions to netty ( http://netty.io/ ) and is our networking kernel powering both karyon 2.0 and ribbon 2.0.
Ribbon 2.0: Ribbon, Netflix's client IPC library, has been revamped to use RxNetty providing a new API with seamless Hystrix integration, reactive load balancing, much easier interaction model and multiple protocol support.
Karyon 2.0: Karyon, Netflix' server IPC library, has been revamped to use RxNetty providing a richer set of runtime features, custom extensions and multiple protocol support.