This commit is contained in:
Kunal Bansal 2023-04-13 08:31:29 +08:00 committed by GitHub
commit c59ce6ff39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 0 deletions

View File

@ -792,6 +792,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).