[Spring] spring bean的加载流程?
https://blog.csdn.net/hsj1213522415/article/details/78166741
[Spring] BeanFactory与ApplicationText的关系和区别?
https://blog.csdn.net/b9x__/article/details/80268408
[Spring] SpringMVC执行流程?
https://www.cnblogs.com/gdwkong/p/8784591.html
https://blog.csdn.net/liangzi_lucky/article/details/52459378
https://blog.csdn.net/leisure_life/article/details/72793738
[Spring] SpringIOC是怎么实现的?
https://www.cnblogs.com/superjt/p/4311577.html
https://blog.csdn.net/jiangyu1013/article/details/72654373
[Spring] Spring事物传播特性?
https://blog.csdn.net/lovesomnus/article/details/69942697
https://www.cnblogs.com/zhangqian1031/p/6542037.html
[Spring] springmvc常用注解
https://www.cnblogs.com/leskang/p/5445698.html
[Spring] SpringBean的作用域?
https://blog.csdn.net/ethanwhite/article/details/51476238
[Spring] aop是如何实现的,底层用到了哪些技术。动态代理有哪几种方式?他们区别是什么?
aop底层采用反射和动态代理机制。动态代理分为两种。
两者区别:jdk动态代理基于接口,cglib基于类即可。
如果类实现了接口,则使用jdk代理。如果没有实现接口,则使用CGlib代理。
[SpringBoot] @RestController和@Controller的区别?
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
若返回json等内容到页面,则需要加@ResponseBody注解
[SpringBoot] 使用了哪些SpringBoot的特性?
1.独立运行spring项目,springboot可以以jar包形式独立运行。
2.内嵌servlet容器,使得我们可以执行项目的主函数快速运行项目。
3.提供starter来简化maven的配置。常用的starter有web,tomcat,actuator。
4.自动配置spring。springboot会根据我们项目中的类路径的jar包,为jar包类进行自动的装配bean。如果类中使用@SpringbootApplication或者EnableAutoConfiguration。在启动是springboot服务时,对象实例化时会加载class/META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器中。
5.应用监控。
springboot提供了actuator组件,只需要在配置中加入spring-boot-starter-actuator依赖,通过继承AbstractHealthIndicator这个抽象类,然后在doHealthCheck()方法中检测服务健康的方法,就可以实现一个简单的监控。
http://www.cnblogs.com/canmeng-cn/p/8531381.html
[微服务] SpringCloud 使用了哪些Cloud组件?
EureKe 服务治理组件 可以注册服务接口中心
Hystrix 容错管理组件,实现断路器模式,帮助服务依赖中出现的延迟和故障提供容错机制
Ribbon
Ribbon 是一个基于 HTTP 和 TCP 客户端的负载均衡器
它可以在客户端配置 ribbonServerList(服务端列表),然后轮询请求以实现均衡负载
它在联合 Eureka 使用时
ribbonServerList 会被 DiscoveryEnabledNIWSServerList 重写,扩展成从 Eureka 注册中心获取服务端列表
同时它也会用 NIWSDiscoveryPing 来取代 IPing,它将职责委托给 Eureka 来确定服务端是否已经启动
Feign
Spring Cloud Netflix 的微服务都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去調用
而 Feign 是一個使用起來更加方便的 HTTP 客戶端,它用起來就好像調用本地方法一樣,完全感覺不到是調用的遠程方法
总结起来就是:发布到注册中心的服务方接口,是 HTTP 的,也可以不用 Ribbon 或者 Feign,直接浏览器一样能够访问
只不过 Ribbon 或者 Feign 调用起来要方便一些,最重要的是:它俩都支持软负载均衡
Zuul 网关组件,提供路由,访问过滤
[SpringCloud] Ribbon 和Feign 区别?
[微服务] 分布式事物怎么实现?
tcc
[微服务] 分布式怎么实现数据一致性?
通过业务铺补偿
[微服务] CAP理论是什么?
一致性(Consistency)
一致性(Consistency),说的是每一个更新成功后,分布式系统中的所有节点,都能读到最新的信息。即所有节点相当于访问同一份内容,这样的系统就被认为是强一致性的。
可用性(Availability)
可用性(Availability),是每一个请求,都能得到响应。请求只需要在一定时间内返回即可,结果可以是成功或者失败,也不需要确保返回的是最新版本的信息。
分区容错性(Partition tolerance)
分区容错性(Partition tolerance),是说在网络中断,消息丢失的情况下,系统照样能够工作。
Eureka遵循AP理论(可用性和分区容错性)