spring cloud
tinysakurac
蹒跚学步的猿
展开
-
Eureka服务注册
简单描述一下springcloud的服务注册流程1.搭建服务注册中心 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance...原创 2018-09-07 20:18:01 · 107 阅读 · 0 评论 -
spring cloud中的实例命名规则
springboot实例的默认命名 SpringCloud体系里的,服务实体向eureka注册时,注册名默认是“IP名:应用名:应用端口名”,即spring.cloud.client.ipAddress:spring.cloud.client.ipAddress:{spring.cloud.client.ipAddress}:{spring.application.name}:{spring....转载 2018-09-12 11:35:30 · 4373 阅读 · 0 评论 -
Spring Cloud Stream使用入门
前面博文尝试使用了Srping CloudBus, 里面引入了spring-cloud-starter-bus-kafka和spring-cloud-starter-bus-amqp,实时上它们分别依赖了spring-cloud-starter-stream-kafka和spring-cloud-starter-stream –rabbit,真正实现与这些消息代理进行交互操作的是Spring Cl...转载 2018-09-12 21:21:48 · 1414 阅读 · 0 评论 -
zuul路由配置详解
Spring Cloud 在 Zuul 的 routing 阶段实现了几个过滤器,这些过滤器决定如何进行路由工作。简单路由(SimpleHostRoutingFilter)该过滤器运行后,会将 HTTP 请求全部转发到”源服务器”,简单路由的配置如下:#zuul路由配置zuul:routes:#表示http://localhost:9100/person/speaks地...转载 2018-09-10 08:03:02 · 4517 阅读 · 0 评论 -
zuul统一异常处理
转载自博客https://www.cnblogs.com/duanxz/p/7543040.html转载 2018-09-10 09:06:49 · 1643 阅读 · 0 评论 -
spring cloud config入门
在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,所以需要分布式配置中心组件。服务端 服务端作用简单理解就是从git上拉取相应配合。新建项目 勾选Config Server配置文件application.ymlspring: application: name: config-server cloud: config: ...转载 2018-09-10 11:33:55 · 109 阅读 · 0 评论 -
spring cloud config集Eureka
上一篇文章,讲了SpringCloudConfig 集成Git仓库,这一篇我们讲一下SpringCloudConfig 配和 Eureka 注册中心一起使用在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),...转载 2018-09-10 14:05:20 · 380 阅读 · 0 评论 -
eureka如何剔除已经宕机的节点
背景:由于Eureka拥有自我保护机制,当其注册表里服务因为网络或其他原因出现故障而关停时,Eureka不会剔除服务注册,而是等待其修复。这是AP的一种实现。为了让其有精准的 CP健康检查,可以采取让其剔除不健康节点。server端:eureka.server.enable-self-preservation//(设为false,关闭自我保护主要)eureka.server.evictio...转载 2018-09-23 14:17:38 · 5056 阅读 · 0 评论 -
spring cloud stream多监听方法调度
多监听方法调度 在消费实例方,可以定义多个监听方法对同一通道进行监听处理,但其需要在某些指定的条件下方可触发。恰好@StreamListener注解提供了condition参数作为条件设定,其支持SpEL表达式,通过条件约束即可满足我们的需求。具体示例如下:1、添加如下两个监听方法,其中userReceiveByHeader1方法监听头信息中flag为aa的消息,userReceiveByH...转载 2018-09-13 22:52:57 · 2580 阅读 · 0 评论 -
springboot使用zuul解决微服务的跨域问题
zuul作为微服务最外层的网关,最适合用来解决需要所有服务都存在的问题,下面来说说怎么使用zuul解决微服务的跨域问题1.首先引入依赖 &lt;!-- https://mvnrepository.com/artifact/com.thetransactioncompany/cors-filter --&gt; &lt;dependency&gt; ...转载 2018-09-24 21:01:30 · 6038 阅读 · 0 评论 -
hystrix服务熔断机制
为了防止雪崩,hystrix提供了基于断路器的服务熔断机制,下面我们看一张编程模型图可以看到当请求发生错误的比例超过一定比例时histrix将打开断路器进入closed状态,这个状态下我们所有针对该服务的请求(以依赖隔离的线程池为隔断单位,同一线程池中的所有hiystrix command都会被熔断)都会默认使用降级策略进行处理。结果一段时间(通常称为睡眠窗口)后,断路器将被置为半打开(hal...原创 2018-09-24 22:32:47 · 3383 阅读 · 0 评论 -
hystrix配置详解
Hystrix 参数详解hystrix.command.default和hystrix.threadpool.default中的default为默认CommandKeyExecution相关的属性的配置:hystrix.command.default.execution.isolation.strategy 隔离策略,默认是Thread, 可选Thread|Semaphorehystri...转载 2018-09-24 22:52:53 · 9438 阅读 · 0 评论 -
解决spring boot2.0没有/hystrix.stream节点的问题
如何让应用产生hystrix.stream需要actuator hystrix的相关jar包,需要@EnableCircuitBreaker相关注解1、网关服务zuul本来就有,不用额外配置2、使用feign调用的服务,需要打开hystrisfeign:hystrix:enabled: true3、非feign的springboot项目,使用resttemple调用服务时,需要以上相关包和...转载 2018-09-25 16:01:19 · 2801 阅读 · 1 评论 -
springboot2.0 对于spring cloud bus配置方面的修改
Spring boot 2.0的改动较大,/bus/refresh全部整合到actuador里面了,所以之前1.x的management.security.enabled全部失效,不适用于2.0适用于2.0的配置是这样的: management: endpoints: web: exposure: include: bus-refresh另外注解@...转载 2018-09-21 22:57:07 · 1871 阅读 · 0 评论 -
解决使用spring cloud config bus使用webhook自动刷新出现的400问题
1.发现问题最近学习spring cloud,想要配合github提供的webhook功能实现线上刷新的功能(听上去很酷炫有没有)。踩了一通spring boot2.0的坑之后(主要就是2.0之后改变了配置刷新接口),总算可以通过手动发送/actuator/bus-refresh请求来实现配置的动态刷新,然而新的问题又来了,集成webhook后(需要进行内网穿透,推荐使用natapp),GitH...原创 2018-09-22 15:26:00 · 6892 阅读 · 22 评论 -
Spring Cloud启动应用时指定IP或忽略某张网卡配置
说明:分布式应用部署到服务上,由于服务器可能存在多张网卡,造成IP地址不准的问题。解决方法:1、直接添加忽略某张网卡的配置:spring.cloud.inetutils.ignored-interfaces[0]=eth0 # 忽略eth0, 支持正则表达式正则:spring.cloud.inetutils.ignored-interfaces=eth.*2、指定默认IP:spr...转载 2019-09-05 16:58:00 · 1993 阅读 · 1 评论 -
spring cloud config bus集成rabbitmq实现多实例同步刷新
当相同服务的远程配置发生修改时,传统做法需要根据服务的实例列表一个个手动调用refresh节点。这在实例很多的情况下不容易维护,因此我需要通过消息总线来达到更新一个服务的实例时将更新同步到eureka服务中心治理下的所有服务实例当中,接下来我们看看如何进行消息总线的配置。1.在pom.xml中引入spring-cloud-starter-bus-amqp(因为我们集成的消息中间件为rabbit...原创 2018-09-12 11:19:51 · 963 阅读 · 0 评论 -
spring cloud config手动刷新配置
我们管理分布式应用时,希望可以将远程配置文件库的变化同步更新到应用中,要实现这个功能需要以下几个步骤1.在pom.xml文件中添加actuor依赖 <!-- 动态刷新配置 更新了Git仓库中的配置文件,那如何让config-client能够及时感知到呢? 动态刷新配置 --> <de...原创 2018-09-12 10:46:42 · 945 阅读 · 0 评论 -
zuul过滤器使用
zuul为springcloud治理下的微服务提供了api路由的功能,因此人们想着将服务调用前的鉴权逻辑交由zuul统一管理而不是分散在不同微服务的代码中。可以通过zuul的过滤器实现这一需求。1.继承ZuulFilter实现自己的过滤器package com.cfh.gateway.filter;import com.netflix.zuul.ZuulFilter;im...原创 2018-09-10 07:51:52 · 1397 阅读 · 0 评论 -
Eureka创建消费者
使用ribbon进行客户端负载均衡,使用RestTemplate通过服务名进行服务消费 详情请参考博客(https://blog.csdn.net/i_iphone/article/details/73322009)转载 2018-09-08 00:11:25 · 119 阅读 · 0 评论 -
Eureka参数配置详解
微服务架构:Eureka参数配置项详解 转载自博客https://www.cnblogs.com/fangfuhai/p/7070325.html Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考。Eureka客户端配置 1、Regist...转载 2018-09-08 10:00:02 · 951 阅读 · 0 评论 -
RestTemplate使用
详解 RestTemplate 操作 https://blog.csdn.net/itguangit/article/details/78825505详解 RestTemplate 操作作为开发人员,我们经常关注于构建伟大的软件来解决业务问题。数据只是软件完成工作时 要处理的原材料。但是如果你问一下业务人员,数据和软件谁更重要的话,他们很可能会选择 数据。数据是许多业务的生命...转载 2018-09-08 10:30:45 · 297 阅读 · 0 评论 -
ribbon功能概述,主要组件与配置方法
转载自博客https://blog.csdn.net/hry2015/article/details/78357990转载 2018-09-08 13:18:32 · 1132 阅读 · 0 评论 -
springcloud引入容错管理机制
为了避免服务单元出现故障导致的故障蔓延引起整个系统的瘫痪,需要在系统中加入容错保护机制。Hystrtix就是spring cloud下优秀的容错保护框架,下面记录一下引入过程1 添加依赖 <!-- hystrix --> <dependency> <groupId>org.springframew...原创 2018-09-08 13:48:44 · 1141 阅读 · 0 评论 -
Hystrix使用详解
1.服务降级当HystrixCommand在调用期间发生异常时会导致服务降级,此时会转入指定的fallback方法中执行降级逻辑 @HystrixCommand(fallbackMethod = "fallback",ignoreExceptions = NullPointerException.class) public User findUser(Integer id){...原创 2018-09-09 11:07:56 · 486 阅读 · 0 评论 -
hystrix使用dashboard监控单个应用(附监控数据图解)
转载自博客https://www.cnblogs.com/chenweida/p/9025589.html转载 2018-09-09 19:04:46 · 977 阅读 · 0 评论 -
spring cloud fegin入门
fegin整合了hystrix和ribbon,并且使用了springMVC的相关注解,提供了使用服务提供者服务的更加便捷的方式。以下是fegin的入门配置pom.xml <!-- hystrix --> <dependency> <groupId>org.springframework.cloud...原创 2018-09-09 19:57:35 · 587 阅读 · 0 评论 -
feign构造多参数请求
GET请求多参数的URL 假设我们请求的URL包含多个参数,例如http://microservice-provider-user/get?id=1&amp;username=张三 ,要怎么办呢?我们知道Spring Cloud为Feign添加了Spring MVC的注解支持,那么我们不妨按照Spring MVC的写法尝试一下:@FeignClient("microservice-p...转载 2018-09-09 20:23:32 · 597 阅读 · 0 评论 -
feign关闭hystrix
hystrix的熔断机制可能会导致fegin的重复请求策略无效(重复请求的超时时间必须小于hystrix的熔断时间)。所以在某些情况下可以选择关闭fegin的hystrix一、为指定的Feign客户端禁用Hystrix1) 创建一个Feign禁用Hystrix的禁用配置类package com.itmuch.cloud;import org.springframewor...原创 2018-09-09 20:50:23 · 3728 阅读 · 0 评论 -
feign实现服务降级实现
feign集成了ribbon,但无法直接使用@HystrixCommand注解指定服务降级,现在来看看ribbon中如何实现服务降级逻辑1.继承调用微服务的service接口,重写该接口中的服务调用方法实现降级逻辑package com.cfh.eurekaconsumer.service.fallback;import com.cfh.eurekaconsumer.service...原创 2018-09-09 21:06:39 · 8366 阅读 · 0 评论 -
feign服务配置
Ribbon配置ribbon的配置其实非常简单,直接在application.properties中配置即可,如下:# 设置连接超时时间ribbon.ConnectTimeout=600# 设置读取超时时间ribbon.ReadTimeout=6000# 对所有操作请求都进行重试ribbon.OkToRetryOnAllOperations=true# 切换实例的重试次数ri...转载 2018-09-09 21:29:14 · 1270 阅读 · 0 评论 -
springcloud通过zuul进行服务路由
zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。 Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。下面介绍如何在springcloud项目中使用zuul进行服务路由 1.pom.xml中引入zuul与eurek...原创 2018-09-09 22:44:25 · 687 阅读 · 0 评论 -
zuul2架构简析
上图是Zuul2的架构,和Zuul1没有本质区别,两点变化:前端用Netty Server代替Servlet,目的是支持前端异步。后端用Netty Client代替Http Client,目的是支持后端异步。过滤器换了一下名字,用Inbound Filters代替Pre-routing Filters,用Endpoint Filter代替Routing Filter,用Outbound F...转载 2019-10-09 18:01:50 · 1311 阅读 · 0 评论