-Non Blocking IO For Microservices This presentation explains non blocking io technology and microservices architecture. We will be looking at details of io and non blocking io then we will investigate microservices as well. Although these techologies are indepented from each other some software experts believe that non blocking io fits perfectly for microservices. They suggest to make io by non blocking way for microservice architectures. We will also investigate the details of this suggestion. -Non Blocking IO We have 5 alternatives to make io calls. We investigate three of them and we also claim that making io calls in blocking way is relatively inefficient since threads are kept allocated while the system is waiting for the response of a particular request. Instead of this approach we are able to deallocate threads while the system is waiting for the response. This is called non blocking or asynchronous io. Actually making io call is a feature of kernel. And we have these features for several decades. But nowadays we observe some frameworks or application servers are designed to make non blocking io calls more efficiently. These frameworks are called evented servers and they run single thread per cpu core. Non blocking io calls are highly recommended for the systems which make io calls very often. An example for these kind of systems is microservices. Microservices consist of many different services in a system and these services are generally identified by their business functions. We will analyse microservices in following topic. -Microservices Microservices are result of service oriented architecture. It suggests to create independent modules which are identified by their business functions instead of a giant monolithic system. Each module communicates with each other via services. It applies single responsibility principle because each module should define its own functionality. Since creating modules makes a system more scalable it also makes the system easy to test. We can also easily replace and deploy those modules. Moreover each module can grow independently which means that we can use different languages, platforms or frameworks for each module. -Combining non blocking io and microservices Each module in microservices communicates with each other via service calls. So we will need more io calls in microservice architecture than monolithic architecture. This fact motivates us to make io calls as efficient as possible. We already discussed that blocking io causes inefficiency and it wastes threads during io calls. Moreover in systems that we need io calls very often, we may run out of thread and this may lets crucial problems. To alleviate these problems we offer non blocking io calls for microservice architecture.