白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行 开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过 进行api文档生成的。现在由于使用了统一路由网关了,都希望各微服务的 统一的聚合在网关服务中,也方便前端用户查阅,不需要每个服务单独查看。当然了,也是可以做一个 ... »

SpringCloud 中使用 Ribbon

SpringCloud 中使用 Ribbon 在前两章已经给大家讲解了Ribbon负载均衡的规则 以及 如何搭建Ribbon并调用服务,那么在这一章呢 将会给大家说一说如何在SpringCloud中去使用Ribbon。在搭建之前 我们需要做一些准备工作。 1. 搭建Eureka服务器:springC ... »

白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理

前言 简单介绍了关于 的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等。今天,我们就来了解下这方面的相关知识点。 "一点知识" "过滤器的定义" "过滤器接口定义" "zuul自带过滤器" "禁用过 ... »

白话SpringCloud | 第九章:路由网关(Zuul)的使用

前言 介绍完分布式配置中心,结合前面的文章。我们已经有了一个微服务的框架了,可以对外提供api接口服务了。但现在试想一下,在微服务框架中,每个对外服务都是独立部署的,对外的api或者服务地址都不是不尽相同的。对于内部而言,很简单,通过注册中心自动感知即可。但我们大部分情况下,服务都是提供给外部系统进 ... »

spring/spring boot/spring cloud书籍推荐

最近看了一些spring书籍,主要都是工作需要,实话说,没有必要买这么多书,每个主题一本就足够了,其他的补充可以通过项目实战和上网看官网或者博客补充。 说是推荐,其实只是一些简单读后感想而已,每本书都有它的价值,即使有些写得不好,也很难否定作者的努力叫大家不要买,不过既然花钱买书了,我个人意见就是不 ... »

白话SpringCloud | 第八章:分布式配置中心的服务化及动态刷新

前言 上一章节,简单介绍了分布式配置中心 的使用。同时,我们也遗漏了一些问题,比如如何配置实时生效,当服务端地址变更或者集群部署时,如何指定服务端地址?回想,在服务注册章节,服务提供者和服务消费者,同时往注册中心进行注册和获取服务地址,而本身注册中心又支持高可用配置。所以,对于配置中心,我们也可以将 ... »

白话SpringCloud | 第七章:分布式配置中心的使用

前言 介绍完服务的容错保护处理,接下来我们来了解下关于分布式配置中心的相关知识和使用。众所周知,随着项目的越来越多,日益庞大,每个子项目都会伴随着不同的配置项,于此也就多了很多的配置文件。倘若某些配置信息修改,可能就会伴随着一系列配置文件的更新和相应服务的重启操作了。这对于实施而言,也是噩梦一般的存 ... »

SpringCloud请求响应数据转换(二)

上篇文章记录了从后端接口返回数据经过切面和消息转换器处理后返回给前端的过程。接下来,记录从请求发出后到后端接口调用过的过程。 web请求处理流程 源码分析 ApplicationFilterChain会调DispatcherServlet类的doService()(HttpServlet类),类继承 ... »

白话SpringCloud | 第四章:服务消费者(RestTemple+Ribbon+Feign)

前言 上两章节,介绍了下关于 注册中心 Eureka 的使用及高可用的配置示例,本章节开始,来介绍下服务和服务之间如何进行服务调用的,同时会讲解下几种不同方式的服务调用。 "一点知识" "何为负载均衡" "实现的方式" "客户端和服务端的负载均衡" "RestTemplate简单介绍" "excha ... »

白话SpringCloud | 第三章:服务注册与发现(Eureka)-下

前言 上一章节,讲解了在单机模式下的服务注册与发现的相关知识点及简单示例。而在实际生产或者在这种微服务架构的分布式环境中,需要考虑发生故障时,各组件的高可用。而其实高可用,我的简单粗俗理解就是,通过系统的冗余进行高可用,或者是进行集群部署,保证一台服务不可用时,会进行自动转移至可用的服务中。今天的章 ... »

SpringCloud03 Ribbon知识点、 Feign知识点、利用RestTemplate+Ribbon调用远程服务提供的资源、利用feign调用远程服务提供的资源

1 远程服务资源的调用 1.1 古老的套路 在微服务出现之前,所有的远程服务资源必须通过RestTemplate或者HttpClient进行;但是这两者仅仅实现了远程服务资源的调用,并未提供负载均衡实现,所以程序员必须自己实现负载均衡功能;而且当远程服务是集群部署时,利用RestTemplate或者 ... »

SpringCloud教程 | 第五篇: 路由网关(zuul)(Finchley版本)

在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图: 注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也是注册到服务注册中心的。 在 ... »

SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)

在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这 ... »

SpringCloud教程 | 第三篇: 服务消费者(Feign)(Finchley版本)

上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。 一、Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feig ... »

1.Spring Cloud初相识--------简单项目搭建

开发工具:STS 代码下载链接:GitHub管理项目 前言: Springcloud 算是当前比较火的技术,一套微服务架构的技术。 我个人对微服务的理解为: 服务可以代表service,微服务就是小的service,或者说逻辑上不可再分的功能单元。 比如一个电商管理平台,包括:用户管理、商品管理、订 ... »

FeignClient实现文件上传功能

前言 FeignClient调用接口时,默认不支持文件上传功能。 这里使用feign-form和feign-form-spring实现文件上传功能。但默认配置只支持文件上传,多文件上传见下方的解决方案 一、配置 1. 引入依赖 2. 在调用方增加配置 3. 调用方启动类配置 二、代码实现 服务调用方 ... »