SpringCloud
一笑而过者也
爱好java,分布式开发
展开
-
SpringCloud Jar2war部署到tomcat容器中
1.修改 eureka,zuul,自己的微服务的pom打包方式packaging>warpackaging>引入依赖 org.springframework.boot spring-boot-starter-tomcat provided 设置打包名称为ROOT,最后打包出来都是ROOT.war,每个微服务部署到不同的tomcat容器中原创 2018-01-14 11:40:00 · 3951 阅读 · 4 评论 -
SpringCloud(三) eureka集群
根据 SpringCloud(一) eureka服务注册与发现 ,再增加两个eureka serverEureka Server的高可用Eureka Server的设计一开始就考虑到了高可用的问题,在Eureka的服务治理设计中,所有节点即是服务提供方,也是服务消费方,服务注册也不列外。之前的有配置:eureka: client: register-with-e...原创 2018-06-01 09:50:32 · 366 阅读 · 0 评论 -
SpringCloud(十四)springCloud bus 消息总线刷新配置
前言: 在微服务中,我们将使用轻量级消息代理,通过一个共用的消息主题,让系统中所有为服务都连上来,主题中的消息会被所有监听者消费,所以称为消息总线。spring cloud bus将分布式节点用轻量级消息连接起来,他可以用于服务间通讯,例如:配置文件的更改。可以用kafka、rabbitmq等 代码: 基于springboot2.0首先基于上一篇的代码(搭建eureka、conf...原创 2018-06-15 08:09:34 · 5356 阅读 · 1 评论 -
SpringCloud(十五)springCloud sleuth 分布式链路跟踪
前言: 在为服务中,各个为服务之间存在着调用关系,spring cloud sleuth就是追踪整条调用链的。一些感念:Span:基本工作单元,例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span通过一个64位ID唯一标识,trace以另一个64位ID表示,span还有其他数据信息,比如摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID(通常...原创 2018-06-17 19:54:16 · 1160 阅读 · 0 评论 -
SpringCloud(十六)Eureka Client启动后就关闭 Unregistering application xxx with eureka with status DOWN
springboot版本:2.0.1.RELEASEspringcloud版本:Finchley.RELEASE 日志:2018-07-15 10:50:10.516 INFO 16952 --- [ main] c.x.springcloud.EurekaClientApplication : Started EurekaClientAppl...原创 2018-07-15 10:59:14 · 22395 阅读 · 17 评论 -
SpringCloud(十七)Eureka详细参数配置
首先看一下eureka client的配置:server: port: 8081eureka: client: service-url: # 注册地址 default-url: http://localhost:8761/eureka register-with-eureka: true fetch-registry: true ...原创 2018-07-15 14:32:04 · 2818 阅读 · 0 评论 -
SpringCloud(十八)自定义ribbon
在上一篇文章 SpringCloud(四) ribbon负载均衡 中用的默认的负载均衡,这一篇文章讲解怎么配置负载均衡,怎么为某个微服务指定负载均衡。1. 通过代码配置ribbon client 写一个负载均衡规则的配置类。这个配置类如果在spring的管理下,就会变成全局的配置类,所以我把它放在了ComponentScan扫描范围外package com.xhx....原创 2018-09-04 22:13:00 · 409 阅读 · 0 评论 -
SpringCloud(十九)ribbon 详细说明
ribbon说明 对于ribbon详细说明大家可以参考官网, 是一个软负载均衡的组件,它能够对服务集群实现负载均衡,主要有一下几个功能: 1.为通讯的客户端提供服务的DNS或者ip 2. 根据某些算法,循环访问某些服务 某些负载均衡器能提供下面的高级功能: 1.通过将客户端与服务器端划分几个区...原创 2018-09-05 16:00:38 · 942 阅读 · 0 评论 -
Eureka的客户端启动报错Cannot execute request on any known server,无法注册到eureka
今天eureka的客户端启动一直报这个错,无法注册到eurekacom.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server at com.netflix.discovery.shared.transport.decorator.RetryableE...原创 2018-09-03 21:26:16 · 20073 阅读 · 21 评论 -
SpringCloud(二十)自定义eureka-client服务列表
当我们不需要从eureka等获取服务列表时,可以自己指定服务列表。ribbon: eureka:#禁用eureka ribbon enabled: falseeureka-service: ribbon: #自己定义服务列表 listOfServers: localhost:8080,localhost:8081ribbon.eureka.enabled:...原创 2018-09-16 20:17:54 · 1944 阅读 · 1 评论 -
SpringCloud(二) eureka开启安全认证
在上一篇的基础上:在eureka server的pom文件中加下面依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</a...原创 2018-05-31 21:27:57 · 3630 阅读 · 0 评论 -
SpringCloud(八)hystrix Dashboard 单独微服务
前言: 我们需要监控每一个微服务,但是如果每个微服务都集成hystrix Dashboard,这样设计并不好,所以要把hystrix Dashboard单独分离成一个微服务。(前几次工程的代码都是基于以前的工程,这次工程完全重写)代码: 首先看一下工程的目录我把springcloud的maven直接放到最外面了,子module直接引用父类的pompom.xml<?xml ver...原创 2018-06-07 21:02:13 · 833 阅读 · 0 评论 -
SpringCloud(一) eureka服务注册与发现
一、Eureka介绍Eureka是一个基于REST(Representational State Transfer)的服务,主要用于AWS cloud, 提供服务定位(locating services)、负载均衡(load balancing)、故障转移(failover of middle-tier servers)。我们把它叫做Eureka Server. Eureka也提供了...原创 2018-05-31 16:21:43 · 774 阅读 · 1 评论 -
SpringCloud(九)zuul网关 路由与负载均衡
前言: 在前面的章节中,微服务架构中,每一个微服务都需要暴漏,不同的url,不同的端口,没有一个统一的入口,这样设计显然不合理,网关的一个功能就是实现一个统一的入口,所有请求经过网关,然后网关统一代理到各个微服务,并且能实现负载均衡的功能。代码:工程构造如下;工程的pom.xml文件:用的springboot2.0<?xml version="1.0" encoding="UT...原创 2018-06-11 19:11:32 · 6044 阅读 · 0 评论 -
SpringCloud(十)zuul网关 路由url与service-id配置
在zuul中有两种路由配置:1. 通过访问ip及端口号映射2.通过服务名称映射 在上节代码基础上:首先我把服务提供者与服务消费者都开了集群: 先配置第一种:更改网关application.ymlserver: port: 8090eureka: client: service-url: default-zone: http:/...原创 2018-06-12 00:16:22 · 29252 阅读 · 2 评论 -
SpringCloud(四) ribbon负载均衡
在集群环境下,负载均衡很重要。下面演示客户端的负载均衡ribbon <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client...原创 2018-06-05 15:18:54 · 414 阅读 · 0 评论 -
SpringCloud(五)feign请求api
简介: feign是一个声明式的伪http客户端,默认集成ribbon,并与eureka结合,实现了负载均衡的功能。可替代restTemplate_+ribbon在上一篇的基础上,修改eureka-client引入maven包: <dependency> <groupId>org.springframewo...原创 2018-06-05 17:46:25 · 1751 阅读 · 0 评论 -
SpringCloud(十一)zuul网关 fallback
前言: 在学hystri时用到了fallback,当时在feignClient里面加的fallback,当请求微服务发生错误时,执行fallback,zuul集成了hystrix,也可以实现fallback,实现fallback时需要实现 FallbackProvider(springboot2.0)利用上篇的代码: 加一个下面的类就可以了,有注释:package com.xhx.spring...原创 2018-06-12 22:17:52 · 2000 阅读 · 0 评论 -
SpringCloud(十二)zuul网关 filter过滤器
前言: zuul网关还可以实现过滤器功能,比如进行安全控制等,网关进行统一拦截。网关的过滤有三个阶段,1.路由被请求前 2.路由被请求时 3.路由被请求后 4.处理请求发生错误时下面举一个简单的例子,路由请求前:代码实现: 在上一篇的基础上,加一个过滤器类package com.xhx.springcloud.filter;import com.alib...原创 2018-06-12 23:19:02 · 2819 阅读 · 0 评论 -
SpringCloud(六)hystrix熔断
前言: 在微服务架构中,为了高可用,单个微服务会开集群,服务与服务之间通过rpc调用时,由于网络原因或者程序问题,不可能保证每次调用都100%成功,单个服务出现问题,调用这个微服务就会出现线程阻塞,由于服务与服务之间具有依赖性,故障会传播,整个微服务系统有可能崩溃。Hystrix: 当调用微服务在一定时间段内失败率达到某个阈值时,会默认打开Hystrix,返回其设置的默认...原创 2018-06-06 14:27:54 · 568 阅读 · 0 评论 -
SpringCloud(十三)springCloud config 分布式配置中心
前言: 在分布式系统中每个微服务会有不同的配置文件,并且在生产环境、开发环境、测试环境等可能都对应不同的配置文件,分布式配置中心可以对其进行统一管理。可以把配置文件放在一个磁盘路径下,也可以放在git仓库中。当然还是放在git仓库中好代码: 在上一篇代码的基础上增加config-service工程pom.xml加入maven依赖 <dependency> ...原创 2018-06-13 20:26:58 · 387 阅读 · 0 评论 -
SpringCloud(七)hystrix Dashboard
One of the main benefits of Hystrix is the set of metrics it gathers about each HystrixCommand. The Hystrix Dashboard displays the health of each circuit breaker in an efficient manner.原创 2018-06-06 23:43:51 · 356 阅读 · 0 评论 -
SpringCloud(二十一)feign注意事项
在用feign做get请求时,如果方法里面是一个对象,如下所示,虽然标识的时get请求,但是feign在实际请求时,依旧用的post请求。 @GetMapping(value = "getUser") public Map getUser(Map<String,Object> user);我把被请求的接口,改成只接受get请求 @RequestMap...原创 2018-09-17 22:28:58 · 899 阅读 · 0 评论