博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud学习整理
阅读量:5923 次
发布时间:2019-06-19

本文共 1233 字,大约阅读时间需要 4 分钟。

hot3.png

最近学习了下Spring Cloud,这篇文章的目的就是总结一下我对Spring Cloud的总体框架理解:

 

一. 整体框架总结

    在学习Spring Cloud之前,我使用过Spring Boot。在生产环境中Spring Boot也比较好的的支持了微服务的开发,那为什么还需要有Spring Cloud这个项目呢?  没有Spring Cloud,Spring Boot只能提供单点的微服务实现,如果是集群环境,那就需要额外的上层组件来提供节点间协调的功能,而分布式系统各节点间协调,通常是很麻烦的事情,需要在每个节点做很多工作,比如让服务均衡的分布到单个节点,在单个节点挂掉的时候整个集群的访问还能够正常,集群迁移时配置的快速调整等等,没有Spring Cloud,这些操作都是非常麻烦的事情。

     截止Dalston.SR2版本,Spring Cloud提供了以下特性:支持分布式配置管理、服务注册与发现、路由、服务链调用、负载均衡、熔断器、分布式消息,使微服务的集群的开发部署变得便捷。得益于Spring天生的高扩展性,这些特性都是高度可定制,目前的支持列表如下:

     

     1.分布式配置管理:spring-cloud-config-server

     2.服务注册与发现:Eureka

     3.路由:Zuul

     4.负载均衡:Ribbon + Zuul

     5.熔断器:Hystrix

         

二. 各组件功能

     1.分布式配置管理(spring-cloud-config-server )

       分布式配置管理主要包含以下功能要点:配置中心、配置刷新。spring-cloud的配置中心支持git/svn/本地文件等多种方式。配置刷新支持单点刷新、多个应用的刷新、以及自动刷新。

     

     2.服务注册与发现(Eureka)

        服务注册与发现里通常会有三个角色:服务消费者、服务提供者、服务注册中心。Spring Cloud提供了两个组件(Eureka Server 与 Eureka Client),Eureka Client可以理解为服务消费者,Eureka Server则可以理解为服务提供者+服务注册中心。Eureka Server之间会通信,维持一份服务列表,Eureka Client本地也会缓存一份服务列表。

 

     3.路由(Zuul)

        Zuul提供了路由的功能,支持正则表达式、path+url、path+serviceid等方式。

 

     4.负载均衡(Ribbon + Zuul)

        Zuul支持Eureka Server侧负载均衡,Ribbon提供Eureka Client侧负载均横。

          

     5.熔断器(Hystrix)

        如果一个服务提供者节点访问有问题,需要为之提供一些异常处理的策略。熔断器就是其中一种,一旦发现异常,新的请求便默认中断一段时间,不用消耗无谓的资源。Hystrix支持各种定制的熔断策略。

转载于:https://my.oschina.net/francisxjl/blog/1507352

你可能感兴趣的文章
ZTree获取根节点
查看>>
js中eval()和$.parseJSON()的区别
查看>>
【cisco下针对冗余链路故障备份的处理措施】
查看>>
转:PHP Liunx 服务安全防范方案
查看>>
2,创建表格的几个元素
查看>>
ios 开发 收起键盘的小技巧
查看>>
各类无次数限制的免费API接口,再也不怕找不到免费API了
查看>>
[c#] Html Agility Pack 解析HTML
查看>>
Redis_集群_主从模式_哨兵模式
查看>>
【PKUSC2019】线弦图【计数】【树形DP】【分治FFT】
查看>>
cxLookupComboBox使用方法
查看>>
C# 之泛型详解
查看>>
POJ1017 Packets(贪心)
查看>>
第一次随笔
查看>>
我的操作系统复习——存储器管理
查看>>
Java二十三设计模式之------责任链模式
查看>>
IDEA之配置git
查看>>
HTML5网页音乐播放器
查看>>
行列式的乘法定理
查看>>
【云图】如何制作中国贪官落马图?
查看>>