Fork me on GitHub

跟我学Spring Cloud(Finchley版)-26-使用Elasticsearch作为Zipkin Server的后端存储

前文搭建的Zipkin Server是没有后端存储的——数据会存储在Zipkin的内存中。这一般不适合生产,本节来探讨如何将Zipkin中的数据持久化。 Zipkin支持多种存储: 内存(默认) MySQL(数据量大时,查询较为缓慢,不建议使用) Elasticsearch Cassandra(Twitter官方使用Cassandra作为Zipkin Server的存储,但国内大规模用Cassandra的公司较少,Cassandra相关文档也不多) 综上,个人建议使...

Spring Boot 2实现分布式锁——这才是实现分布式锁的正确姿势!

都9102年了,你还在手写分布式锁吗? 经常被问到”如何实现分布式锁”,看来这是大家的一个痛点。 其实Java世界的”半壁江山”——Spring早就提供了分布式锁的实现。早期,分布式锁的相关代码存在于Spring Cloud的子项目Spring Cloud Cluster中,后来被迁到Spring Integration中。 Spring Cloud Cluster的GitHub:https://github.com/spring-cloud/spring-clo...

Jenkins手把手图文教程[基于Jenkins 2.164.1]

Jenkins手把手图文教程[基于Jenkins 2.164.1]

本文基于当前最新的 LTS 版本 2.164.1 ,理论上适应于Jenkins 2.x所有版本。 一、下载前往https://jenkins.io/download/ ,按需下载。如用于生产,建议下载Long-term Support (LTS) 版本,这样能够获得相对长期的维护;如想体验最新的功能,可尝试 Weekly 版本。 可以直接下载特定系统专属的版本,也可下载 Generic Java package (.war) 。本文下载的是 Generic Jav...

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

跟我学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(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 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高可用

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

使用Kubespray 2.8.3部署生产可用的Kubernetes集群(1.12.5)

Kubernetes的安装部署是难中之难,每个版本安装方式都略有区别。笔者一直想找一种支持多平台 、相对简单 、适用于生产环境 的部署方案。经过一段时间的调研,有如下几种解决方案进入笔者视野: 部署方案 优点 缺点 Kubeadm 官方出品 部署较麻烦、不够透明 Kubespray 官方出品、部署较简单、懂Ansible就能上手 不够透明 RKE 部署较简单、需要花一些时间了解RKE的cluster.yml配置文件 不够透明 手动部署 第三方操作文档 完全透明、可配置、便于理解K8s各组件之间的关系 部署非常麻烦,容易出错 其他诸如Kops之类的方案,由于无法跨平台,或者其他因素,被我pass了。 最终,笔者决定使用Kubespray部署Kubernetes集群。也希望大家能够一起讨论,总结出更加好的部署方案。 废话不多说,以下是操作步骤。…

Spring Cloud Alibaba系列教程-01-Nacos安装与启停

Spring Cloud Alibaba系列教程-01-Nacos安装与启停

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