1.springCloud的概述:
SpirngCloud是目前微服务框架领域中非常实用的一套实现方案,除了SpirngCloud微服务框架,Dubbo微服务也是使用比较多(阿里的开源服务)
相对于Dubbo,SpringCloud的组件支持丰富,功能齐全,而Dubbo的很多组件都需要开发人员自行配置。
2.SpirngCloud的组成:
核心组件:
- SpringCloud的核心组件 Netflix Eureka :服务发现
- SpringCloud的核心组件 Netflix fegin :客户端的负载均
- SpringCloud的核心组件 Netflix Ribbon: 也叫客户端的负载均衡器
- SpringCloud的核心组件 Netflix Hystrix: 断路器
- SpringCloud的核心组件 Netflix Zuul: 服务网关
- SpringCloud的分布式配置:Config;
3.SpringCloud核心组件的功能
- Eureka:spring cloud中的注册中心,负责服务的注册与发行,主要分为:
Eureka Client:负责将当前这个服务的信息注册到EurekaService中;
Eureka Service:注册中心,有一个注册表,负责保存各个服务的机器所在的位置和监听的端口号; - Feign:负责 客户端的负载均衡,使用动态代理,实现InventoryService接口,通过解析请求构造匹配相应的注解,访问对应的服务方法
- Ribbon:结合Feign使用,当客户端产生请求,确定该请求访问到的地址及端口号,开发人员可以自行编写其分配方法,默认为 轮询算法 的形式访问
- Hystrix:通过隔离,熔断以及降级的处理方式,内部创建很多个小的线程池,每个线程池中的线程 就仅仅用于当前请求的那个服务。当某个服务出现“服务雪崩”现象,能够保证主要服务流程不卡死。
- Zuul:微服务的网关,这个组件负责网络路由。发送过来的请求都会在通过网关来走,网关会根据请求中的一些特征 生成路由表 将请求转发给后的各个服务;
- Config:配置中心,包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。
唉,插一句题外话,最近因为各种各样的原因,变得有点懈怠了,大四过半,找工作和毕业的问题接踵而来,不能再放松自己了,趁着这次闭关在家,继续学习充电,加油!!!