这段时间一直在看springcloud 终于感觉自己算是入门了一点了
一下是个人学习所得的心得,只是简单的为了做笔记而已。 可能写的不太明了,毕竟文笔有限,望见谅。
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。
这里要注意。springcloud是必须依赖于springboot来开发的。spring -> spring booot > Spring Cloud 这样的关系。
微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,springcloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,springcloud做为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。
springCloud下的小兄弟有很多很多,想了解的可以去看下http://www.ityouknow.com/ 原文讲 的很详细。
我这里重点讲一下我自己个人的见解。有一下一个。
Eureka 服务中心,云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
Eureka的基本架构,由3个角色组成:
1、Eureka Server
2、Service Provider
3、Service Consumer
spring-cloud-starter-eureka-server 依赖
@EnableEurekaServer 启动Eureka 实现服务注册中心
@EnableDiscoveryClient 服务提供者 添加@EnableDiscoveryClient
注解后,项目就具有了服务注册的功能
启动类添加@EnableDiscoveryClient
和@EnableFeignClients
注解。 服务订阅者/消费者
hystrix 熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
可以直接简单的把它理解成报错时不让用户看到糟糕的宕机情况,
feign.hystrix.enabled=true 打开熔断器
Zuul Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。
简单的理解成网关路由,跟之前的拦截器是一样的效果,但是更牛逼一点,
Config 俗称的配置中心,配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。
配置中心就不用说了 将现有的本地配置 放在在git/svn上远程调用。实现统一管理,然后就引出了springCloud又一大功能,消息总线 Bus 在配置刷新后 不重启服务也能重新获取到新的配置信息
不过要用cmd 发送 一个post执行给webhook
curl -X POST http://localhost:8001/bus/refresh
这一点还得重点学习一下。
总结:最基本的还是要记住这些微服务框架针对的还是服务,服务的注册百变不离其中,发布和订阅,提供者和消费者还注册中心他们之间的关系很重要。