关于nacos简单直白的理解

先看完以下非技术场景:
通讯录这个名字大家应该不陌生吧
举一个场景;
一个公司里新招聘了100个员工,相互不认识也没有互留手机号。员工A想要联系员工B,员工C想要联系D/E/F/G等等。这种情况怎么办,私下去目标人员吗?如果目标用户出差了怎么办,居家了怎么办?
通讯录是个好的解决方式,每个人都把自己的方式填报到公司的通讯录,再打电话直接到通讯录找就好了。那这样还有一个问题,怎么找到目标用户呢?-----> 前置条件知道用户的唯一标识,例如name,userID。

下面就是微服务/nacos与电话/通讯录的比喻了(需要注意的是nacos是临时通讯录,服务挂了就不再记录该服务信息。可以理解为员工离职了,就找不到了)
把微服务各子服务比作多部手机,nacos比对通讯录。每个服务把自己的name、ip上报给nacos,服务之间调用(跨服务叫远程调用)的时候,通过目标服务的name到nacos上找对应的地址(注意远程调用的前提是知道目标服务的name,在openfeign接口编写中有体现),再使用http进行接口调用。

流程大概是,服务配置nacos接入信息(nacos地址、服务自己的名称)。服务启动,心跳机制开始工作,通过http请求调用nacos的接口,将服务注册到nacos,并返回服务一些信息。远程调用的时候,根据name到nacos查询目标服务的地址,nacos返回地址,再进行http调用。(这个过程中本地服务会缓存一下被调用服务的ip,方便下次使用,省去了与nacos的交互,提交效率并减少nacos的压力)

你可能感兴趣的:(微服务,nacos)