Spring Cloud
我的Spring Cloud学习之旅
蛇皮皮蛋
求大佬笔下留情……
展开
-
Swagger接口文档生成
pom文件修改 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</ve...原创 2019-12-19 11:59:39 · 1478 阅读 · 0 评论 -
Spring Cloud Sleuth(分布式服务跟踪)(1)
首先准备工作如下:1.服务注册中心:eureka-server。2.微服务应用:trace-1,实现REST接口,并调用trace-2应用的接口。其pom.xml文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:...原创 2018-10-09 21:35:01 · 4620 阅读 · 0 评论 -
Spring Cloud Config(分布式配置中心)(1)
Spring Cloud Config 是用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息,加密、解密信息等访问接口。而客户端则是微服务架构中的各个微服务应用或基础设施,它通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获...原创 2018-10-02 22:28:27 · 4051 阅读 · 0 评论 -
Spring Cloud Config(分布式配置中心)(2)
占位符配置URL{application},{profile},{label}这些占位符除了用于标识配置文件的规则外,还可以用于Config Server中对Git仓库地址的URI配置。{application}代表了应用名,Config Server会根据客户端的spring.application.name信息来填充{application}占位符以定位配置资源的存储位置,从而实现根据...原创 2018-10-04 21:34:30 · 4012 阅读 · 0 评论 -
Spring Cloud Bus(消息总线)(1)
消息代理消息代理是一种消息验证、传输、路由的架构模式。它在应用程序之间起到通信调度并最小化应用之间的依赖作用,使得应用程序可以高效地解耦通信过程。消息代理是一个中间件产品,它的核心是一个消息的路由程序,用来实现接受和分发消息,并根据设定好的消息处理流来转发给正确的应用。它包括独立的通信和消息传递协议,能够实现组织内部和组织间的网络通信。常用的场景有:1.将消息路由到一个或多个目的地。2...原创 2018-10-06 16:45:35 · 7332 阅读 · 0 评论 -
Spring Cloud Zuul(API网关服务)(3)
过滤器在Spring Cloud Zuul中实现的过滤器必须包含4个基本特征:过滤类型,执行顺序,执行条件,具体操作。这就是ZuulFilter接口中定义的4个抽象方法: public abstract String filterType(); public abstract int filterOrder(); boolean shouldFilter();...原创 2018-10-01 11:12:32 · 4092 阅读 · 0 评论 -
Spring Cloud Zuul(API网关服务)(2)
路由详情传统路由配置传统路由配置方式就是在不依赖与服务发现机制的情况下,通过在配置文件中具体指定每个路由表达式与服务实例的映射关系来实现API网关对外部请求的路由。单实例配置:通过zuul.routes.<route>.path与zuul.routes.<route>.url参数对的方式进行配置进行配置,比如:zuul.routes.api-a-url.p...原创 2018-09-28 20:46:19 · 5558 阅读 · 0 评论 -
Spring Cloud Eureka(服务治理)(1)
Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。1.服务治理服务治理是微服务架构中最核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。服务注册:在服务治理框架中通常会构建一个注册中心,每个服务单元向注册中心登记自己提供的服务,将主...原创 2018-09-02 22:27:02 · 4401 阅读 · 0 评论 -
Spring Cloud Eureka(服务治理)(2)
1.服务发现与消费下面来尝试构建一个服务消费者,它主要完成两个目标,发现服务以及消费服务。其中服务发现的任务由Eureka的客户端完成,而服务消费者的任务由Ribbon完成。Ribbon是一个基于HTTP和TCP的客户端负载均衡器,它可以在通过客户端中配置的ribbonServerList的服务端列表去轮询访问以达到负载均衡的作用。当Ribbon与Eureka联合使用时,Ribbon的服务实例...原创 2018-09-04 00:25:08 · 4125 阅读 · 0 评论 -
Spring Cloud Eureka(服务治理)(3)
配置详解在 Eureka 的服务治理体系中,主要分为服务端和客户端两个不同的角色,服务端为服务注册中心,而客户端为各个提供接口的微服务应用。当我们构建了高可用的注册中心之后,该集群中所有的微服务应用和后续将要介绍的一些基础类应用(如配置中心、API网关等)都可以视为该体系下的一个微服务(Eureka客户端)。服务注册中心也一样,只是高可用环境下的服务注册中心除了服务端之外,还为集群中的其他客户...原创 2018-09-05 01:04:49 · 4028 阅读 · 0 评论 -
Spring Cloud Ribbon(客户端负载均衡)(1)
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于NetFlix Ribbon实现。通过Spring Cloud的封装可以让我们轻松的将面向服务的REST模板请求自动转换成客户端负载均衡的服务调用。在实际使用中微服务间的调用,API网关的请求转发等内容,实际上都是通过Ribbon来实现的,包括Feign,它也是基于Ribbon实现的工具。1.客...原创 2018-09-05 22:21:11 · 4034 阅读 · 0 评论 -
Spring Cloud Ribbon(客户端负载均衡)(2)
1.参数配置对于Ribbon的参数配置通常有两种方式:全局配置以及指定客户端配置:全局配置:ribbon.<key>=<value>格式进行配置即可。<key>代表了Ribbon客户端配置的参数名,<value>代表了对应参数值。比如设置超时时间:ribbon.connectTimeout=250全局配置可以作为默认值进行设置,当指...原创 2018-09-07 22:32:48 · 3949 阅读 · 0 评论 -
Spring Cloud Hystrix(服务容错保护)(1)
在前面的博客中我已经将Eureka与Ribbon的使用展示了出来,但是如果将其中的某一个服务停止(Hello-Service)。你会发现Ribbon任然会去访问那个页面。这就需要用到断路器的功能。首先将Ribbon工程的pom文件中加入该jar包: <dependency> <groupId>org.springf...原创 2018-09-09 21:20:52 · 4046 阅读 · 0 评论 -
Spring Cloud Hystrix(服务容错保护)(2)
1.创建请求命令Hystrix命令(HystrixCommand)它用来封装具体的依赖服务调用逻辑。我们可以用继承的方式实现:public class HelloCommand extends HystrixCommand<String> { private RestTemplate restTemplate; private Long id; ...原创 2018-09-12 01:12:04 · 3956 阅读 · 0 评论 -
Spring Cloud Hystrix(服务容错保护)(3)
1.请求合并在微服务的架构中的依赖通常通过远程调用来实现,而远程调用最常出现的问题是通信消耗与连接数占用。Hystrix提供了HystrixCollapser来实现请求合并,以减少通信消耗和线程数的占用。HystrixCollapser实现了在HystrixCommand之前放置一个合并处理器,将处于一个很短的时间窗内对同一依赖服务的多个请求进行整合并以批量方式发起请求的功能(服务提供方也...原创 2018-09-14 23:19:46 · 4103 阅读 · 0 评论 -
Spring Cloud Hystrix(仪表盘+Turbine集群)(4)
在Spring Cloud 中构建一个Hystrix Dashboard非常容易只需要4步:1.创建一个Spring Boot工程,命名为hystrix-dashboard。2.编辑pom.xml文件,如:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/...原创 2018-09-21 01:08:02 · 4600 阅读 · 0 评论 -
Spring Cloud Feign(声明式服务调用)(1)
Spring Cloud Feign它基于Netflix Feign实现,整合了Spring Cloud Ribbon与Spring Cloud Hystrix,除了提供这两者的强大功能,它还提供了一种声明式的Web服务客户端定义方式。1.下面首先创建一个Spring Boot基础工程取名为feign-consumer并在其pom.xml文件中加入spring-cloud-starter-eu...原创 2018-09-22 16:00:42 · 4147 阅读 · 0 评论 -
Spring Cloud Feign(声明式服务调用)(2)
继承特性1.首先新建个工程,名为hello-service-api。因为要用到Spring MVC的注解所以要要加锁spring-boot-web的依赖,具体如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt...原创 2018-09-23 23:54:38 · 4127 阅读 · 0 评论 -
Spring Cloud Zuul(API网关服务)(1)
API网关是一个智能的应用服务器,它的定义类似于面向对象设计模式中的Facade模式,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过他来进行调度和过滤。它除了要实现请求路由,负载均衡,校验过滤等功能之外,还需要更多能力,比如与服务治理框架的结合,请求转发时的熔断机制,服务的聚合等一系列高级功能。构建网关1.首先创建一个SpringBoot工程,命名为api-ga...原创 2018-09-26 23:03:29 · 4566 阅读 · 0 评论 -
通过Feign上传文件(踩坑)
引入依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dep...原创 2019-09-04 15:14:37 · 9851 阅读 · 2 评论