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 ...
随机推荐
- [Android]Android焦点流程代码分析
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/7286503.html 通过View的View::focusSe ...
- [补档][NOI 2008]假面舞会
[NOI 2008]假面舞会 题目 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一个自己喜欢的面具. 每个面具都有一 ...
- Python 发展历史
1. Python发展历史 起源 Python的作者,Guido von Rossum,荷兰人.1982年,Guido从阿姆斯特丹大学获得了数学和计算机硕士学位.然而,尽管他算得上是一位数学家,但他更 ...
- websocket 70K连接测试
websocket 70K连接测试 最近使用socket.io做了一个实时应用,实时性.稳定性还是很让人满意的.如果拿socket.io来做小型应用,综合效率应该是最高的.但是网上少有socket.i ...
- 嵌入式GPIO接口及操作(一)
GPIO意思就是通用输入输出,一些引脚可以通过他们输出高低电平,或者通过它们读入引脚的状态.对GPIO的操作是对所有硬件的操作最基本的技能.一.通过寄存器来操作GPIO引脚,一个引脚可以用于输入.输出 ...
- Python requests 安装与开发
Requests 是用Python语言编写HTTP客户端库,跟urllib.urllib2类似,基于 urllib,但比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求, ...
- 经纬度坐标数据处理——基于R
ggmap w=read.csv("LA.Neighborhoods.csv") w=data.frame(w,density=w$Population/w$Area) u=w[, ...
- android 学习Layout布局的使用
android 常用布局 LinearLayout(线性布局) 线性的 垂直的 水平的RelativeLaytout(相对布局) 最灵活的TableLayout(表格布局) 使用GridView代替A ...
- 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6155 Subsequence Count 矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6155 题意: 题解来自:http://www.cnblogs.com/iRedBean/p/73982 ...
- WebApi 的CRUD 的方法的应用
一.最近一直在忙于开发公司的新的项目和搭建公司的框架,也好久没有写博客了.对于RaidDevelopmentFramework 我有着自己的见解在应用到实际的框架中确实挺好用的,但是还是存在一部分的问 ...