文章目录
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集群高可用