面试复习(深圳第三天)

※※※Spring IOC的实现方式※※※
1、XML配置(不推荐,xml文件太多,不易于管理)
2、自动装配(推荐,使用spring注解和xml配合,这种方式也是比较普遍的)
3、零配置(不推荐,因为项目上线后难以修改)

※※※既然提到IOC,就深入学习Spring BeanFactory原理※※※
1、BeanFactory是Spring容器的基础接口
2、BF是通过反射的方式来创建对象:Class.forName(……).newInstance();
3、接第2点,如果有对象注入的话,则
Class.forName(……).getPropertyDescriptors();获取属性。
method.invoke(obj, value);设置值有set方法的情况下。
如果没有set方法,则一样可以使用反射的 getDeclaredField 连私有的属性都可以注入!
4、底层结构就是hashmap存放bean

※※※既然提到零配置,就深入学习一下SpringBoot如何实现零配置※※※
原理:引入的包,均有默认配置,@config使用该注解如果用户自己有配置则选择用户的如果没有则选择自己的配置。

※※※正常代理与反向代理※※※
正向代理,作用:访问无法访问的网站,可以隐藏用户信息。从用户角度,用户需要配置一些东西才能访问特定的代理服务器。从服务器角度,只是多了一名看门人。
反向代理,作用:代理服务器,转发请求,实现负载均衡。从用户角度,用户感觉不到该代理服务器的存在。从服务器角度,多了一名拥有大门钥匙的管理者。

※※※负载均衡※※※
1、DNS负载均衡:
优点:将网址解析分配多个IP,操作简单,易于配置,成本低
缺点:时效性低,采用简单的轮询算法负载均衡效果差。
一般来说,这是负载均衡的一级策略。
2、反向代理服务器实现负载均衡:eg,Nginx
核心:转发HTTP请求
优点:多种分配算法,如默认的轮询算法可以设置权重提高被访问的次数,ip_hash算法,fair根据后台响应时间,url_hash根据url的hash值去访问对应的服务器。

※※※微服务架构※※※
CAP理论,一致性,可用性,分区容错性。
在分布式的架构中,P必须保证,所以只能在C和A中取舍。
zookeeper保证CP,当一个节点挂掉的时候,服务器会进行30S的选举leader操作,而eureka保证AP,每个节点都是平等的,当某个节点挂掉的时候,依然可以使用其他的节点,但是数据可能不是最新的,没有保证强一致性。

※※※微服务架构中的事务管理※※※
基于可靠消息的最终一致性方案,需要使用消息管理机制比如activeMQ来保证消息的最终一致性。
TCC事务补偿机制
try confirm/cancel,try一系列检查,成功则执行confirm,失败则执行canel
XA协议,二阶段提交,1OK,2OK,则开始执行,如果遇到失败则回滚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值