SpringBoot服务

结合下面的图,简单介绍下SpringBoot 和 SpringCloud 项目的流程:

当启动一个 SpringBoot 项目时,SpringBoot会启动一个内嵌的Tomcat,Spring容器会扫描所有的代码,根据注解或配置实例化bean,SpringBoot会根据依赖关系自动转配一些bean并注入到容器中,当浏览器发送请求时,Zuul网关系统会将请求转发到指定的服务器,然后Tomcat处理请求。

 SpringBoot的核心组件:

1、eureka 服务注册中心 

2、ribbon 负载均衡

3、feign 声明式服务调用

4、zuul 网关服务

5、hystrix 服务容错

6、还有一些服务的治理追踪等组件

eureka注册中心的实现原理:

  服务注册到eureka注册中心,eureka 会维护两块缓存区域 readonly 和 readwrite,线程A 和 线程B 定时同步数据,当注册中心有服务挂掉时会清空 readwrite (缓存B),服务调用者定时拉取缓存A的注册信息,当缓存A发现自己和缓存B的数据不一样时,这是缓存B会重新向注册中心拉取新的数据。同时服务提供者也会定时发送心跳给注册中心,告诉注册中心自己还活着。

原文地址:https://www.cnblogs.com/handongxue/p/12823091.html