SpringCloud
鱼蛋。
这个作者很懒,什么都没留下…
展开
-
Turbine实现多服务或集群的数据监控
Turbine是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个服务或单个节点,实际生产中都为多服务集群,因此可以通过turbine来监控多集群服务。Turbine在Hystrix Dashboard中的作用如下:添加依赖<dependency> <groupId>org.springframe...原创 2019-08-27 17:58:21 · 262 阅读 · 0 评论 -
分布式服务跟踪 - Sleuth
一、Spring Cloud Sleuth简介现今互联网环境中,微服务系统越来越庞大、复杂,微服务间的调用关系也越加复杂。往往一个请求,会出发系统后台多个微服务协同工作得到最终结果,那么在复杂的调用网中,任何一个服务出现问题,都会导致整体功能出错。这时,微服务跟踪工具应运而生,其在整体微服务应用中能跟踪一个请求的整体流程。并提供数据采集,数据传输,数据存储,数据分析,数据可视化功能。微服务跟...原创 2019-08-27 17:48:59 · 249 阅读 · 0 评论 -
微服务设计
一、微服务架构的六种常用设计模式在使用微服务架构设计模式中,通常情况下是混合使用的。这里列举的是单一的模式。商业开发中,大多数都是混合使用的代理设计模式聚合设计模式保证多个服务配合执行的时候,可以由一个严格的逻辑顺序链条设计模式是多个服务通过链条式调用,得到最终结果的设计方式。类似责任链。链条长度不超过5。2~4之间。链条太长会导致网络通讯次数增多,降低效率。如果链...原创 2019-08-27 17:49:07 · 172 阅读 · 0 评论 -
Zuul网关
一、Zuul网关简介zuul是spring cloud中的微服务网关。网关: 是一个网络整体系统中的前置门户入口。请求首先通过网关,进行路径的路由,定位到具体的服务节点上。Zuul是一个微服务网关,首先是一个微服务。也是会在Eureka注册中心中进行服务的注册和发现。也是一个网关,请求应该通过Zuul来进行路由。Zuul网关不是必要的。是推荐使用的。使用Zuul,一般在微服务数量较多(...原创 2019-08-27 17:47:15 · 251 阅读 · 0 评论 -
Zuul网关的容错与调优
一、网关的阻断器a. 在spring cloud中,Zuul启动器中包含了Hystrix相关依赖,在Zuul网关工程中,默认是提供了Hystrix Dashboard服务监控数据的。可以说,在spring cloud中,zuul和Hystrix是无缝结合的b. 在Edgware版本之前,Zuul提供了接口ZuulFallbackProvider用于实现fallback处理。从Edgware版...原创 2019-08-27 17:47:07 · 271 阅读 · 1 评论 -
配置中心Config
1. 配置中心简介在常规的开发中,每个微服务都包含代码和配置。其配置包含服务配置、各类开关和业务配置。如果系统结构中的微服务节点较少,那么常规的代码+配置的开发方式足以解决问题。当系统逐步迭代,其微服务会越来越复杂,慢慢演化成网状依赖结构,这个时候常规的代码+配置的开发方式就并不合适了,因为还要考虑整体系统的扩展性、伸缩性和耦合性等。这些问题中,配置的管理也是非常麻烦的。如果还是以常规开发形...原创 2019-08-27 17:47:00 · 168 阅读 · 0 评论 -
配置中心Config加密
一、配置中心加密配置文件统一存储在GIT中,虽然增强了管理和版本控制,但是文件内容的安全性也成了问题。如果外部任意知道了GIT地址或spring-cloud-config-server的地址,那么配置文件的全部内容相当于对外完全开放。这个时候就需要提供配置内容加解密逻辑。将加密后的配置内容保存在GIT仓库中,在spring-cloud-config-client访问spring-cloud-c...原创 2019-08-27 17:46:53 · 1549 阅读 · 0 评论 -
消息总线 - bus
一、Spring Cloud Bus简介Spring Cloud Bus集成了市面上常见的RabbitMQ和Kafka等消息代理。其会连接微服务系统中所有拥有Bus总线机制的节点,当有数据变更的时候,会通过消息中间件使用消息广播的方式通知所有的微服务节点同步更新数据。(如:微服务配置更新等)实现Bus刷新功能需要在所有的config client端应用中增加spring-cloud-st...原创 2019-08-27 17:46:43 · 370 阅读 · 0 评论 -
SpringCloud Stream
一、SpringCloud Stream简介Spring Cloud Stream是spring数据集成的一个组成部件,为开发人员提供了更加简易的与外部系统连接的方式。Spring Cloud Stream对消息中间件提供了进一步的封装,可以做到代码层面无感知的与中间件交互。甚至可以做到动态切换中间件组件。(如:RabbitMQ和Kafka的切换)使用Spring Cloud Stream...原创 2019-08-27 17:46:36 · 348 阅读 · 0 评论 -
Zipkin实现分布式跟踪
一、Zipkin简介Zipkin是Sleuth服务跟踪工具的一个扩展。是基于Sleuth实现的可视化服务跟踪数据处理工具。执行原理事件类型:cs - client send 客户端发起请求cr - client receive 客户端接收响应ss - server send 服务端发送应答sr - server receive 服务端接收请求二、Zipkin实现过程使用Z...原创 2019-08-27 17:48:51 · 236 阅读 · 0 评论 -
JWT
一、JWT简介a. JWT(JSON Web Token), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也...原创 2019-08-27 17:48:44 · 132 阅读 · 0 评论 -
SpringCloud初识
SpringCloud 简介a. Spring Cloud是Spring旗下的一个顶级项目。b. Spring Cloud是一个服务治理平台,提供了一些服务框架。包含了:服务注册与发现、配置中心、消息中心 、负载均衡、数据监控等等。c. Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心...原创 2019-08-27 17:47:38 · 111 阅读 · 0 评论 -
Ribbon调用
一. 创建微服务的提供者工程编辑main方法import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.web.servlet.support.S...原创 2019-08-27 17:47:50 · 275 阅读 · 0 评论 -
Ribbon负载均衡
集中式负载均衡在客户端和服务端之间使用独立的负载均衡设施(可以是硬件,如F5, 也可以是软件,如nginx、LVS等), 由该设施负责把访问请求通过某种策略转发至服务端。进程内负载均衡将负载均衡逻辑集成到客户端组件中,客户端组件从服务注册中心获知有哪些地址可用,然后自己再从这些地址中选择出一个合适的服务端发起请求。Ribbon就是一个进程内的负载均衡实现。Ribbon...原创 2019-08-27 17:48:01 · 171 阅读 · 0 评论 -
Feign调用
1.添加feign的jar包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>2.编写Feign的接口...原创 2019-08-27 17:48:07 · 414 阅读 · 0 评论 -
Feign优化
一、开启GZIP压缩server: compression: enabled: true mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xmlfeign: compressi...原创 2019-08-27 17:48:14 · 415 阅读 · 0 评论 -
Hystrix - 阻断器
一、什么是灾难性雪崩效应造成灾难性雪崩效应的原因,可以简单归结为下述三种:服务提供者不可用。如:硬件故障、程序BUG、缓存击穿、并发请求量过大等。重试加大流量。如:用户重试、代码重试逻辑等。服务调用者不可用。如:同步请求阻塞造成的资源耗尽等。雪崩效应最终的结果就是:服务链条中的某一个服务不可用,导致一系列的服务不可用,最终造成服务逻辑崩溃。这种问题造成的后果,往往是无法预料的。...原创 2019-08-27 17:48:22 · 638 阅读 · 0 评论 -
Feign雪崩处理
Feign的阻断器在声明式远程服务调用Feign中,实现服务灾难性雪崩效应处理也是通过Hystrix实现的。而feign启动器spring-cloud-starter-feign中是包含Hystrix相关依赖的。如果只使用服务降级功能不需要做独立依赖。如果需要使用Hystrix其他服务容错能力,需要依赖spring-cloud-starter-hystrix资源。从Dalston版本后,feig...原创 2019-08-27 17:48:29 · 346 阅读 · 0 评论 -
Hystrix Dashboard - 数据监控
Hystrix dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。添加依赖<dependency> <groupId>org.springframework.boot</groupId> <ar...原创 2019-08-27 17:48:37 · 144 阅读 · 0 评论 -
SpringCloud的注册中心
Eureka简介Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka组件Eureka包含两个组件:Eureka Server和Eu...原创 2019-08-27 17:46:22 · 196 阅读 · 0 评论