服务发现:
服务注册和发现不是一个新的概念,你在之前的实际项目中也一定了解过,只是你可能没怎么注意罢了。
比如说,你知道 Nginx 是一个反向代理组件,那么 Nginx 需要知道应用服务器的地址是什么,这样才能 够将流量透传到应用服务器上,这就是服务发现的过程。那么 Nginx 是怎么实现的呢?它是把应用服务器 的地址配置在了文件中。这会存在如下几个问题:
首先在紧急扩容的时候,就需要修改客户端配置后,重启所有的客户端进程,操作时间比较长;
其次,一旦某一个服务器出现故障时,也需要修改所有客户端配置后重启,
无法快速修复,更无法做到自动恢复;
最后,RPC 服务端上线无法做到提前摘除流量,这样在重启服务端的时候,客户端发往被重启
服务端的请求还没有返回,会造成慢请求甚至请求失败。
注册中心的基本功能有两点:
其一是提供了服务地址的存储;
其二是当存储内容发生变化时,可以将变更的内容推送给客户端。
此文章为5月Day27学习笔记,内容来源于极客时间《高并发系统设计 40 问》