![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringCloud - 教学
文章平均质量分 81
鸿祯
书是纯洁、美好的特殊世界,生活在其中,其乐无穷。
展开
-
SpringBootAdmin与Consul、Apollo集成,并与钉钉进行对接实现报警功能
新建SpringBoot工程,并引入jar包如下: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> &.原创 2020-11-25 14:17:45 · 734 阅读 · 0 评论 -
SpringCloud初识
SpringCloud 简介a. Spring Cloud是Spring旗下的一个顶级项目。b. Spring Cloud是一个服务治理平台,提供了一些服务框架。包含了:服务注册与发现、配置中心、消息中心 、负载均衡、数据监控等等。c. Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心...原创 2019-08-12 09:19:45 · 429 阅读 · 0 评论 -
SpringCloud的注册中心
##1. 在pom.xml中添加配置管理和相关jar包 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE&l...原创 2019-07-19 10:42:54 · 628 阅读 · 0 评论 -
Ribbon调用
一. 创建微服务的提供者工程编辑main方法import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.web.servlet.support.Sp...原创 2019-08-12 15:51:51 · 514 阅读 · 0 评论 -
Ribbon负载均衡
集中式负载均衡在客户端和服务端之间使用独立的负载均衡设施(可以是硬件,如F5, 也可以是软件,如nginx、LVS等), 由该设施负责把访问请求通过某种策略转发至服务端。进程内负载均衡将负载均衡逻辑集成到客户端组件中,客户端组件从服务注册中心获知有哪些地址可用,然后自己再从这些地址中选择出一个合适的服务端发起请求。Ribbon就是一个进程内的负载均衡实现。Ribbon...原创 2019-08-12 16:30:16 · 416 阅读 · 0 评论 -
Feign调用
添加feign的jar包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>编写Feign的接口服...原创 2019-08-12 17:24:41 · 6719 阅读 · 1 评论 -
Feign优化
一、开启GZIP压缩server: compression: enabled: true mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xmlfeign: compressio...原创 2019-08-12 17:44:03 · 769 阅读 · 0 评论 -
Hystrix - 阻断器
解决灾难性雪崩效应解决灾难性雪崩效应的方式通常有: 降级、隔离、熔断、请求缓存、请求合并.原创 2019-08-12 17:59:18 · 982 阅读 · 0 评论 -
Feign雪崩处理
在声明式远程服务调用Feign中,实现服务灾难性雪崩效应处理也是通过Hystrix实现的。而feign启动器spring-cloud-starter-feign中是包含Hystrix相关依赖的。如果只使用服务降级功能不需要做独立依赖。如果需要使用Hystrix其他服务容错能力,需要依赖spring-cloud-starter-hystrix资源。从Dalston版本后,feign默认关闭Hystr...原创 2019-08-13 11:03:10 · 568 阅读 · 0 评论 -
Hystrix Dashboard - 数据监控
Hystrix dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。添加依赖<dependency> <groupId>org.springframework.boot</groupId> <art...原创 2019-08-13 11:54:27 · 615 阅读 · 0 评论 -
Zuul网关
一、Zuul网关简介zuul是spring cloud中的微服务网关。网关: 是一个网络整体系统中的前置门户入口。请求首先通过网关,进行路径的路由,定位到具体的服务节点上。Zuul是一个微服务网关,首先是一个微服务。也是会在Eureka注册中心中进行服务的注册和发现。也是一个网关,请求应该通过Zuul来进行路由。Zuul网关不是必要的。是推荐使用的。使用Zuul,一般在微服务数量较多(...原创 2019-08-13 14:32:05 · 16052 阅读 · 1 评论 -
Zuul网关过滤器
一、zuul网关过滤器Zuul中提供了过滤器定义,可以用来过滤代理请求,提供额外功能逻辑。如:权限验证,日志记录等。Zuul提供的过滤器是一个父类。父类是ZuulFilter。通过父类中定义的抽象方法filterType,来决定当前的Filter种类是什么。有前置过滤、路由后过滤、后置过滤、异常过滤。前置过滤:是请求进入Zuul之后,立刻执行的过滤逻辑。路由后过滤:是请求进入Zuul之后...原创 2019-08-13 15:50:33 · 1588 阅读 · 0 评论 -
Zuul网关的容错与调优
一、网关的阻断器a. 在spring cloud中,Zuul启动器中包含了Hystrix相关依赖,在Zuul网关工程中,默认是提供了Hystrix Dashboard服务监控数据的。可以说,在spring cloud中,zuul和Hystrix是无缝结合的b. 在Edgware版本之前,Zuul提供了接口ZuulFallbackProvider用于实现fallback处理。从Edgware版...原创 2019-08-13 16:00:25 · 832 阅读 · 0 评论 -
配置中心Config
1. 配置中心简介在常规的开发中,每个微服务都包含代码和配置。其配置包含服务配置、各类开关和业务配置。如果系统结构中的微服务节点较少,那么常规的代码+配置的开发方式足以解决问题。当系统逐步迭代,其微服务会越来越复杂,慢慢演化成网状依赖结构,这个时候常规的代码+配置的开发方式就并不合适了,因为还要考虑整体系统的扩展性、伸缩性和耦合性等。这些问题中,配置的管理也是非常麻烦的。如果还是以常规开发形...原创 2019-08-13 17:20:00 · 727 阅读 · 0 评论 -
配置中心Config加密
一、配置中心加密配置文件统一存储在GIT中,虽然增强了管理和版本控制,但是文件内容的安全性也成了问题。如果外部任意知道了GIT地址或spring-cloud-config-server的地址,那么配置文件的全部内容相当于对外完全开放。这个时候就需要提供配置内容加解密逻辑。将加密后的配置内容保存在GIT仓库中,在spring-cloud-config-client访问spring-cloud-c...原创 2019-08-13 17:49:29 · 1877 阅读 · 0 评论 -
消息总线 - bus
一、Spring Cloud Bus简介Spring Cloud Bus集成了市面上常见的RabbitMQ和Kafka等消息代理。其会连接微服务系统中所有拥有Bus总线机制的节点,当有数据变更的时候,会通过消息中间件使用消息广播的方式通知所有的微服务节点同步更新数据。(如:微服务配置更新等)实现Bus刷新功能需要在所有的config client端应用中增加spring-cloud-st...原创 2019-08-13 18:03:17 · 644 阅读 · 0 评论 -
Zipkin实现分布式跟踪
一、Zipkin简介Zipkin是Sleuth服务跟踪工具的一个扩展。是基于Sleuth实现的可视化服务跟踪数据处理工具。执行原理事件类型:cs - client send 客户端发起请求cr - client receive 客户端接收响应ss - server send 服务端发送应答sr - server receive 服务端接收请求二、Zipkin实现过程使用Z...原创 2019-08-14 10:51:35 · 321 阅读 · 0 评论 -
SpringCloud Stream
一、SpringCloud Stream简介Spring Cloud Stream是spring数据集成的一个组成部件,为开发人员提供了更加简易的与外部系统连接的方式。Spring Cloud Stream对消息中间件提供了进一步的封装,可以做到代码层面无感知的与中间件交互。甚至可以做到动态切换中间件组件。(如:RabbitMQ和Kafka的切换)使用Spring Cloud Stream...原创 2019-08-14 10:37:35 · 400 阅读 · 0 评论 -
分布式服务跟踪 - Sleuth
一、Spring Cloud Sleuth简介现今互联网环境中,微服务系统越来越庞大、复杂,微服务间的调用关系也越加复杂。往往一个请求,会出发系统后台多个微服务协同工作得到最终结果,那么在复杂的调用网中,任何一个服务出现问题,都会导致整体功能出错。这时,微服务跟踪工具应运而生,其在整体微服务应用中能跟踪一个请求的整体流程。并提供数据采集,数据传输,数据存储,数据分析,数据可视化功能。微服务跟...原创 2019-08-14 10:46:01 · 842 阅读 · 0 评论 -
Turbine实现多服务或集群的数据监控
Turbine是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个服务或单个节点,实际生产中都为多服务集群,因此可以通过turbine来监控多集群服务。Turbine在Hystrix Dashboard中的作用如下:添加依赖<dependency> <groupId>org.springframework.cloud</gro...原创 2019-08-13 12:04:55 · 431 阅读 · 0 评论 -
SpringCloud中的分布式事务
一、基于XA的两阶段提交方案两阶段提交方案应用非常广泛,几乎所有商业OLTP数据库都支持XA协议。但是两阶段提交方案锁定资源时间长,对性能影响很大,基本不适合解决微服务事务问题。二、TCC解决方案TCC方案在电商、金融领域落地较多。TCC方案其实是两阶段提交的一种改进。其将整个业务逻辑的每个分支显式的分成了Try、Confirm、Cancel三个操作。Try部分完成业务的准备工作,c...原创 2019-08-13 14:46:25 · 30493 阅读 · 2 评论 -
JWT
一、JWT简介a. JWT(JSON Web Token), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也...原创 2019-08-14 11:44:41 · 509 阅读 · 0 评论 -
微服务设计
一、微服务架构的六种常用设计模式在使用微服务架构设计模式中,通常情况下是混合使用的。这里列举的是单一的模式。商业开发中,大多数都是混合使用的代理设计模式聚合设计模式保证多个服务配合执行的时候,可以由一个严格的逻辑顺序链条设计模式是多个服务通过链条式调用,得到最终结果的设计方式。类似责任链。链条长度不超过5。2~4之间。链条太长会导致网络通讯次数增多,降低效率。如果链...原创 2019-08-13 14:29:08 · 507 阅读 · 0 评论