Fork me on GitHub

Spring Cloud

跟我学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 Alibaba系列教程-02-将应用注册到Nacos上

在 跟我学Spring Cloud(Finchley版)-02-构建分布式应用 一文中,已编写好两个微服务;在 跟我学Spring Cloud(Finchley版)-04-服务注册与服务发现-原理剖析 一文中详细剖析了服务发现的原理。如果对这块知识有疑问,可先行复习一下。 本文探讨如何将 跟我学Spring Cloud(Finchley版)-02-构建分布式应用 一节中的应用注册到Nacos上。 准备工作在pom.xml 中添加如下内容,主要是引入Spring Clo...

跟我学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 Alibaba系列教程-01-Nacos安装与启停

1月前后开始为Spring Cloud Alibaba系列博客攒稿,成果如下图所示,今天开始发布。 如图的排序可能还不是很合理,发布之前会再整理下,尽量降低学习曲线,给读者提供一个更佳舒适的学习体验。 之前的Spring Cloud系列也会继续连载。 更新节奏:Spring Cloud系列每周至少2篇,Spring Cloud Alibaba系列每周至少1篇。 放心,两个系列都不会烂尾的。 Nacos 是阿里开源的易于构建云原生应用的动态服务发现、配置管理和服务管...

跟我学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/tech...

跟我学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管理配置。 为什么要使用配置中心 集中管理配置。一个使用微服务架构的应用系统可能会包含成百上千个微服务,因此集中管理配置是非常有必要的; 不同环境,不同配置。例如,数据源配置在不同的环境(开发、测试、预发布、生产等)中是不同的; 运行期间可动态调整。例...