spring cloud认识
Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,springcloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,springcloud做为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。
主要的小弟有:Spring Cloud Config、Spring Cloud Netflix(Eureka、Hystrix、Zuul、Archaius...)、Spring Cloud Bus、Spring Cloud Consul、Spring Cloud Security、Spring Cloud Stream、Spring Cloud Task、Spring Cloud Zookeeper等具体可参考官网。
Spring Cloud Eureka:
Spring Cloud Eureka是基于Spring Cloud Netflix微服务套件中的一部分,基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。
服务注册中心:Eureka提供的服务端,提供服务发现与注册的功能。
(1)失效剔除:默认每60秒将当前清单中超时90秒没有续约的服务剔除
(2)自我保护:Eureka Servce在运行期间,会统计失败的比例在15分钟之内是否低于85%,如果出现低于Eureak Servce会将当前注册的信息保护起来。
服务提供者:提供服务的应用,将自己注册到Eureka的服务端。
(1)在启动的收发送REST请求将自己注册到Eureak服务端
(2)在集群的情况下多个注册中心通过相互注册的形式来达到注册中心列表信息的一致。在注册到其中一台注册中心时由于多个注册中心已经相互注册,所以该注册中心会把消息转发给其他的注册中,达到信息的一致
(3)在注册完成之后默认每30秒像注册中心发送消息告诉注册中心我还活着别把我从注册中心列表剔除,如果90秒内都没收到心跳服务会把该服务从注册中心剔除。但是如果注册中心在短时间内丢失过多的服务时(因网络原因或者其他原因)会进入自我保护模式(不会注销任何服务),在网络故障恢复后service会自动退出自我保护模式。
服务消费者:消费者从服务注册中心获取服务列表,从而使消费者可以知道去何处调用其所需的服务。
(1)获取服务,在我们启动服务消费者的时候,它会发送一个REST请求到注册中,来获取已注册的服务清单。获取服务是消费者的基础,所以必须确保eureka.client.fetch-registry=true(默认就是true)服务清单默认30秒更新一次
(2)服务调用Ribbon默认采用轮询的方式进行调用,从而实现客户端的负载均衡
Spring Cloud Ribbon:
Spring Cloud Ribbon是一个基于HTTP和Tcp的客户端负载均衡工具,它基于Netflix Ribbon实现。
Spring Cloud Hystrix:
Spring Cloud Hystrix容错管理组件,实现断路器模式,帮助服务依赖出现的延迟和为故障提供强大的容错能力。具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能。
在Hystrix底层中大量使用了RxJava(观察者-订阅者模式)
Spring Cloud Feign
Spring Feign集成了Ribbon和Hystrix,它还提供了一种声明式的web服务客户端定义式
Spring Cloud Zuul
后续补上.....
spring cloud认识的更多相关文章
- spring/spring boot/spring cloud开发总结
背景 针对RPC远程调用,都在使用dubbo.dubbox等,我们也是如此.由于社区暂停维护.应对未来发展,我们准备尝试新技术(或许这时候也不算什么新技术了吧),选择使用了spring ...
- 转 Netflix OSS、Spring Cloud还是Kubernetes? 都要吧!
Netflix OSS.Spring Cloud还是Kubernetes? 都要吧! http://www.infoq.com/cn/articles/netflix-oss-spring-cloud ...
- spring cloud 学习研究- spring-cloud-microservice-example
spring cloud + docker 微服务架构 http://www.open-open.com/lib/view/open1437363835818.html 实例项目 https://gi ...
- Spring Cloud集成相关优质项目推荐
Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储.Git以及Subversion. Spring Cloud Bus 事件.消 ...
- spring boot分布式技术,spring cloud,负载均衡,配置管理器
spring boot分布式的实现,使用spring cloud技术. 下边是我理解的spring cloud的核心技术: 1.配置服务器 2.注册发现服务器eureka(spring boot默认使 ...
- Spring Cloud 配置服务
Spring Cloud 配置服务 1. 配置服务简介 产生背景: 传统开发中,我们通常是将系统的业务无关配置(数据库,缓存服务器)在properties中配置,在这个文件中不会经常改变,但随着系统规 ...
- Microservices Reference Architecture - with Spring Boot, Spring Cloud and Netflix OSS--转
原文地址:https://www.linkedin.com/pulse/microservices-reference-architecture-spring-boot-cloud-anil-alle ...
- 综合使用spring cloud技术实现微服务应用
在之前的章节,我们已经实现了配置服务器.注册服务器.微服务服务端,实现了服务注册与发现.这一章将实现微服务的客户端,以及联调.实现整个spring cloud框架核心应用. 本文属于<7天学会s ...
- Spring cloud实现服务注册及发现
服务注册与发现对于微服务系统来说非常重要.有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务. 本文属于<7天学会spring cloud系列& ...
- 使用spring cloud实现分布式配置管理
<7天学会spring cloud系列>之创建配置管理服务器及实现分布式配置管理应用. 本文涉及到的项目: 开源项目:http://git.oschina.net/zhou666/spri ...
随机推荐
- 创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)
上一节我们搭建好实验环境,配置并运行了consul,今天开始创建 overlay 网络. 在 host1 中创建 overlay 网络 ov_net1: -d overlay 指定 driver 为 ...
- 生成二维码的js以及调用打印插件
插件: qrcode.js 插件下载网址:http://code.ciaoca.com/javascript/qrcode/ 用法实例: <script type="text/java ...
- multiset与set
set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样.所有的操作的都是严格在logn时间之内完成,效率非常高. set和multiset的 ...
- 自己动手封装一个url参数解释器( ghostWuUrlParser.js )
ghostWuUrlParser.js的作用是分析一段url中的查询参数,即: '?'号后面的 键值对参数. ghostWuUrlParser.js 使用说明: ghostWuUrlParser( ' ...
- 58. Length of Last Word【leetcode】
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...
- WebServices客户端代码生成
方式一: 官网下载cxf运行包:http://cxf.apache.org/download.html axis2:http://axis.apache.org/axis2/java/core/dow ...
- python_装饰器_语法糖
什么是高阶函数? -- 把函数名当做参数传给另外一个函数,在另外一个函数中通过参数调用执行 #!/usr/bin/python3 __author__ = 'beimenchuixue' __blog ...
- 调整ORACLE用户关闭密码有效期
--调整ORACLE用户关闭密码有效期 ----------------------------------2013/11/12 在oracle中执行一下操作:1.查看用户的proifle是那个,一 ...
- Vim命令快捷键(网摘)
Vim命令快捷键(网摘) 原文出处:[?---->home]
- HTTP协议发展介绍
HTTP协议工作于C/S架构上,是万维网服务器传输超文本到本地客户端的一种应用层协议,全称是:Hyper Text Transfer Protocol(超文本传输协议),HTTP是基于TCP/IP通信 ...