Fork me on GitHub

跟我学Spring Cloud(Finchley版)-25-Spring Cloud Sleuth与Zipkin配合使用

一个良好的监控,应该有一个人类亲和的界面,这个界面就是Zipkin。本文详细讨论Sleuth如何与Zipkin配合使用。 Zipin简介Zipkin是Twitter开源的分布式跟踪系统,基于Dapper的论文设计而来。它的主要功能是收集系统的时序数据,从而追踪微服务架构的系统延时等问题。Zipkin还提供了一个非常友好的界面,帮助我们分析追踪数据。 TIPS Zipkin官方网站:http://zipkin.io/ Zipkin Server搭建 使用https://...

跟我学Spring Cloud(Finchley版)-24-Spring Cloud Sleuth入门

经过前文讲述,我们的微服务架构日趋完善,已可使用Spring Cloud构建一个非常健壮的系统! 但假设,你的项目一旦出现问题,如何才能快速定位出来呢?一般项目上要求我们快速定位两种问题: 调用发生失败,快速定位出是哪个环节出了问题。是微服务问题,还是网络? 调用慢,如何快速找到性能瓶颈? 这正是调用链监控要做的事情。Spring Cloud提供Sleuth来实现调用链监控。 简介Spring Cloud Sleuth为Spring Cloud提供了分布式跟踪的解决...

实用技巧:快速定位Zuul的性能瓶颈

Zuul的性能不是特别好,特别是,某些项目对Zuul进行了一些扩展,代码还不那么考究时。 如何快速定位出Zuul的性能瓶颈呢?我们知道,Zuul的核心是过滤器,Zuul大多功能都是基于过滤器实现的。 一次请求,会经过若干过滤器,如何查看每个过滤器执行的耗时呢?只需开启Zuul的Debug能力即可。 注 本文基于Spring Cloud Finchley,同样适用于Spring Cloud Greenwich。 Edgware及更早版本,需配置 management.s...

跟我学Spring Cloud(Finchley版)-23-Spring Cloud Config高可用

前文构建的都是单节点的Config Server,本节来讨论如何构建高可用的Config Server集群,包括Config Server的高可用依赖Git仓库的高可用以及RabbitMQ的高可用。 先来讨论Git仓库的高可用。 Git仓库的高可用由于配置内容存储在Git仓库中,所以要想实现Config Server的高可用,必须有一个高可用的Git仓库。有两种方式可以实现Git仓库的高可用。 使用第三方Git仓库:这种方式非常简单,可使用例如GitHub、BitBu...

跟我学Spring Cloud(Finchley版)-22-Spring Cloud Config-配置动态刷新

先解释下为什么突然断更半个月: 正月初三 - 正月十二:父亲肺气肿住院;母亲肺炎,也要挂水,故请假照顾。 正月十四 - 正月二十:奶奶摔了一跤,突然离世…老家有守夜、办丧的习俗,请假事丧。 总之,2019开局很不顺利……Anyway,今天开工,今天恢复更新。 配置刷新三要素 依赖中有spring-boot-starter-actuator 添加如下配置,暴露/actuator/refresh 端点: 12345management: endpoints: ...

跟我学Spring Cloud(Finchley版)-21-Spring Cloud Config-配置属性加解密

前文都是将配置明文存储在Git仓库中,但在实际项目中,敏感的配置属性(例如数据库账号、密码等),都应加密存储,从而提高安全性。 Config Server为配置内容的加密与解密提供了支持。 安装JCE Java 6 JCE地址:https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html Java 7 JCE地址:http://www.oracle.com/tec...

跟我学Spring Cloud(Finchley版)-20-Spring Cloud Config-Git仓库配置详解

在跟我学Spring Cloud(Finchley版)-19-配置中心-Spring Cloud Config 一节中,已实现使用Git仓库作为Config Server的后端存储,本节详细探讨如何配置Git仓库。 一、占位符支持Config Server的占位符支持{application}、{profile}和{label}。 示例: 123456789101112server: port: 8080spring: application: name: m...

跟我学Spring Cloud(Finchley版)-19-配置中心-Spring Cloud Config

经过前文讲解,至此,微服务架构已经日趋完善——现在已经可以做一个大型的应用了!然而,随着项目的迭代,微服务数目往往与日俱增,如何高效地管理配置成为我们必须解决的问题。本节来讨论如何使用Spring Cloud Config管理配置。 为什么要使用配置中心 集中管理配置。一个使用微服务架构的应用系统可能会包含成百上千个微服务,因此集中管理配置是非常有必要的; 不同环境,不同配置。例如,数据源配置在不同的环境(开发、测试、预发布、生产等)中是不同的; 运行期间可动态调整。例...

Spring Cloud生态的配置服务器最全对比贴

本文从社区活跃度、产品特点、成功案例、产品缺点等维度,全方位对比Spring Cloud Config、Apollo、Nacos、Disconf、Spring Cloud Consul、Spring Cloud Zookeeper等几款Spring Cloud生态的配置服务器,帮助你选择合适的配置服务器。 一、Spring Cloud ConfigGitHub地址https://github.com/spring-cloud/spring-cloud-config ,S...

跟我学Spring Cloud(Finchley版)-18-Zuul深入

本节探讨Zuul的高级特性。 TIPS: 笔者已经写过很多Zuul相关的文章,对于已经写过的内容,就不再啰嗦一遍了,直接贴地址吧。 过滤器详解过滤器是Zuul的核心,Zuul大多功能都是基于过滤器实现的。详见:Spring Cloud Zuul过滤器详解 ,文章着重探讨了Zuul过滤器的生命周期、如何自定义过滤器、如何禁用指定过滤器等。 内置过滤器详解Zuul内置了很多过滤器,这些过滤器帮助我们实现各种能力,来分析一下内置过滤器有哪些,分别是干嘛的。 详见:Spri...