A long time has passed since single-threaded applications. Nowadays we have powerful production servers or even clusters with hundreds of CPU and terabytes of RAM, on top of it there are thousands of threads that processing clients' requests. But imagine the clients' throng in front of your gateway, and you pool and queue are full of incoming requests - what shall you do? How can we process the large number of requests and do not hang waiting for response of slow provider? So we will try to review basic strategies. Then, we will dive into RxJava and will try not to break it by our Observables. And lastly, i will try to drop a hint about next steps on the way to reactive microservices.
Maxim Gorelikov, Alpha-laboratory
For a long time Maxim has been working for Hosting community — he was the lead of billing systems team there. He went through the sadness and joy of default stack of Spring/Hibernate/Oracle. A year ago, a good job offer with unusual stack enticed Maxim into Alfa Laboratory. Currently, Maxim is developing middle-tier for mobile apps. He is the active user of the strong mixture of Spring Boot, Netflix stack, and reactive libraries. Besides he is experimenting with infrastructure and DevOps practices.