您的位置:首页 > 编程语言 > Java开发

Spring cloud学习笔记

2017-08-16 00:00 190 查看
关于spring cloud其实我2年前就开始关注了,特别是熔断器的设计让我眼前一亮。但是后来就没怎么关注spring cloud。这一年了用spring boot也有一些心得了,感觉可以上spring cloud,而且配置还比较简单。但是我还想和docker结合起来,感觉这才是微服务的核心。

spring cloud,关于api网关这一块,我想上spring cloud。这样的好处是方便统一认证,还有就是可以构建稳定,可拓展的服务。目前公司的企业号这一块,已经开始往前后端分离的方式稳步推进了,前端我们选型用的是vux2.0。后端的话,我们想采取Spring Cloud这种方式。这需要在原来代码中添加点修改。

####Spring Cloud Config
(配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion)
这样可以方便几种管理,但是不知道能不能修改直接生效。或者那些生效,那些不能生效。

####Eureka
(云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。)
可以简单的理解为服务发现,我觉得是Spring Cloud的核心模块之一,有了服务发现,可以简化很多过程。

####Hystrix
熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

防止雪崩。

####Ribbon 和 Feign
提供云端负载均衡,有多种负载均衡策略可供选择。
Feign是一种声明式、模板化的HTTP客户端。
这两个和在一起,是因为这两者常常配合起来使用。采用了Feign,感觉有点像rpc调用一样,就像是调用了本地代码一样。

####Turbine
Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。
方便观察服务是否健康。

还有Spring boot admin Server
方便用图形界面查看后台信息。

####分布式服务跟踪:Spring Cloud Sleuth

可以和Zipkin整合,可以查看调用过程,我没记错的话,应该是这样子的。

Zuul

Spring Cloud服务网关之Zuul

服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由、均衡负载功能之外,它还具备了权限控制等功能。Spring Cloud Netflix中的Zuul就担任了这样的一个角色,为微服务架构提供了前门保护的作用,同时将权限控制这些较重的非业务逻辑内容迁移到服务路由层面,使得服务集群主体能够具备更高的可复用性和可测试性。

如果想用好微服务的话,这一块是非常重要的,不然的话安全不能得到保障。

关于参考项目的话,我参考了git.oschina.com中的几个项目,这里我也推荐给大家。

uniorder / Spring Cloud Examples

Spring Cloud 与五大神兽的集成

NightRunner / spring-cloud-practice

spring-cloud-practice是基于Spring Cloud的编码实践。使用Eureka、Fegin、Zuul、Hystrix、ConfigServer,thymeleaf等技术。 欢迎拍砖

周立 / spring-cloud-study

Spring Cloud 学习代码示例,为《使用Spring Cloud与Docker实战微服务》的配套代码。
######这里还介绍了docker

lzhou / spring-cloud-7simpleJava

7天学会,spring cloud系列
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: