当前位置:   article > 正文

SpringCloud-面试篇(二十三)

SpringCloud-面试篇(二十三)

 (1)SpringCloud常见组件有那些

有无数微服务需要相互调用:可以用远程调用组件OpenFeign组件,也可以用Dobble

这么多微服务相互调用怎么管理:就用到注册中心组件Nacos,Eureka

所有的服务去找注册中心做注册,拉去到的服务是一个列表,做远程调用是需要做负载均衡,用到负载均衡组件Ribbon

这么多服务做配置管理该怎末办,需要配置中心组件,做统一配置管理

微服务群形成了,将来对外提供服务的时候,不是随便什么人都能访问,所以在微服务群的前面有一个网关组件,作为入口

(2)Nacos服务注册表结构是怎样的

nacos是一个注册中心,所有微服务在启动时,就会提交自己的信息到nacos当中,由nacos来保存当前服务的信息,保存到那里呢?就是保存在注册表当中,只有把服务的信息保存下来了,将来消费者获取服务时,才能够在注册表里得到服务的信息:ip,端口等才能进行访问,nacos是如何创建注册表呢?结构什么样子     

从两方面分析:

环境隔离开了,在这个namespace下有很多服务,这些服务可以继续去分,进行分组,按照业务模块,比如交易模块涵盖微服务很多:订单有关,支付有关等等相关的服务作为一个组

在大型企业里有很多服务,做分组管理比较方便,小型企业来讲服务不多,没有分组必要

大多数情况下分组做默认default_group

分组下面就是真正的微服务了

分级存储模型如何实现呢?可以通过Map的key value的结果去实现

(3)Nacos服务注册表-Nacos源码搭建

找到我们springCloud的兼容的版本nacos版本

orderService服务: 

UserClient远程调用去查询,userclient是基于Feign实现的 

userService服务:

console相当于nasos的控制台: 

 

(4)Nacos服务注册表-深入Nacos源码

 

下面是nacos的页面展示的是nacos的控制台,控制台页面会向服务端发送ajax的请求,进行交换,交互的就是那些controller 

这些controller并不是我们想找的,我们想找的的是微服务注册的入口,找到这个就能找到表结构

通过nacos的api可以发现注册发现的调用接口:注册实例一定跟注册表有关

 

 

console模块中引入了其他模块config模块负责的是nacos的统一配置管理,naming模块正是负责的微服务的注册发现

注册实例的方法: 

serviceMap就是服务的注册表:key是namespace 值又是个map key group 值是实例

再进入这个实例: 

实例下面是集群

又维护一个map  key是集群名称 值是集群本身

集群里面有实例,再跟进去:

里面维护的是集合 Instance对象,有两个集合,一个放临时实例,一个永久实例 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/698912
推荐阅读
相关标签
  

闽ICP备14008679号