近年来,微服务架构正逐渐成为互联网业界的一种主流服务机制。早期的互联网应用大多是单体架构,随着业务的不断累加,代码量不断增大,逻辑混乱,扩展性也会随之降低,导致系统的复杂性持续升高,维护成本也会随之增加等痛点问题。那么,微服务概念的出现,就能够很好的降低甚至解决单体架构的痛点。微服务主要就是对系统应用进行有效的拆分,拆分后的应用仅需实现自己的业务逻辑,而无需考虑其他,拆分出来的应用各司其职,这样就是一个轻量级的应用,可以实现快捷开发和部署。Spring Cloud的应运而生,为微服务架构提供了一套生态较为完整的分布式系统解决方案。

Spring Cloud作为Spring家族的新成员,不仅继承了家族的优秀传统,身后有一大帮兄弟给它撑腰,这些兄弟也就组成了Spring Cloud微服务架构的生态链。换言之,Spring Cloud就是一系列框架的有序集合,充分利用Spring Boot的便利性,简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终提供给开发者一套简单易懂、易部署和易维护的分布式系统开发工具包。以下是Spring Cloud生态圈一众伙伴的简要介绍。

Spring Cloud Config:配置管理工具包,可以将配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。

Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,官方集成了RabbitMQ,可与Spring Cloud Config联合实现热部署。

Spring Cloud Netflix:多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Ribbon等。

Spring Cloud NetflixEureka:这是 Spring Cloud Netflix 微服务套件中的一部分,主要负责完成微服务架构中的服务治理功能,包括服务注册中心、服务注册与服务发现机制的实现,同时实现负载均衡和中间层服务器的故障转移。

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

Spring Cloud Netflix Zuul:网关,提供动态路由、监控、弹性、安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

Spring Cloud Netflix Ribbon:提供客户端的负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。

Spring Cloud NetflixTurbine:聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。

Spring Cloud NetflixArchaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。

Spring CloudFeign:声明式、模板化的服务调用组件。

Spring Cloud Sleuth:日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。

Spring Cloud Security:基于spring security的安全工具包,提供应用安全控制。

Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。

Spring Cloud Stream:数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。

Spring Cloud CLI:基于 Spring Boot CLI,可以命令行方式快速建立云组件。

Spring Cloud Task:提供计划任务管理、任务调度。

项目组小葵花Cloud课堂的一张简图奉上:

相关项目可参考网站:Spring Cloud中文网

Spring Cloud技术栈简述相关推荐

  1. 客快物流大数据项目(一百零八):Spring Cloud 技术栈

    文章目录 Spring Cloud 技术栈 ​​​​前言 一.微服务技术栈

  2. Spring Cloud技术栈还没有学完!Hystrix又双叒叕停止更新了!

    作者:徐刘根 | 微信公众号 :Java后端技术(ID:JavaITWork) 今天无意间翻了一下Hystrix代码仓库,无意间看到最近的一条变更,竟然发现Hystrix也不再进行活跃的更新了,停止开 ...

  3. 基于CSE的微服务架构实践-Spring Cloud技术栈选型

    [摘要] 本文介绍了CSE和Spring Cloud的关系,在技术选型上的差异.介绍了Spring Cloud用户使用Spring Cloud物理多租和进行CSE开发的两种策略. 当Spring Cl ...

  4. Spring cloud技术栈

    1. springCloud SpringData 1.1 springData jpa & jdbc&mybatis 1.2 SpringData ES & Solr 1.3 ...

  5. Spring Cloud技术分析之Dubbo与Cloud的对比

    现如今微服务架构十分流行,而采用微服务构建系统也会带来更清晰的业务划分和可扩展性.同时,支持微服务的技术栈也是多种多样的,本系列文章主要介绍这些技术中的翘楚--Spring Cloud.这是序篇,主要 ...

  6. Spring Security技术栈学习笔记(十三)Spring Social集成第三方登录验证开发流程介绍

    开发第三方登录,我们必须首先要了解OAuth协议(本文所讲述的OAuth协议指的是OAuth2协议),本文首先简单介绍OAuth协议,然后基于Spring Social来阐述开发第三方登录需要做哪些准 ...

  7. 基于Spring Boot技术栈博客系统企业级前后端实战之课程导论(零)

    零.说明(必读) 一.课程概述 1.1 名称 1.2 功能 1.3 技术点 1.4 目标 二.核心功能 2.1 用户管理 2.2 安全设置 2.3 博客管理 2.4 评论管理 2.5 点赞管理 2.6 ...

  8. Spring Security技术栈学习笔记(十四)使用Spring Social集成QQ登录验证方式

    上一篇文章<Spring Security技术栈开发企业级认证与授权(十三)Spring Social集成第三方登录验证开发流程介绍>主要是介绍了OAuth2协议的基本内容以及Spring ...

  9. Spring Security技术栈学习笔记(八)Spring Security的基本运行原理与个性化登录实现

    正如你可能知道的两个应用程序的两个主要区域是"认证"和"授权"(或者访问控制).这两个主要区域是Spring Security的两个目标."认证&qu ...

  10. 综合使用spring cloud技术实现微服务应用

    cloud-config-server:配置服务器 cloud-eureka-server:eureka注册服务器 cloud-simple-service:一个使用mybatis的数据库应用,服务端 ...

最新文章

  1. ASP.NET MVC3细嚼慢咽---(2)模板页
  2. ImportError: DLL load failed: 找不到指定的模块
  3. androidEditTextinputType及android:imeOptions=”actionDone”(转)
  4. VS2010配置OpenCV
  5. SPDK,软件定义存储的催化剂
  6. python hacklib_【入门】angr:基于python的二进制分析框架
  7. BZOJ5289 洛谷4437:[HNOI/AHOI2018]排列——题解
  8. linux C 基于链表链的定时器
  9. linux 的常用命令---------第十一阶段(rpm、yum的仓库搭建)
  10. 致我唯一的kiyoumi
  11. java中int和Integer对比的一些坑
  12. 高等数学下——平面与直线
  13. 华为网络配置(路由配置)
  14. tplink错误代码51215_TPLINK路由器设置后访问受限
  15. js 利用window.getSelection() 实现简单的文字标注(鼠标选中文本,给其加下滑线、背景色)
  16. android 键盘挡住popupwindow,软键盘遮挡住popupWindow问题
  17. jQuery自定义插件
  18. WPF的TextBox抛出InvalidOperationException异常:Cannot close undo unit because no opened unit exists.
  19. 《新型智慧城市总体规划导则》发布
  20. 车载以太网 > 百兆100BaseT1转TX盒子拆解(包含3类产品)

热门文章

  1. 鸿蒙三千法则排名,三千法则名称大全_十大最强法则
  2. 解决systemback 无法生成超过4G的iso的问题
  3. php如何去除文件扩展名,php怎样去掉文件扩展名_后端开发
  4. 推荐一个不错的在线制图网站---ProcessOn
  5. python 金融知识图谱_从零搭建金融证券知识图谱-Part1
  6. 必备技能!聊聊二维码扫码登录的原理
  7. 服务器怎么格式化系统盘,如何格式化服务器
  8. 西北工业大学网络空间安全考研经验分享
  9. 鸿蒙中文翻译,华为鸿蒙出世,“鸿蒙”应该怎样翻译?这些古语才是中国人的浪漫!...
  10. HTTP 和 HTTPS 有什么区别?