分布式架构常见面试问题

Spring Cloud Alibaba

Nacos服务注册及健康状态如何检测?

nacos服务客户端(要注册到nacos的服务)启动时会每隔一段时间(默认为5秒)向nacos发送心跳包,nacos注册中心15秒内没有检测到心跳包会默认认为nacos处于一种不健康状态,30秒还收不到心跳包则认为这个服务已不可用。

项目中如何实现服务的调用?

项目中调用服务我们用过两种方式一种方式是RestTemplate,一种是OpenFeign,这两种方式在进行服务调用时,都可以借助Ribbon实现负载均衡。

Nacos的配置管理模型以及配置数据的获取?

Nacos配置管理模型中,为了实现更好的环境隔离给出了namespace,group,dataId的感念,一个配置中心可以有多个命名空间,一个命名空间可以有多个分组,一个分组内可以有多个groupId,服务启动时会每隔30描述向配置中心请求一次数据,2.0之前默认采取的时长轮询拉取模式。

为什么要限流,Sentinel 限流常用算法?

限流的目的是为了保证服务更加可靠的运行,不至于系统在遇到突发流量时,出现系统宕机的现象。常用的限流算法有计数器法,滑动窗口算法,漏斗算法,漏桶算法等。

网关层面如何实现负载均衡以及常用算法?

网关层面的负载均衡我们借助了Ribbon进行实现,常用算法有轮询,权重,随机,hash等,这个算法都可以在配置中心进行配置,然后基于业务不同,做动态调整。

Docker

写出几个Docker操作镜像的指令?

docker pull 镜像名:版本号
docker images
docker inspect 镜像名
docker history 镜像名
docker image rm 镜像名
docker save 镜像名 | gzip>文件名 保存镜像
docker load 磁盘中的镜像文件名

如何理解Docker中的数据卷?

数据卷是一个可供一个或多个容器使用的特殊目录,可以在容器之间实现资源共享或重用,默认会一直存在,即使容器被删除。我们在启动容器时,通常会基于数据卷实现宿主机与容器之间的目录挂载,

Redis

基于Redis如何实现一个活动的投票系统?

在很多系统中设计中,都会有一个活动设计,开启一个活动之前,可以对这个活动的支持力度先进行一个调查,例如基于这个活动设计一个投票系统,例如:
在这里插入图片描述

如何理解缓存穿透和雪崩?

缓存穿透又称之为缓存击穿,是按key在请求缓存数据时,从缓存找不到此key对应的数据,而去执行了数据库(例如mysql)的查询,有时候,有人会基于这种行为做恶意攻击,不断请求缓存中不存在key,去访问你的关系数据库,导致数据库宕机。缓存雪崩类似出现了多个key的缓存击穿,当多个key在缓存中集体失效时,这些key又被同时访问到,此时的现象称之为缓存雪崩,

Redis的高可用如何保证?

Redis的高可用主要从如下几个方面进行实现:
第一:数据的持久化(AOF,RDB)
第二:与哨兵机制结合实现负载均衡
第三:Redis集群高可用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青木编码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值