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

前言

通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由于使用了统一路由网关了,都希望各微服务的api文档统一的聚合在网关服务中,也方便前端用户查阅,不需要每个服务单独查看。当然了,也是可以做一个文档索引网页进行各微服务的api文档链接的。今天,我们就来讲下使用swagger实现自动化聚合微服务文档功能。

查看更多

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

前言

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

查看更多

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

前言

介绍完分布式配置中心,结合前面的文章。我们已经有了一个微服务的框架了,可以对外提供api接口服务了。但现在试想一下,在微服务框架中,每个对外服务都是独立部署的,对外的api或者服务地址都不是不尽相同的。对于内部而言,很简单,通过注册中心自动感知即可。但我们大部分情况下,服务都是提供给外部系统进行调用的,不可能同享一个注册中心。同时一般上内部的微服务都是在内网的,和外界是不连通的。而且,就算我们每个微服务对外开放,对于调用者而言,调用不同的服务的地址或者参数也是不尽相同的,这样就会造成消费者客户端的复杂性,同时想想,可能微服务可能是不同的技术栈实现的,有的是httprpc或者websocket等等,也会进一步加大客户端的调用难度。所以,一般上都有会有个api网关,根据请求的url不同,路由到不同的服务上去,同时入口统一了,还能进行统一的身份鉴权、日志记录、分流等操作。接下来,我们就来了解今天要讲解的路由服务:zuul

查看更多

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

前言

上一章节,简单介绍了分布式配置中心Spring Cloud Config的使用。同时,我们也遗漏了一些问题,比如如何配置实时生效,当服务端地址变更或者集群部署时,如何指定服务端地址?回想,在服务注册章节,服务提供者和服务消费者,同时往注册中心进行注册和获取服务地址,而本身注册中心又支持高可用配置。所以,对于配置中心,我们也可以将Server端Client端往注册中心进行注册,借此实现配置中心的服务化,无需指定具体的ip地址,直接根据服务名称进行调用。

查看更多

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

前言

介绍完服务的容错保护处理,接下来我们来了解下关于分布式配置中心的相关知识和使用。众所周知,随着项目的越来越多,日益庞大,每个子项目都会伴随着不同的配置项,于此也就多了很多的配置文件。倘若某些配置信息修改,可能就会伴随着一系列配置文件的更新和相应服务的重启操作了。这多余实施而言,也是噩梦一般的存在,增加了一系列运维成本,也会无形中提高出错的几率。所以在微服务越来越多时,就会引入今天要讲解的分布式配置中心,它就是来解决此类问题的。话不多说,开始吧~

查看更多

SpringBoot | 第二十九章:Dubbo的集成和使用

前言

今年年初时,阿里巴巴开源的高性能服务框架dubbo又开始了新一轮的更新,还加入了Apache孵化器。原先项目使用了spring cloud之后,已经比较少用dubbo。目前又抽调回原来的行业应用部门,可能还会使用dubbo进行服务调用。趁着编写教材的机会来进行学习下。而且目前Dubbo也出了springbootstarter项目了,借着SpringBoot的东风,集成起来很方便,基本上就一个依赖包引入的问题了。废话不多说,开始吧~

查看更多

白话SpringCloud | 第六章:Hystrix监控面板及数据聚合(Turbine)

前言

前面一章,我们讲解了如何整合Hystrix。而在实际情况下,使用了Hystrix的同时,还会对其进行实时的数据监控,反馈各类指标数据。今天我们就将讲解下Hystrix DashboardTurbine.其中Hystrix Dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command请求响应时间, 请求成功率等数据,监控单个实例内的指标情况。后者Turbine,能够将多个实例指标数据进行聚合的工具。

查看更多

白话SpringCloud | 第五章:服务容错保护(Hystrix)

前言

前一章节,我们知道了如何利用RestTemplate+RibbonFeign的方式进行服务的调用。在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如网络原因或者服务提供者自身处理的原因,或多或少都会出现请求失败或者请求延迟问题,若服务提供者长期未对请求做出回应,服务消费者又不断的请求下,可能就会造成服务提供者服务崩溃,进而服务消费者也一起跟着不可用,严重的时候就发生了系统雪崩了。鉴于此,产生了断路器等一系列的服务保护机制。本章节,就来说下如何利用Hystrix进行容错处理。

查看更多

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

前言

上两章节,介绍了下关于注册中心-Eureka的使用及高可用的配置示例,本章节开始,来介绍下服务和服务之间如何进行服务调用的,同时会讲解下几种不同方式的服务调用。

查看更多

SpringBoot | 第二十八章:监控管理之Spring Boot Admin使用

前言

上一章节,我们介绍了Actuator的使用,知道了可通过访问不同的端点路径,获取相应的监控信息。但使用后也能发现,返回的监控数据都是以JSON串的形式进行返回的,对于实施或者其他人员来说,不是很直观,而当需要监控的应用越来越多时,依次去访问对应的应用也过于繁琐和低效了。所以,本章节来介绍下Spring Boot Admin这个UI监控工具。

查看更多