IQ——问答记录

本文深入探讨了Dubbo的核心服务发布流程,包括服务提供者、消费者、注册中心等角色及其交互。此外,还讲解了Redis的主要value类型及其在缓存场景的应用,以及SpringDataRedis的操作类型。文章还涵盖了Spring框架的各个模块,如Core、Context、AOP等,以及SpringBoot和SpringCloud的特点与关键框架。设计模式的介绍,以及在项目中使用Redis、消息中间件和事务传播机制的场景和目的也进行了详述。最后,讨论了Servlet的生命周期、单点登录(SSO)的原理和实现,以及SpringSecurity的使用和自定义认证类编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

什么是Dubbo,Dubbo的核心服务发布流程是什么?

Dubbo:
阿里提供的一个分布式服务框架,致力于提供高性能和透明化的远程服务调用方案,以及SOA服务治理方案。简单来说就是一个远程服务调用的分布式框架。

Duobbo的节点角色:
1)Provider——暴露服务的服务提供方
2)Consumer——调用远程服务的服务消费方
3)Registry——服务注册与发现的注册中心
4)Monitor——统计服务的调用次数和调用事件的监控中心
5)Container——服务运行容器

基于以上角色的流程:
1)Container容器负责启动、加载、运行服务提供者Provider
2)Provider服务提供者在启动时,向注册中心Registry注册自己提供的服务
3)Consumer消费者在启动时,向注册中心订阅所需的服务
4)Registry注册中心返回服务提供者地址列表给消费者。发生变更,注册中心基于长连接推送变更数据给消费者
5)服务消费者从提供者地址列表中,基于软负载均衡的算法,从其中获取一台,可能存在获取失败的情况,失败了,在基于软负载均衡的算法获取另外一台即可
6)服务提供者和消费者在内存中积累调用次数和调用时间,定时每分钟发送一次统计数据到监控中心(通过日志文件,其实可以看见的)

redis主要value类型有哪些?在什么场景下使用redis?请简述一下当时项目使用redis的方式?

1.redis主要value类型有哪些?

String:字符串
Set:包含字符串的无序集合
List:包含字符串的链表
Hash:包含键值对的散装列表
Zset:member与score之间的有序映射

2.什么场景使用过redis?

1)当作缓存,点击访问量多时:提高并发速度、吞吐量,比如在网站首页广告轮播图中使用过redis;
2)有时一些数据不经常发生变化,且经常使用,为了减轻数据库的压力,也可以使用redis,比如品牌列表、规格列表;
3)当然电脑内存充足也是可以将redis当作数据库来存储数据的……

3.使用方式是什么?

比如在网站首页广告轮播图种使用redis:
首先读取缓存看是否有数据,如果没有数据,就从数据库读取数据,读取完成后写入到缓存一份,然后返回结果。如果缓存有数据,就直接返回。

4.题外话

👉redis常见应用场景——
1、热点数据的缓存
2、限时业务的运用
3、计数器相关问题
4、排行榜相关问题
5、分布式锁
6、延时操作
7、分页、模糊搜索
8、点赞、好友等相互关系的存储
9、队列

SpringDataRedis中可以操作哪些类型?

类型 描述
ValueOperations 简单K-V操作
SetOperations set类型数据操作
ZSetOperations zset类型数据操作
HashOperations 针对map类型的数据操作
ListOperations 针对list类型的数据操作

PS:set || zset——>无序集合 || 有序集合

简述spring的主要模块和作用有哪些?

1、spring core

core核心,提供spring的基本功能。spring以实体bean的方式管理java各个组件之间的关系。spring使用Factory来生产和管理bean,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用的配置和依赖性规范与实际的应用程序代码分开。BeanFactory使用依赖注入的方式提供给组件依赖。就是一个容器,其中有很多组件,这些组件的生产和管理都由Spring Core通过IOC、DI来把控。

👉Spring IOC、DI👈

2、spring context

spring上下文——配置文件,向spring框架提供上下文信息

3、spring Aop

面向切面编程,可以“横插一脚”。例如:将日志与具体的业务逻辑解耦

4、spring DAO

与持久层相关,spring提供一些方式访问数据库,并且兼容各种持久化技术

5、spring ORM

ORM映射框架

6、spring Web

web上下文模块建立在应用程序上下文模块之上,基于web的应用程序提供了上下文

7、spring Test

测试模块,可以完成单元测试,集成测试等

8、spring MVC

MVC框架,与controller直接相关

9、spring JDBC

数据处理

SpringBoot是什么?它的重要策略是什么?

简述:
springBoot其实就是spring的简单使用方式,包含了很多自己的配置,也就是说不需要再定义样板化的配置,让开发者使用更加简单。微框架的入门。

SpringBoot特点:
1)可快速构建独立的Spring应用
2)提供场景启动器简化构建配置
3)基础Spring配置自动实现,无需繁琐的xml配置文件
4)整合常用Spring和第三方依赖库
5)直接嵌入Web应用服务器(无需部署WAR包)
6)微服务的入门框架

重要策略:
1)开箱即用—— 一键式启动,内置tomcat
2)约定大于配置—— 有些配置约定即可,大家都这样写

SpringCloud是什么?主要包含哪些框架?

是什么?
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

陈年_H

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

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

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

打赏作者

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

抵扣说明:

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

余额充值