文章目录
- 什么是Dubbo,Dubbo的核心服务发布流程是什么?
- redis主要value类型有哪些?在什么场景下使用redis?请简述一下当时项目使用redis的方式?
- SpringDataRedis中可以操作哪些类型?
- 简述spring的主要模块和作用有哪些?
- SpringBoot是什么?它的重要策略是什么?
- SpringCloud是什么?主要包含哪些框架?
- 什么是设计模式?简述你常用的设计模式。
- Solr搜索引擎的原理是什么?Solr有哪些域?
- JMS消息传递类型是什么,有什么区别?
- 在哪些场景下使用过消息中间件?主要作用是什么?
- 简述servlet的生命周期!
- 什么是事务传播机制?有几种转播机制,分别作用是什么?
- 深浅克隆
- 什么是SpringSecurity,使用步骤是什么,怎么编写自定义认证类
- @Controller与@RestController的区别
- 什么是单点登录?单点登录的原理是什么?
- SSO:Single Sign On单点登录
- 是否开发过短信验证码功能,请描述一下使用短信验证码进行用户注册业务流程和技术实现?
- FreeMarker常用内建函数?解释其作用,语法格式是?
- 什么是网页静态化?模板引擎实现原理是什么?
- 什么是FastDFS?介绍一下他的原理?
什么是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来把控。
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的