微服务知识点FAQ

本文深入探讨了微服务架构的相关知识,包括单体架构的局限性、分布式架构的优势和挑战、缓存的使用及其注意事项。介绍了服务注册、反向代理、负载均衡、读写分离、数据同步等问题,以及微服务架构中的关键组件如服务注册发现、配置管理、限流降级等。此外,还讨论了Nacos作为服务注册中心的实施、缓存管理、数据库操作、配置中心选型、Sentinel限流降级、API网关设计、单点登录机制、Docker容器化、Redis数据持久化与主从复制。通过对这些技术的讲解,帮助读者全面理解微服务架构的实践应用。
摘要由CSDN通过智能技术生成
  1. 单体架构你觉得存在什么缺陷?(容量、计算、故障)
  2. 为什么要使用分布式架构?(增加容量、高并发、高性能、高可用)
  3. 分布式架构有什么劣势?(设计的难度、维护成本)
  4. 为什么要使用缓存?(减少数据库访问压力、提高性能)
  5. 使用缓存时要注意什么问题?(一致性、淘汰算法、击穿、雪崩)
  6. 如何理解反向代理?(服务端代理,是服务端服务器的一种代理机制,请求转发)
  7. 反向代理如何实现负载均衡?(轮询,轮询+权重,哈希IP)
  8. 什么是读写分离、读写分离的目的是什么?(单机数据库有瓶颈、读写频次,并发能力)
  9. 读写分离后可能会带来什么问题?(数据同步)
  10. 当我们向写库写数据时还要做什么?(写缓存、数据同步到读库)
  11. 为什么要进行分库、分表,有哪些分表策略?(业务数据可靠性、查询性能)
  12. 何为服务,有什么是微服务?(服务-软件要解决的问题,可以提供的功能。微服务-服务中的共性再抽象,以实现更好的重用)
  13. 微服务架构解决方案(大厂基本自研~自己研发各种组件,中小公司用Spring Cloud Netflix,Alibaba,…)
  14. 微服务架构下Maven聚合项目的创建方式?(Maven聚合项目~资源复用:extends,import,简化编译,打包,部署方式)
  15. 为什么需要微服务?(对系统分而治之,解决因并发访问过大带来的系统复杂性(例如:业务,开发,测试,升级,可靠性等)
  16. 微服务设计的特点?(单一职责,独立进程,开发测试效率高,可靠性高,升级难度小,但会带来一定的维护成本)
  17. 微服务设计中需要哪些关键组件(服务的注册,发现,配置,限流降级,访问入口管理,分布式事务管理等)
  18. 创建聚合工程的目的?(实现工程之间资源的的共享,简化工程管理)
  19. 如何修改聚合工程中项目的编译和运行版本?(pom.xml:build->plugins->plugin->maven-compiler-plugin)
  20. maven工程中build元素的作用?(定义项目的编译,打包方式)
  21. maven父工程的packaging元素内的值是什么?(父工程默认打包方式为pom方式)
  22. maven父工程中dependencyManagement元素的作用是什么?(项目依赖的版本,当前工程或子工程不需要再指定版本)
  23. Maven父工程中如何统一定义JDK编译和运行版本?(配置maven编译插件:maven-compiler-plugin)
  24. 服务注册中心诞生背景? (服务多了,需要统一管理,例如所有公司需要在工商局进行备案)
  25. 服务注册中心的选型?(社区活跃度,稳定性,功能,性能,学习成本)
  26. 基于Nacos实现服务的注册?(添加依赖,服务配置,启动服务并检查)
  27. 基于RestTemplate实现服务的简易调用?(服务消费方调用服务提供方)
  28. 基于LoadBalancerClient实现服务实例的获取?(底层会基于负载均衡算法为我们应用提供实例)
  29. 数据库中的导入的数据是乱码?(Sqlyog可能会有这个问题)
  30. Nacos服务启动后看不到配置数据?(检查nacos配置文件application.properties中数据库的连接配置)
  31. Nacos是什么,提供了什么特性?(服务的注册、发现、配置)
  32. 你为什么会选择Nacos?(活跃度、稳定、性能、学习成本)
  33. Nacos的官网?(nacos.io)
  34. Nacos在github的源码?(github.com/alibaba/nacos)
  35. Nacos在windows环境下安装?(解压即可使用)
  36. Nacos在windows中的的初步配置?(application.properties访问数据库的数据源)
  37. Nacos服务注册的基本过程?(服务启动时发送web请求)
  38. Nacos服务消费的基本过程?(服务启动时获取服务实例,然后调用服务)
  39. Nacos服务负载均衡逻辑及设计实现?(Ribbon)
  40. 注册中心的核心数据是什么?(服务的名字和它对应的网络地址)
  41. 注册中心中心核心数据的存取为什么会采用读写锁?(底层安全和性能)
  42. Nacos健康检查的方式?(基于心跳包机制进行实现)
  43. Nacos是如何保证高可用的?(重试,本地缓存、集群)
  44. 如何理解服务注册中心?(存储服务信息的一个服务,也可以理解为一个中介)
  45. 服务注册中心诞生的背景? (服务多了,需要对服务进行更好管理)
  46. 市场上常用的注册中心?(Zookeeper,Eureka,Nacos,Consul)
  47. 如何对注册中心进行选型?(社区活跃度,稳定性,功能,性能,学习成本)
  48. Nacos 是什么?(Alibaba基于SpringBoot技术实现的一个注册中心,本质上也是一个web服务)
  49. Nacos 的基本架构?(Client/Server架构)
  50. Nacos 服务启动需要什么前置条件?(配置JDK的JAVA_HOME目录,安装MySQL5.7以上版本,配置连接的数据库)
  51. Nacos 服务单机模式,window平台下启动时的指令是什么?(startup.cmd -m standalone)
  52. 实现Nacos服务注册需要添加什么依赖?(两个:web,discovery)
  53. 实现Nacos服务注册时,必须做哪些配置?(服务名,假如是本机服务注册可以省略服务地址)
  54. Nacos如何检查服务状态?(通过心跳包实现,服务启动时会定时向nacos发送心跳包-BeatInfo)
  55. 注册中心这里用了什么设计模式?(中介者模式)
  56. 服务之间进行服务调用时,使用了什么API?(RestTemplate,用此对象之前要先创建这个对象并交给spring管理)
  57. RestTemplate对象使用到了什么设计模式?(模板方法模式)
  58. LoadBalancerClient对象的作用是什么?(服务实例的获取)
  59. 基于idea如何进行请求响应测试?(基于Idea工具中的Http Client)
  60. LoadBalancerClient对象的作用?(从nacos获取服务实例,然后在本地负载均衡)
  61. LoadBalancerClient对象的具体实现是谁?(RibbonLoadBalancerClient)
  62. Ribbon是什么?(一个负载均衡组件,此组件中定义了一些负载均衡算法)
  63. @LoadBalanced 注解的作用?(描述RestTemplate对象,让底层为此对象赋能)
  64. 你是如何知道 @LoadBalanced 是怎么用的?(从官方案例中学习)
  65. 你知道哪些负载均衡算法?(随机,轮询,hash,重试,…)
  66. 如何配置负载均衡算法?(配置类@Bean,配置文件application.yml,…)
  67. 你是如何理解Feign的?(远程服务调用对象,基于声明式服务调用的定义即可.)
  68. 你是如何使用Feign的呢?(依赖,配置,接口,熔断处理)
  69. 能说说基于Feign调用的原理吗?(底层代理)
  70. 在这里接触到了什么设计模式?(门面模式,中介者模式,模板方法,代理模式,策略)
  71. Feign是什么,它的应用是怎样的,feign应用过程中的代理对象是如何创建的(JDK)?
  72. Feign方式的调用过程,其负载均衡是如何实现?(Ribbon)
  73. 什么是配置中心?(存储项目配置信息的一个服务,这个服务可以实现配置的动态发布和更新)
  74. 为什么要使用配置中心?(集中管理配置信息,动态发布配置信息,服务自动感知配置,提高服务可用性)
  75. 配置中心一般都会配置什么内容?(可能会经常变化的配置信息,例如连接池,日志、线程池、限流熔断规则)
  76. 什么信息一般不会写到配置中心?(服务端口,服务名,服务的注册地址,配置中心地址)
  77. 项目中为什么要定义bootstrap.yml文件?(此文件被读取的优先级比较高,可以在服务启动时读取配置中心的数据)
  78. Nacos配置中心宕机了,我们的服务还可以读取到配置信息吗?(可以从服务的本地内存读取)
  79. 服务启动后没有从配置中心获取我们的配置数据是什么原因?(依赖,bootstrap.yml,配置单词,格式,配置模型)
  80. 你项目中使用的日志规范是什么?(SLF4J~门面模式)
  81. 你了解项目中的日志级别吗?(debug,info,warn,error可以基于日志级别控制日志的输出)
  82. RefreshScope注解的作用是什么?(描述从配置中心读取配置信息的类,其目的是配置中心配置发生变化,更新类实例,此时类中的实例属性就会重新初始化)
  83. Nacos配置管理模型的背景?(环境不同配置不同)
  84. Nacos客户端(微服务)是否可以读取共享配置?(可以)
  85. 配置中心选型时要重点考虑哪些因素?(市场活跃度、稳定性、性能、易用)
  86. Nacos客户端(微服务业务)如何动态感知配置中心数据变化的?(nacos2.0之前nacos客户端采用长轮询机制每隔30秒拉取nacos配置信息.)
  87. Nacos配置管理模型是怎样的?(命名空间-namespace,分组-group,服务实例-dataId)
  88. Sentinel诞生的背景?(计算机的数量是否有限,处理能力是否有限,并发比较大或突发流量比较大)
  89. 服务中Sentinel环境的集成,初始化?(添加依赖-两个,sentinel配置)
  90. Sentinel 的限流规则?(阈值类型-QPS&线程数,限流模式-直接,关联,链路)
  91. Sentinel 系统规则设计?(全局规则定义,针对所有请求有效)
  92. Sentinel 授权规则设计?(黑白名单)
  93. 常用的限流算法有那些?(计数,令牌桶-电影票,漏桶-漏斗,滑动窗口)
  94. Sentinel有哪些限流规则?(QPS,线程数)
  95. Sentinel 的降级(熔断)策略有哪些?(慢调用-响应时长,异常比例-异常占比,异常数)
  96. 为什么要限流? (请求大,资源处理能力不足)
  97. Sentinel如何实现限流的?(对请求进行拦截,然后通过限流算法对请求进行限制)
  98. Sentinel这里默认使用的限流拦截器是谁?(AbstractSentinelInterceptor->HandlerInterceptor的子类)
  99. Sentinel中出现限流异常的父类类型是什么?(BlockException)
  100. 我们可以自定义限流异常处理器吗?(直接或间接实现BlockExceptionHandler接口并交给spring管理)
  101. Sentinel的流控模式有哪些? (直接模式,关联模式,链路模式)
  102. 如何理解Sentinel的关联限流?(霸权方式,当对A的资源的访问量比较大时,限流其它资源的访问)
  103. 如何理解Sentinel的链路限流?(对同一个资源的访问,可能会有多条链路,可以对指定链路进行限流)
  104. @SentinelResource注解的作用是什么?(定义限流切入点方法,底层可以基于aop方式对请求链路进行限制)
  105. Sentinel常见的流控效果有哪些?(快速失败,warm up,排队等待)
  106. 如何理解服务的降级?(系统出现大量的慢调用或一些异常,可以对这些服务进行熔断-暂时关闭系统)
  107. 如何理解慢调用?(客户端发起一个请求,得到服务端的响应比较慢)
  108. 服务出现熔断时,系统底层抛出的异常是什么?(DegradeException)
  109. 如何理解热点数据?(频繁访问的数据-例如文章、视频、图片、…)
  110. 对热点数据限流时,底层基于什么机制去实现的?(AOP)
  111. 假如是你去设计sentinel,你如何判定哪些数据是热点数据?(LRU算法)
  112. Java中是否有对象直接封装了对LRU算法的实现?(LinkedHashMap)
  113. 如何理解sentinel中的系统规则?(sentinel中的一种全局规则,不局限于某个资源)
  114. 你了解Sentinel中的哪些系统全局规则呢?(CPU,RT,QPS,线程数量)
  115. 如何理解Sentinel中的授权规则?(对资源的访问限制,不是基于频次进行限制,基于自定义的黑白名单)
  116. Sentinel中解析黑白名单数据的规范接口是谁?(RequestOriginParser)
  117. Sentinel中授权规则对应的异常对象是谁?(AuthorityException)
  118. 请求传到tomcat后,这个Web服务器是如何处理请求的?
  119. 为什么要使用api网关?(统一url访问,服务保护,统一身份认证,统一跨域设计,…)
  120. 网关入门实践的步骤? (依赖,配置,启动,服务访问)
  121. 网关项目中的负载均衡是如何实现?(底层基于Ribbon,可以在RibbonLoadBalancerClient中加断点分析)
  122. 说说SpringCloud gateway处理请求的基本流程?(官方,断点)
  123. 网关中的谓词对象类型?(GatewayPredicate)
  124. 网关中的谓词对象是如何创建的?(谓词工厂)
  125. 你在网关中配置过哪些常用谓词?(Path,Method,Before,Query,Header,…)
  126. 你了解哪些API 网关过滤器?(GatewayFilter-局部过滤器,GlobalFilter-全局过滤器)
  127. 网关层面的限流类型有哪些?(路由id,API分组)
  128. 我们是否可以对限流结果进行自定义处理?(可以)
  129. 为什么要做单点登录设计?(业务简化,代码复用,不需要每个服务都登录一次)
  130. 你知道哪些SSO系统解决方案?(基于用户登录状态信息的存储进行方案设计)
  131. 单点登录系统中你的服务是如何设计的,工程结构是怎样的? 项目中使用的连接池什么?(HikariCP)
  132. Java中连接池设计需要遵循的数据源规范是谁?(javax.sql.DataSource)
  133. 连接池这块你能想到的设计模式有哪些?(单例,享元,桥接,slf4j门面)
  134. SpringBoot工程中默认的AOP代理对象是基于什么方式创建的?(CGLIB)
  135. 为什么定义RemoteUserService 接口(Feign)?(基于此接口调用远程sso-system服务)
  136. sso-auth服务中用户业务数据的获取在哪里?(客户端提交的用户名,sso-system服务提供的数据库数据)
  137. 为什么要构建SecurityConfig对象?(配置加密算法,提供认证管理器对象)
  138. 为什么要让SecurityConfig类要继承WebSecurityConfigurerAdapter类型?(重写默认的认证规则)
  139. 认证过程中使用的密码加密对象是谁?(BCryptPasswordEncoder,不可逆加密对象)
  140. 用户登录时,需要从数据库查询哪些信息?(用户信息以及用户的权限信息)
  141. Oauth2是什么?(协议,定义了完成认证和授权操作时所需要的一些对象以及这些对象应用方式)
  142. SpringSecurity 是什么?(一个spring认证和授权框架,可以基于Oauth2协议进行认证和授权的落地实现)
  143. JWT是什么?(是JSON WEB TOKEN这几个单词的缩写,描述的是web应用中的一种令牌格式)
  144. JWT有几部分构成?(头:令牌类型,签名算法,负载:允许包含用户登录状态 ,签名:防止令牌被篡改)
  145. 为什么要采用JWT令牌?(可以存储用户登录状态信息,避免访问资源时从数据库查询认证信息)
  146. 基于Oauth2协议的认证服务器默认的令牌生成策略是什么?(UUID.randomUUID())
  147. 认证服务器中常见令牌相关设计中对应的存储方案有哪些?(Mysql,Redis,Jwt)
  148. 认证服务器对用户进行认证时,客户端提交了哪些关键信息?(username,password,client_id,grant_type,client_secret)
  149. 认证服务器完成认证操作后,服务端返回哪些信息?(访问令牌,刷新令牌,令牌类型,作用域,编号)
  150. 认证服务器中完成认证业务的关键对象有哪些?(Filter,AutenticationManager,UserDetailService,.)
  151. 资源服务器如何设计的认证,授权规则?(三个维度:匿名,登录,授权)
  152. 访问令牌与刷新令牌有什么不一样?(客户端是要携带访问令牌访问资源的,刷新令牌是为了再次生成访问令牌)
  153. 访问令牌,刷新令牌有有效时长吗?(刷新令牌有效时长一般要大于访问令牌有效时长)
  154. 为什么网关层面要做跨域设计?(Ajax技术不支持跨域请求,将所有服务的跨域共性提取到网关层面)
  155. UI工程中用户端如何提交ajax请求的?(axios,底层ajax对象为XMLHttpRequest)
  156. @EnableAuthorizationServer注解的作用是什么?(描述认证服务中的配置类,开启认证服务)
  157. @EnableResourceServer注解的作用是什么?(描述资源服务器中的配置类,开启资源鉴权服务)
  158. @EnableGlobalMethodSecurity注解的作用?(描述资源服务中的配置,开启访问层面的访问拦截)
  159. @PreAuthorize注解的作用?(描述资源访问方法,定义鉴权切入点方法,例如controller中方法)
  160. 何为用户行为日志?(用户操作系统资源时执行的具体动作)
  161. 为什么要记录用户行为日志?(第一、知道用户做了什么,第二、基于日志分析用户喜好)
  162. System工程中如何记录用户行为日志的?(异步方式将日志写到数据库,@EnableAsync,@Async)
  163. System工程中@Async描述的方法运行在谁提供的线程中。(SpringBoot帮我们启动的线程池)
  164. 系统工程中的用户行为日志来自哪里?(资源服务器,此服务器获取用户访问资源的一些信息)
  165. 资源服务器通过什么样的方式获取用户行为信息?(AOP)
  166. 资源服务器通过什么方式将日志传递给system工程的。(feign)
  167. 资源服务访问系统服务访问不到或者请求超时你是怎么处理?(熔断,回顾Feign章节调用)
  168. 资源服务器的切面中如何获取登录用户的?(SecurityContextHolder)
  169. 资源服务器的切面中如何获取请求对象的?(RequestContextHolder)
  170. Docker 诞生的背景(服务多了,维护困难了)
  171. Docker 平台基本架构(Client/Server)
  172. Docker 平台核心对象(镜像-image,容器-Container)
  173. Docker 平台的安装(在CentOS系统上离线安装、在线安装)
  174. Docker 服务的基本操作(status,start,stop ,restart,enable,disable,docker info,docker -v)
  175. Docker 镜像(Image)基本操作(pull,images,rm,save,load,inspect,history,…)
  176. Docker 容器基本操作(run,ps,ps -a,stop,start,restart,exec,logs,exit,rm,rm -f,prune)
  177. Docker 中的数据管理(数据卷-volume,直接的目录挂载)
  178. Docker 平台下镜像(Image)的制作(文件系统~软件+Dockerfile,build)
  179. Docker是什么?(虚拟引擎,容器化技术平台,基于docker创建镜像,启动容器,运行镜像程序)
  180. Docker用于解决什么问题?(简化部署-例如sentinel镜像,运维,提高其服务的可维护性)
  181. Docker的基本架构是怎样的?(Client/Server,pull,run,build都属于客户端指令,通过这些指令向docker服务发起请求)
  182. Docker中有哪些核心对象?(Image/Container/…)
  183. 如何理解docker中的镜像(Image)?(一套文件系统,是静态,需要放到容器中去运行。类似一个jar包,需要JVM解释执行)
  184. 如何理解Docker中的容器(Container)?(一个进程,拥有独立的namespace,通过namaspace实现容器隔离)
  185. 是否可以基于同一个镜像启动多个容器?(可以,但是指定的容器名不能相同)
  186. 什么数据卷,为什么要使用数据卷,如何使用数据卷?
  187. 为什么我们要自己制作镜像?制作镜像的步骤是怎样的?
  188. Dockerfile的作用是什么?(描述镜像文件的内容,制作镜像时是参考Dockerfile中内容制作)
  189. 如何从远程镜像仓库下载镜像?(docker pull)
  190. 如何从本地磁盘去加载镜像文件?(docker load)
  191. 如何基于docker运行常用的镜像文件?(MySql,Redis,Nginx,Naocs等)
  192. 如何查看容器启动或运行日志?(docker logs 容器id)
  193. 退出容器后想再进入容器怎么办?(首先docker ps查看容器是否在运行,假如没有运行要start启动)
  194. 进入正在运行的容器的指令?(docker exec -it 容器名或容器id bash)
  195. 每次执行Docker run指令都会创建新的容器吗?(假如没有名字相同的则创建)
  196. 如何实现Docker中容器的互联?(可以基于宿主机,也可以建立虚拟网络)
  197. Nacos创建时配置的是连接mysql数据库,那nacos启动时,需要启动mysql吗?(需要)
  198. 容器已经存在,但还要再创建,要注意名字重复.(可能你创建过这个容器,但是启动失败了)
  199. 假如有容器使用着这个镜像,镜像删除会失败。
  200. 基于镜像执行了docker run操作,但是通过docker ps看不到运行容器?(一定要容器日志)
  201. Redis是什么?(分布式Key/Value结构的内存数据库,非关系型数据,NoSql数据库)
  202. Redis数据库诞生的背景?(关系型数据库的访问压力比较大,本地内存不支持多服务实例共享)
  203. Redis数据库的基本架构?(C/S,redis-cli,redis-server)
  204. 你了解Redis有哪些基础指令?(redis-cli,redis-server,exit,clear,type,expire,shutdown,help,?,keys,flushall,flushdb)
  205. 字符串类型有什么特点?(所有值都是字符串,空间动态分配,可以实现整数值的递增,递减,实现日志记录)
  206. 操作字符串类型(string)的常用指令?(set,get,strlen,append,mset,mget,incr,incrby,decr,decrby,del,setnx)
  207. 哈希类型(hash)数据有什么特性?(就是值还可以使用key/value结构存储,key无序,key相同值覆盖,存储对象方便)
  208. 操作哈希类型(hash)的常用指令?(hset,hget,hgetall,hexits,hdel,hkeys,hvals,hincrby,hmget)
  209. 列表类型(list)数据有什么特性?(链表,会记录添加的元素的顺序,元素允许重复,可以实现FIFO,FILO这些特性)
  210. 操作列表类型(list)类型的常用指令?(lpush,rpop,rpush,lpop,lrem,lindex,ltrim,lset,linsert,lrange,rpoplpush,lpos)
  211. Set类型数据的特性?(散列,不记录元素添加顺序,不允许元素重复)
  212. 操作set类型的常用指令?(sadd,smembers,spop,smove,scard,sunion)
  213. Redis中各种数据类型的应用场景?
  214. Gson是什么?(Google推出的一组用于操作json数据的API)
  215. redis服务不能启动?(看容器日志)
  216. Jedis中连接Redis失败?(检查redis服务是否启动,ip和端口是否正确,防火墙是否关闭)
  217. Jedis常用API有哪些?(Jedis,JedisPool,JedisPoolConfig)
  218. Jedis如何存储POJO对象到redis?(将对象转换为json串,将对象以Hash形式进行存储)
  219. Gson是什么?(Google公司推出的用于操作JSON格式数据的一组API)
  220. JedisPool是什么?(一个Jedis连接池对象,所有池对象都有一种享元设计)
  221. 我们在应用JedisPool连接池时,如何保证此对象在内存中是唯一的?(双重锁校验的单例模式)
  222. RedisTemplate对象的作用?(Spring框架中推出一个用于操作Redis的API对象)
  223. RedisTemplate 对象默认的序列化方式是什么?(JDK方式,默认key和value需要实现Java中序列化接口)
  224. RedisTemplate 对象按默认规则序列化时,我们的对象需要实现序列化接口吗?(需要)
  225. 如何修改RedisTemplate对象的序列化方式?(通过setXxx等方法设置序列化)
  226. RedisTemplate应用了什么设计模式?(模板方法模式)
  227. 你是如何学习RedisTemplate对象的应用的?(参考官方文档,demo,源代码)
  228. 什么场景下使用StringRedisTemplate?(key/value序列化方式都是string时)
  229. RedisTemplate对象你做过定制实现?(做过,定制过key/value的序列化方式)
  230. 连不上远程redis服务?(redis服务是否启动,是否开启了防火墙,ip和账号是否正确)
  231. 基于RedisTemplate对象的incrment方法实现key值的递增时,注意值的结构类型?(Long)
  232. 对象序列化和反序列化异常?(一定要注意序列化规则)
  233. 基于redis存储用户状态时,你使用的数据类型是什么?(hash类型-key是随机串,
  234. value为hash方式存储的对象)
  235. 通过redis存储登录状态,你觉得有什么弊端?(检查用户登录状态需要查询redis)
  236. 基于redis实现某个活动的投票系统,你使用的数据类型是什么?(Set类型-不允许元素重复)
  237. 在我们的业务对象中如何使用redis?(注入RedisTemplate或其子类)
  238. 如何基于AOP方式应用Redis?(@EnableCaching,@Cacheable,@Cacheput)
  239. 如何定制Aop方式应用redis时的数据序列化机制?(自己定制CacheManager接口实现类-RedisCacheManager)
  240. 为什么要持久化?(更好的保证数据的可靠性,防止断电,系统宕机情况出现大量数据丢失)
  241. Redis中持久化的方式有哪些?(RDB,AOF)
  242. Redis中默认开启的持久化方式是?(RDB-快照方式的持久化)
  243. 如何理解Redis中AOF方式的持久化?(记录我们所有的写操作指令)
  244. 你是否了解AOF中的Rewrite操作?(重写aof日志文件,压缩日志文件,同时让日志文件中的指令与内存中的数据尽量一致)
  245. 你了解Redis中的哪些持久化配置?(持久化的时机,…)
  246. 说说Redis中Rdb和Aof方式持久化的优势和劣势?
  247. 生产环境下如何应用Rdb和Aof的持久化方式?(两种都要配置)
  248. Redis中常用事务指令有哪些?(watch,unwatch,multi,exec,discard)
  249. Redis中是基于乐观锁方式处理事务吗?(是)
  250. 为什么需要Redis主从架构?(大部分缓存是读多写少)
  251. 为什么需要Redis哨兵机制?(为了高可用,Master宕机可以选择Slave升级为Master)
  252. 为什么需要Redis集群架构?(高可用,大量数据的存储需要)
  253. 单纯的Redis主从架构存在什么问题?(Master宕机,整个主从不再支持写操作)
  254. Redis哨兵(sentinel)作用是什么?(监控主从节点工作状态,主节点宕机,自动选择新的主节点)
  255. Redis 从节点下还可有从节点吗?(可以的,薪火相传)
  256. Redis主从加哨兵还存在什么明显缺陷?(主节点只有一个,支持可存储的数据量受限)
  257. 集群架构要解决的主要问题是什么?(横向扩容,单个主节点不能支持更大并发的写操作,且容量有限)
  258. 当架构设计中的redis服务有问题时怎么办?(一定要看容器日志 docker logs 容器id或容器名)
  259. 命令行如何登录redis集群中的节点?(redis-cli -c -h 192.168.126.128 -p 8010)
  260. 登录redis集群节点后,如何查询redis中的集群节点信息?(cluster nodes)
  261. 如何停止多个redis容器?(参考docker stop redis-801{0…1})
  262. Jedis中应用集群时的API是什么?(JedisCluster)
  263. SpringBoot工程中如何配置Redis集群连接(spring.redis.nodes:…)
  264. SpringBoot中如何应用lettuce连接池(依赖-common-pool2,application.yml)
     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值