spring cloud组织架构

spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

主要项目

cloud 下的项目可以参考:https://springcloud.cc/
Spring Cloud Config
Spring Cloud Netflix
Spring Cloud Bus
Spring Cloud Security
Spring Cloud Zookeeper
......

Spring Cloud Config

由git仓库支持的统一配置管理。配置资源直接映射到SpringEnvironment,但如果需要,可以使用非Spring应用程序。

简介

Spring Cloud Config为分布式系统中的外部统一配置中心提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部(externalized)配置属性。客户端和服务器映射的概念与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何语言的应用程序一起使用。伴随着应用程序通过从开发环境到测试环境和生产环境的部署过程,您可以管理这些环境之间的配置,并确定应用程序不同环境迁移时需要所有配置属性。服务器存储端的默认实现使用git,因此它可以轻松支持带标签版本的配置环境,以及可以访问用于管理的内容的各种工具。可以轻松添加替代实现,并使用Spring配置将其插入。

功能

Spring Cloud Config Server功能:

  • 基于HTTP资源的外部配置API(名称/值对或等效的YAML内容)
  • 对属性值加密和解密(对称或非对称)
  • 可以使用@EnableConfigServer轻松嵌入Spring Boot应用程序

Config Client功能(适用于Spring应用程序):

  • 绑定到Config Server并使用远程的属性源初始化Spring Environment
  • 对属性值加密和解密(对称或非对称)

Spring Cloud Netflix

集成各种Netflix OSS组件(Eureka, Hystrix, Zuul, Archaius等)。

简介

Spring Cloud Netflix通过自动配置、绑定到Spring Environment 和其他Spring编程模型语法来为Spring Boot应用程序提供Netflix OSS集成。通过几个简单的注解,您可以快速启用和配置应用程序中的常见模式,并使用经过考验的Netflix组件构建大型分布式系统。 提供的常见模式包括服务发现(Eureka),融断机制(Hystrix),智能路由(Zuul)和客户端负载平衡(Ribbon)。

Netflix 与spring cloud

Netflix是一家做视频的网站,且是一家没有CTO的公司,正是这样的组织架构能使产品与技术无缝的沟通,从而能快速迭代出更优秀的产品。在当时软件敏捷开发中,Netflix的更新速度不亚于当年的微信后台变更,虽然微信比Netflix迟发展,但是当年微信的灰度发布和敏捷开发应该算是业界最猛的。

Netflix由于做视频的原因,访问量非常的大,从而促使其技术快速的发展在背后支撑着,也正是如此,Netflix开始把整体的系统往微服务上迁移。

Netflix的微服务做的不是最早的,但是确是最大规模的在生产级别微服务的尝试。也正是这种大规模的生产级别尝试,在服务器运维上依托AWS云。当然AWS云同样受益于Netflix的大规模业务不断的壮大。

Netflix的微服务大规模的应用,在技术上毫无保留的把一整套微服务架构核心技术栈开源了出来,叫做Netflix OSS,也正是如此,在技术上依靠开源社区的力量不断的壮大。

Pivotal在Netflix开源的一整套核心技术产品线的同时,做了一系列的封装,就变成了Spring Cloud。随着cloud 的不断壮大,Netflix变成了我们现在熟悉的spring cloud netflix。

功能

Spring Cloud Netflix功能:

  • 服务发现:可以注册Eureka实例,客户端可以使用Spring管理的bean来发现实例
  • 服务发现:可以使用声明式Java配置创建嵌入式Eureka服务器
  • 融断机制:Hystrix客户端可以使用简单的注释驱动方法装饰器构建
  • 融断机制:具有声明式Java配置的嵌入式Hystrix仪表板
  • 声明性REST客户端:Feign创建了一个使用JAX-RS或Spring MVC注解装饰的接口的动态实现
  • 客户端负载均衡器:Ribbon
  • 外部配置:从Spring Environment 到Archaius的桥梁(使用Spring Boot约定启用Netflix组件的本地配置)
  • 路由器和过滤器:Zuul过滤器的自动注册,以及反向代理创建的简单配置方法

Spring Cloud Bus

用于将服务和服务实例以及分布式消息传递链接的事件总线。 用于在集群中传播状态更改(例如配置更改事件)。

简介

Spring Cloud Bus将分布式系统的节点与轻量级消息代理连接起来。 这可以用于广播状态改变(例如配置改变)或其他管理指令。 目前唯一的实现是使用AMQP代理作为传输,但是相同的基本功能集(还有一些取决于传输)在其他传输的路线图上。

Spring Cloud Security

在Zuul代理中支持负载均衡的OAuth2 rest 客户端和认证头转发。

简介

Spring Cloud Security提供了一套用于构建安全的原语级应用程序和最小化服务。 可以从外部(或集中)高度配置的声明式模型适用于通常使用中央契约管理服务的大型合作远程组件系统的实现。 在像Cloud Foundry这样的服务平台上也很容易使用。基于Spring Boot和Spring Security OAuth2,我们可以快速创建实现单点登录,令牌中继和令牌交换等常见模式的系统。

功能

  • 在Zuul代理中将SSO令牌从前端转发到后端服务
  • 资源服务器之间的中继令牌
  • 一个拦截器可以使一个Feign客户端的行为像OAuth2RestTemplate(获取令牌等)
  • 在Zuul代理中配置下游认证

Spring Cloud Zookeeper

使用Apache Zookeeper进行服务发现和配置管理。

简介

Spring Cloud Zookeeper通过自动配置和绑定到Spring Environment和其他Spring编程模型语法来为Spring Boot应用程序提供Apache Zookeeper集成。 通过几个简单的注释,您可以快速启用和配置应用程序中的常见模式,并使用Zookeeper构建大型分布式系统。 提供的模式包括服务发现和分布式配置。

功能

  • 服务发现:可以向Zookeeper注册实例,客户端可以使用Spring管理的bean来发现实例
  • 通过Spring Cloud Netflix支持客户端负载均衡器Ribbon
  • 通过Spring Cloud Netflix支持Zuul,动态路由器和过滤器
  • 分布式配置:使用Zookeeper作为数据存储
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容