diff --git a/README.md b/README.md index 4ff765ff..454fa9e2 100644 --- a/README.md +++ b/README.md @@ -788,6 +788,10 @@ Pinterest, for example, could have the following microservices: user profile, fo Systems such as [Consul](https://www.consul.io/docs/index.html), [Etcd](https://coreos.com/etcd/docs/latest), and [Zookeeper](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper) can help services find each other by keeping track of registered names, addresses, and ports. [Health checks](https://www.consul.io/intro/getting-started/checks.html) help verify service integrity and are often done using an [HTTP](#hypertext-transfer-protocol-http) endpoint. Both Consul and Etcd have a built in [key-value store](#key-value-store) that can be useful for storing config values and other shared data. +### Batch Processing vs Stream Processing +For most systems, I/O is the most expensive and time consuming option. This [link](https://dzone.com/articles/java-nio-vs-io) provides detailed analysis on when to use batch vs stream processing. It also explains how to architect your application like multi-threaded chat applications. + + ### Disadvantage(s): application layer * Adding an application layer with loosely coupled services requires a different approach from an architectural, operations, and process viewpoint (vs a monolithic system).