博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring cloud 各组件快速认知
阅读量:5759 次
发布时间:2019-06-18

本文共 1966 字,大约阅读时间需要 6 分钟。

hot3.png

主要功能模块:

Eureka:云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。分析:spring cloud 家族的基础模块,用于服务治理(服务发现、注册更新等),可以用zookeeper代替(个人更倾向eureka,因为感觉在这里CAP理论中AP比CP更合适),2.x eureka不再继续维护,但感觉不升级也基本够用了,当然也可以替换为 Consul 。

Feign:Feign是一种声明式、模板化的HTTP客户端。分析:很好的调用服务工具,整合了Ribbon和Hystrix。

Hystrix:熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。分析:方便实现,降级回滚、熔断、快速失败等操作。Hystrix有两种隔离策略线程隔离和信号量隔离,推荐一般使用线程隔离(官方、个人),只有负载(同等的资源支持的访问量)特别高的非网络调用才适合信号量隔离,因为线程隔离HystrixCommand会在单独的线程执行,不影响业务线程。

Ribbon:提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。了解:由六部分组成,ServerList 服务列表(一般基于服务发现),ServerListFilter服务列表过滤器(集成spring cloud 默认ZonePreferenceServerListFilter,),

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

配置支持模块:

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

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

监控运维模块

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

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

Spring Cloud Security:基于spring security的安全工具包,为你的应用程序添加安全控制。个人:快速实现安全验证、可以快速搭建oauht2体系、jwt认证协议等。

其它简介(根据需求选配):

Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。

Spring Cloud Data Flow:大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。

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

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

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

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

Spring Cloud Connectors:便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。

Spring Cloud Cluster:提供Leadership选举,如:Zookeeper, Redis, Hazelcast, Consul等常见状态模式的抽象和实现。

Spring Cloud Starters:Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。

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

Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。

Sidecar:异构服务解决方案,集成一个历史项目或者其它语言的项目到微服务体系。

转载于:https://my.oschina.net/haitaohu/blog/3051987

你可能感兴趣的文章
cocos2d中的坐标系统
查看>>
让IE10等支持classList2.0
查看>>
Spring IOC的配置使用
查看>>
VS2008发布程序
查看>>
用linqPad帮助你快速学习LINQ
查看>>
Windows Phone 8 下载文件进度
查看>>
VS2010 SP1安装失败之”此计算机的状态不支持此安装“()
查看>>
php时区设置 warning: strtotime(): It is not safe to rely on the system's timezone settings
查看>>
SecureCRT 滚动条设置
查看>>
领域驱动设计和实践(转:http://kb.cnblogs.com/page/112298/)
查看>>
Impossible WPF Part 1: Binding Properties
查看>>
struts 类型转换器
查看>>
Android 应用授权访问GooleDrive
查看>>
android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu
查看>>
struts2:异常处理
查看>>
SQL中CONVERT()函数用法详解
查看>>
Android版本号的识别——$(PLATFORM_VERSION)
查看>>
ASP.NET MVC Filters 4种默认过滤器的使用【附示例】
查看>>
阿里云服务搭建
查看>>
转XMLHelper
查看>>