Spring Cloud微服务框架介绍
Spring Cloud为开发人员提供了一整套的快速构建分布式应用的工具,入服务注册、服务发现、熔断、负载均衡、路由等,提供了开箱即用的各种依赖以及良好的可扩展机制。
目前在Spring Cloud的中文官网中列出了很多优质项目:
Spring Cloud没有重复的制造轮子,它吸取了很多家公司的优秀项目框架,通过Spring Boot的快速整合,屏蔽了复杂的配置,方便开发者快速构建自己需要的服务。
目前Spring Cloud为我们可以提供以下服务:
下面我们介绍几个常用的Spring Cloud下的服务组件。
1. Eureka
Netfilix公司出品(大佬为Spring Cloud生态提供了很多服务治理的组件)。
服务发现是微服务架构的原则之一,用于定位你在本地可提供的服务。Eureka是一个基于REST的云端服务发现的应用,当客户端注册Eureka服务时,提供了一系列自身的元数据,入主机、健康指示符URL等参数,Eureka服务器接收心跳消息维持这种服务。
2. Hystrix
熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
加入你目前的软件架构如下:
当ServiceB出现服务故障,并达到一定的阈值(Hystrix的默认是5秒内出现20次故障),则出现熔断机制,启用回退机制:
fallback机制可以是启动替代服务,也可以是让该服务下线。
3. Spring Cloud Config
配置中心,可以把配置放到远程服务器,进行集中化管理分布式环境下的配置,支持Git和SVN。
4. Spring Cloud Bus
事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
5. Spring Cloud Zookeeper
Spring Boot抱紧ZK的大腿。
6. 和Spring Boot的关系
Spring Boot是快速开发Spring应用的脚手架,Spring Cloud是一个基础Spring Boot实现的云应用开发工具集合。
7. 结尾语
Spring Cloud特别适合中小型公司,因为它们往往没有足够的财力开发各种基础设施,而Spring Could提供了一站式解决方案,大大减少了开发成本。对于大公司,Spring Could也方便构建核心系统之外的微服务,甚至抽丝剥茧般地对原来的巨型核心系统解耦。因此笔者相信Spring Cloud可成为下一代服务端框架的重要选择。
Spring Cloud微服务框架介绍的更多相关文章
- 浅谈现公司的Spring Cloud微服务框架
目录 说在前面 服务注册与发现 服务网关及熔断 配置中心 消息中心.服务链路追踪 小言 说在前面 本文偏小白,大佬慎入,若有错误或者质疑,欢迎留言提问,谢谢,祝大家新年快乐. spring cloud ...
- 简单Spring Cloud 微服务框架搭建
微服务是现在比较流行的技术,对于程序猿而言,了解并搭建一个基本的微服务框架是很有必要滴. 微服务包含的内容非常多,一般小伙伴们可以根据自己的需求不断添加各种组件.框架. 一般情况下,基本的微服务框架包 ...
- spring cloud 微服务介绍(转)
一.理解微服务 我们通过软件架构演进过程来理解什么是微服务,软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程. 1. 单体架构 1.1 特点(1)所有的功能集成在一个项目工程 ...
- Spring Cloud微服务系列文,服务调用框架Feign
之前博文的案例中,我们是通过RestTemplate来调用服务,而Feign框架则在此基础上做了一层封装,比如,可以通过注解等方式来绑定参数,或者以声明的方式来指定请求返回类型是JSON. 这种 ...
- Spring Cloud 微服务
https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw==&mid=2247486301&idx=2&sn=f6d45860269b61 ...
- Spring Cloud微服务中网关服务是如何实现的?(Zuul篇)
导读 我们知道在基于Spring Cloud的微服务体系中,各个微服务除了在内部提供服务外,有些服务接口还需要直接提供给客户端,如Andirod.IOS.H5等等. 而一个很尴尬的境地是,如果直接将提 ...
- 全链路实践Spring Cloud 微服务架构
Spring Cloud 微服务架构全链路实践Spring Cloud 微服务架构全链路实践 阅读目录: 网关请求流程 Eureka 服务治理 Config 配置中心 Hystrix 监控 服务调用链 ...
- Spring Cloud 微服务架构解决方案
1 理解微服务 1.1 软件架构演进 软件架构的发展经历了从单体结构.垂直架构.SOA架构到微服务架构的过程. 1.1.1 单体架构 特点: 1.所有的功能集成在一个项目工程中. 2.所有的功能打一个 ...
- Spring Cloud 微服务四:熔断器Spring cloud hystrix
前言:在微服务架构中,一般都是进程间通信,有可能调用链都比较长,当有底层某服务出现问题时,比如宕机,会导致调用方的服务失败,这样就会发生一连串的反映,造成系统资源被阻塞,最终可能造成雪崩.在sprin ...
随机推荐
- Mysql之explain调优
Explain调优 使用explain语法,对SQL进行解释,根据其结果进行调优: MySQL 表关联的算法是 Nest Loop Join,是通过驱动表的结果集作为循环基础数据,然后一条一条地通过该 ...
- 从工程角度看C++观察者模式中的接口是否需要提供默认的实现
在C++中,我们会经常用到观察者模式(回调模式,Delegate模式等,意思都一样),比如当Source中的某个参数发生了变化时,我们通过观察者模式进行回调通知,下面是一个例子: class Sour ...
- 【Error】InterfaceError (0, '')
也不知道什么时候接触到的这个错误,暂且记录下. 错误描述:InterfaceError (0, '') Traceback: File "/usr/local/lib/python2.7/s ...
- log4j打印不同颜色
1.首先在eclipse中安装一个插件: ANSI COLOR 在Eclipse Marketplace 中直接搜索 ANSI COLOR 然后安装 2.在log4j 中加入红色字体部分: < ...
- SpringBoot全家桶
前言 Spring简化了Java的开发,而SpringBoot简化了Spring.本文用SpringBoot采用分层的结构整合了filter,aspect,mybaits,logback,redis, ...
- .Net使用Redis详解之ServiceStack.Redis(7)
Net使用Redis详解之ServiceStack.Redis(七) 序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现,其中 ...
- chrome浏览器Uncaught TypeError: object is not a function问题解决
今天测试多浏览器的时候,chrome浏览器出现Uncaught TypeError: object is not a function: 解决办法:(不知道为啥子)改一下js的方法名字就可以了
- JS中获取数据库中的值
在本次项目中,遇到很多问题,经过努力,都逐步得到解决.静下心来,做一个记录,以供以后学习. 在项目中遇到一个问题,需要在JS中读取数据库中的值,然后再把值返回到页面中,解决方案如下:使用Ajax方法来 ...
- Linux下保存文件
经常需要dump数据,mark一下 #if 0 FILE * fd = NULL; fd = fopen("/mnt/raw.pcm", "ab+"); if ...
- 《Tomcat内核设计剖析》京东评论过百
到京东看了下<Tomcat内核设计剖析>评论都一百多了,上个月也第二次印刷了,这里看下好评.中评和差评. 好评: 中评 对于中评,请看 为什么<写Tomcat内核设计剖析>,就 ...