美文网首页
项目问题,面试用

项目问题,面试用

作者: 惜沫遥不可及 | 来源:发表于2021-06-15 08:54 被阅读0次

左外连接查多张表时在mapper包下的xml文件中编写sql语句,但是maven默认加载机制不加载xml文件,只加载java文件,需要配置

1、pom.xml中在src/main/java文件夹下加载xml文件

2、配置文件中添加xml文件路径


视频点播流程

1、初始化client对象

2、创建request对象,设置视频id

3、调用得到response对象

4、调用方法得到结果


有些微服务模块中没有调用数据库,配置文件中就没配置数据库,因此加上注解不加载数据库,否则报错


微服务首先用在删除小节删除视频那块,edu调用vod的删除视频方法
3、微服务与单体架构区别

(1)单体架构所有的模块全都耦合在一块,代码量大,维护困难。

         微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。

(2)单体架构所有的模块都共用一个数据库,存储方式比较单一。

         微服务每个模块都可以使用不同的存储方式(比如有的用redis,有的用mysql等),数据库也是单个模块对应自己的数据库。

(3)单体架构所有的模块开发所使用的技术一样。

微服务每个模块都可以使用不同的开发技术,开发模式更灵活。 


4、微服务本质

(1)微服务,关键其实不仅仅是微服务本身,而是系统要提供一套基础的架构,这种架构使得微服务可以独立的部署、运行、升级,不仅如此,这个系统架构还让微服务与微服务之间在结构上“松耦合”,而在功能上则表现为一个统一的整体。这种所谓的“统一的整体”表现出来的是统一风格的界面,统一的权限管理,统一的安全策略,统一的上线过程,统一的日志和审计方法,统一的调度方式,统一的访问入口等等。

(2)微服务的目的是有效的拆分应用,实现敏捷开发和部署 。

(3)微服务提倡的理念团队间应该是 inter-operate, not integrate 。inter-operate是定义好系统的边界和接口,在一个团队内全栈,让团队自治,原因就是因为如果团队按照这样的方式组建,将沟通的成本维持在系统内部,每个子系统就会更加内聚,彼此的依赖耦合能变弱,跨系统的沟通成本也就能降低。


Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现、配置和管理。

Nacos主要提供以下四大功能:

1. 服务发现和服务健康监测

2. 动态配置服务

3. 动态DNS服务

4. 服务及其元数据管理


(1)接口化请求调用当调用被@FeignClient注解修饰的接口时,在框架内部,将请求转换成Feign的请求实例feign.Request,交由Feign框架处理。

(2)Feign :转化请求Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,封装了Http调用流程。

(3)Hystrix:熔断处理机制 Feign的调用关系,会被Hystrix代理拦截,对每一个Feign调用请求,Hystrix都会将其包装成HystrixCommand,参与Hystrix的流控和熔断规则。如果请求判断需要熔断,则Hystrix直接熔断,抛出异常或者使用FallbackFactory返回熔断Fallback结果;如果通过,则将调用请求传递给Ribbon组件。

(4)Ribbon:服务地址选择 当请求传递到Ribbon之后,Ribbon会根据自身维护的服务列表,根据服务的服务质量,如平均响应时间,Load等,结合特定的规则,从列表中挑选合适的服务实例,选择好机器之后,然后将机器实例的信息请求传递给Http Client客户端,HttpClient客户端来执行真正的Http接口调用;

(5)HttpClient :Http客户端,真正执行Http调用根据上层Ribbon传递过来的请求,已经指定了服务地址,则HttpClient开始执行真正的Http请求


Redis的特点:

1,Redis读取的速度是110000次/s,写的速度是81000次/s;

2,原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

3,支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)

4,持久化,集群部署

5,支持过期时间,支持事务,消息订阅


单点登录SSO


redis实现短信验证码的限时访问


数据库中的用户密码是加密过的(MD5),比较密码的时候输入的密码也要MD5操作一下然后和数据库的比较


微信扫码登录流程

用httpclient模拟浏览器发送请求和相应的过程


认证和授权


nacos做配置中心

1、启动nacos服务,新建一个配置文件

2、springboot配置文件加载顺序是bootstrap、application、application-dev(如果application中配置了的话),项目中创建bootstrap.application,写上配置中心地址和配置中心的dataId

3、引入依赖


over

相关文章

网友评论

      本文标题:项目问题,面试用

      本文链接:https://www.haomeiwen.com/subject/adncsltx.html