【spring cloud】
文章平均质量分 57
SpringCloud
雨夜清晨_
煎饼果子只要鸡蛋,不要面
展开
-
SpringCloud入门(十三):链路追踪Sleuth(Greenwich.SR2)
前言Spring-Cloud-Sleuth是Spring Cloud的组成部分之一,为SpringCloud应用实现了一种分布式追踪解决方案,其兼容了Zipkin, HTrace和log-based追踪,追踪微服务rest服务调用链路的问题,接触到zipkin,而spring cloud也提供了spring-cloud-sleuth来方便集成zipkin实现。为什么需要进行分布式链路追踪spr...原创 2020-01-02 16:05:08 · 310 阅读 · 0 评论 -
SpringCloud入门(十二):网关Gateway 获取Post请求体(Greenwich.SR2)
前言在学习gateway的时候,使用全局过滤器GlobalFilter,来拦截请求的时候,网上的例子基本都是使用Get来完成的,很少使用Post来测试,导致在使用Post的时候,获取不到Body的内容。实现方式/** * 全局过滤器 * 可拦截get、post等请求做逻辑处理 * @author hero良 * @className RequestGlobalFilter * @d...原创 2019-12-16 17:42:19 · 3421 阅读 · 2 评论 -
SpringCloud入门(十一):网关Gateway 之 重试(Greenwich.SR2)
简介重试,相信大家都不陌生,在springcloud中,ribbon、feign都有重试的机制,可以有效的处理服务的单点故障,或者因为网络的波动,导致首次的请求失败。网关也有自己的重试机制。代码实现网关实现重试也相对简单,官方已经为我们提供了现成 的filter,不需要引入任何依赖就可以到达重试机制。ymlspring: application: name: gateway-...原创 2019-12-16 17:18:12 · 1450 阅读 · 0 评论 -
SpringCloud入门(十):网关Gateway 之 限流(Greenwich.SR2)
简介限流:在高并发系统中,往往需要在系统中限流,一方面是为了防止大量请求使服务器过载,导致服务的不可用,另一方面是为了防止网络攻击。一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池、线程池)、限制瞬时并发数(如 nginx 的 limit_conn 模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(如 Guava 的 RateLimiter、nginx 的 limit_r...原创 2019-12-16 15:30:53 · 504 阅读 · 0 评论 -
SpringCloud入门(九):网关Gateway 之 熔断、降级(Greenwich.SR2)
熔断降级:在分布式系统中,网关作为流量的入口,大量请求进入网关,向后端远系统或服务发起调通,后端服务不可避免的会产生调用失败(网络的波动等等…),失败时不能让所有请求堆积在网关,需要快速返回失败并返回,就需要在网关上做熔断降级。代码实现基于上一篇【SpringCloud入门(八):网关Gateway 之 服务注册与发现(Greenwich.SR2)】来继续。熔断降级pom引入依赖 <...原创 2019-12-16 12:00:43 · 932 阅读 · 0 评论 -
SpringCloud入门(八):网关Gateway 之 服务注册与发现(Greenwich.SR2)
简介在实际的工作中,服务的相互调用都是依赖于服务中心提供的入口来使用,服务中心往往注册了很多服务,如果每个服务都需要单独配置的话,非常麻烦。Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spring Cloud Gateway 注册到服务中心,Spring Cloud Gateway 默认就会代理服务中心的所有服务代码实现新建一个Module,命名为micros...原创 2019-12-16 10:27:48 · 1781 阅读 · 0 评论 -
SpringCloud入门(七):网关Gateway(Greenwich.SR2)
1.网关是怎么演化来的单体应用拆分成多个服务后,对外需要一个统一入口,解耦客户端与内部服务网关的基本功能网关核心功能是路由转发,因此不要有耗时操作在网关上处理,让请求快速转发到后端服务上网关还能做统一的熔断、限流、认证、日志监控等关于Spring Cloud GatewaySpring Cloud Gateway 是 Spring 官方基于 Spring 5.0、Sprin...原创 2019-12-12 16:21:38 · 548 阅读 · 0 评论 -
SpringCloud入门(六)番外篇:Hystrix注解配置与yml配置
ribbon实现hystrix需要先导入依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency>...原创 2019-11-08 16:39:11 · 4558 阅读 · 0 评论 -
SpringCloud入门(五):断路器Hystrix(Greenwich.SR2)
前面学习了Ribbon和Feign的负载均衡、超时重试。本章我们一起学习当Ribbon结合Hystrix与Feign结合Hystrix实现服务的熔断和降级。Ribbon修改microservice-consumerpom,新增依赖<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-...原创 2019-11-08 16:36:28 · 423 阅读 · 0 评论 -
SpringCloud入门(四):服务消费者Feign(Greenwich.SR2)
在前面的文章中可以发现当我们通过RestTemplate调用其它服务的API时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,一旦有多个参数的话,这时拼接请求字符串就会效率低下,并且显得好傻。那么有没有更好的解决方案呢?答案是确定的有,Netflix已经为我们提供了一个框架:FeignFeign是一个声明式的Web Service客户端,它的目的就是让Web Ser...原创 2019-11-07 16:59:32 · 325 阅读 · 0 评论 -
SpringCloud入门(三):服务消费者RestTemplate+Ribbon(Greenwich.SR2)
123原创 2019-11-07 15:40:35 · 286 阅读 · 0 评论 -
SpringCloud入门(二):Restful - RestTemplate(Greenwich.SR2)
了解RestTemplate之前,我们首先了解SpringCloud中服务间两种restful调用方式RestTemplateFeign本文主要学习RestTemplate在微服务中实现服务之间的调用方式。1.RestTemplate是什么?RestTemplate是Spring对Http客户端进行封装的一个模板工具类,对常用的Http客户端例如:HttpClient、OKHttp、...原创 2019-11-06 17:14:13 · 258 阅读 · 0 评论 -
SpringCloud入门(一):服务的注册与发现Eureka(Greenwich.SR2)
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。1.eureka简介Eureka包含两个组件:Eureka server和Eureka client。...原创 2019-11-04 14:48:44 · 351 阅读 · 0 评论 -
Spring Cloud各组件超时总结
Ribbon的超时全局设置:ribbon: ReadTimeout: 60000 ConnectTimeout: 60000局部设置:service-id: ribbon: ReadTimeout: 1000 ConnectTimeout: 1000其中,service-id 是Ribbon所使用的虚拟主机名,一般和Eureka Server上...原创 2019-09-12 15:31:05 · 246 阅读 · 0 评论 -
Spring Cloud各组件重试总结
Spring Cloud中的重试机制应该说是比较混乱的,不同的版本有一定区别,实现也不大一样,好在Spring Cloud Camden之后已经基本稳定下来,Dalston中又进行了一些改进,详情暂且不表。Ribbon+RestTemplate的重试对于整合了Ribbon的RestTemplate,例如一个RestTemplate添加了@LoadBalanced注解:@Bean@...原创 2019-09-12 15:55:27 · 148 阅读 · 0 评论 -
SpringCloud实战之Ribbon的重试、超时、负载均衡
最近在学习SpringCloud,也是遇到各种问题,各种查阅资料,但是相关资料很少,也是一步踩一个坑,所以总结一下,方便以后查看。以下是请求连接和响应的超时时间配置在SpringCloud项目中,RestTemplate一般通过负责均匀来使用,其超时时间不能通过ribbon直接来设置,这样设置是无效的。错误的#ribbon的超时时间ribbon: ReadTimeout: ...原创 2019-12-06 09:56:39 · 1223 阅读 · 3 评论 -
HystrixCommand注解含义
public interface HystrixCommand { // HystrixCommand 命令所属的组的名称:默认注解方法类的名称 String groupKey() default ""; // HystrixCommand 命令的key值,默认值为注解方法的名称 String commandKey() default "";...原创 2019-09-18 16:26:05 · 5372 阅读 · 0 评论 -
SpringCloud入门:版本演化
Spring Cloud 项目目前仍然是快速迭代期,版本变化很快。这里整理一下版本相关的东西,备忘一下。大版本版本号规则Spring Cloud并没有熟悉的数字版本号,而是对应一个开发代号。Cloud代号 Boot版本(train) Boot版本(tested) lifecycle Angle 1.2.x incompatible with 1.3...原创 2019-09-12 14:52:02 · 274 阅读 · 0 评论