一、Zipkin简介 Zipkin是Twitter的一个开源项目,它基于Google Dapper实现。我们可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的REST API接口来辅助我们查询跟踪数据以实现对分布式系统的监控程序,从而及时地发现系统中出现的延迟升高问题并找出系统性能瓶颈的 ...
分类:
编程语言 时间:
2018-07-02 19:25:27
阅读次数:
302
1.前言 最近一直在看Springboot和springcloud代码,看了将近20多天,对这两个系统的认知总算是入了门。后续应该会有一个系列的文章,本文就先从Springboot的启动入手. 2.容器初始化 上面的代码是Springboot的入口,现在从run方法进去 点击进来后到了这里就会分成两 ...
分类:
编程语言 时间:
2018-07-01 14:54:40
阅读次数:
282
前言 对于SpringCloud来说(下面简称SC),现在网上已经有很多教程写的非常详细,因为SC的组件特别多,虽然不是所有组件都需要用到,但是学习的时候我们都需要去学习和了解。所以我想如果再写把每一个组件再拖出来做整理感觉有点重复劳动了,而且说的也不可能比当前别人说的更加详细,所以就打算换一个方向 ...
分类:
编程语言 时间:
2018-06-30 21:23:52
阅读次数:
171
实现思路: 1:准备一个ThreadLocal变量,供线程之间共享。 2:每个微服务对所有过来的Feign调用进行过滤,然后从请求头中获取User用户信息,并存在ThreadLocal变量中。 3:每个微服务在使用FeignClient调用别的微服务时,先从ThreadLocal里面取出user信息 ...
分类:
编程语言 时间:
2018-06-30 20:56:14
阅读次数:
537
当服务实例很多时,都从配置中心读取文件,这是可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用 新建一个注册中心 pom如下 在配置文件application.yml上,指定服务端口为8889,加上作为服务注册中心的基本配置 入口类 改造config-serverpom.xml中加上eur ...
分类:
编程语言 时间:
2018-06-30 16:23:25
阅读次数:
238
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、只能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。 在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、Nginx),再到达 ...
分类:
编程语言 时间:
2018-06-30 16:18:33
阅读次数:
256
简介 在分布式文件系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程git仓库中。在spring clou ...
分类:
编程语言 时间:
2018-06-30 16:13:41
阅读次数:
205
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用Rest Template + Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题, ...
分类:
编程语言 时间:
2018-06-30 15:26:46
阅读次数:
363
Feign简介 Feign是一个声明式的伪Http客户端,它是的写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现 ...
分类:
编程语言 时间:
2018-06-30 15:24:08
阅读次数:
298
一、路由熔断 当我们的后端服务出现异常的时候,我们不希望将异常抛出给最外层,期望服务可以自动进行一降级。Zuul给我们提供了这样的支持。当某个服务出现异常时,直接返回我们预设的信息。 我们通过自定义的fallback方法,并且将其指定给某个route来实现该route访问出问题的熔断处理。主要继承Z ...
分类:
编程语言 时间:
2018-06-29 19:26:55
阅读次数:
225