Spring Cloud系列
一步一步学Spring Cloud
_江南一点雨
Java攻城狮
展开
-
Spring Cloud Bus整合RabbitMQ
上篇文章中小伙伴们已经学会了RabbitMQ的基本安装与使用以及如何在Spring Boot中使用RabbitMQ,整体来说还是比较简单的。本文我们来看看Spring Cloud Bus和RabbitMQ的整合,看看如何更简单的实现配置刷新。 本文是Spring Cloud系列的第二十七篇文章,了解前二十六篇文章内容有助于更好的理解本文: 1.使用Spring Cloud搭建服务注册中心 2原创 2017-11-16 10:16:30 · 19574 阅读 · 5 评论 -
Spring Cloud Bus整合Kafka
Kafka是由LinkedIn开发并开源的分布式消息系统,因其分布式及高吞吐率而被广泛使用,现已与Cloudera Hadoop,Apache Storm,Apache Spark集成,具备许多优秀的性能:高吞吐、分布式、跨平台、实时性以及伸缩性,本文我们就来看看如何将Spring Cloud Bus和Kafka进行整合。 本文是Spring Cloud系列的第二十八篇文章,了解前二十七篇文章内原创 2017-11-25 10:52:59 · 9113 阅读 · 1 评论 -
Spring Cloud Stream初窥
Spring Cloud Stream是一个构建消息驱动的微服务框架。它构建在Spring Boot之上用以创建工业级的应用程序,并且通过Spring Integration提供了和消息代理的连接。Spring Cloud Stream为一些供应商的消息中间件产品提供了个性化的自动化配置实现(目前仅支持RabbitMQ和Kafka),同时引入了发布订阅、消费组和分区的语义概念。本文我们就先来看一下S原创 2017-11-28 10:43:58 · 5094 阅读 · 0 评论 -
Spring Cloud Stream使用细节
上篇文章我们看了Spring Cloud Stream的基本使用,小伙伴们对Spring Cloud Stream应该也有了一个基本的了解,但是上篇文章中的消息我们是从RabbitMQ的web管理页面发来的,如果我们想要从代码中发送消息呢?本文我们就来看看Spring Cloud Stream的一些使用细节。 本文是Spring Cloud系列的第三十篇文章,了解前二十九篇文章内容有助于更好的理原创 2017-12-04 15:19:10 · 14597 阅读 · 9 评论 -
Spring Cloud教程合集
Spring Cloud系列终于搞完啦! 这一系列是笔者的学习笔记,原书之前也给小伙伴们推荐过 《Spring Cloud微服务实战》 原书采用了较老的Brixton版,笔者在学习的过程中,采用了当时最新的Dalston.SR3版,可是Spring Cloud的更新还是太快了,还没学完,Dalston.SR3就已经不是最新版了,囧了个囧。不过大部分的API都还是没有什么差异的,可以直接原创 2017-12-05 11:04:51 · 18051 阅读 · 4 评论 -
Spring Cloud中Hystrix仪表盘与Turbine集群监控
Hystrix仪表盘,就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix的实时运行状态,通过它我们可以看到Hystrix的各项指标信息,从而快速发现系统中存在的问题进而解决它,OK,本文我们就来看看Hystrix仪表盘要怎么使用。 本文是Spring Cloud系列的第十五篇文章,了解前十四篇文章内容有助于更好的理解本文: 1.使用Spring Cloud原创 2017-10-13 11:59:57 · 10236 阅读 · 3 评论 -
Spring Cloud中声明式服务调用Feign
前面几篇文章我们详细的介绍了Ribbon、RestTemplate、Hystrix组件,这些组件是我们Spring Cloud中非常基础的组件,小伙伴们在使用的过程中可能也发现了这些东西都是同时出现的,而且配置也都非常相似,每次开发都有很多相同的代码,因此,Spring Cloud基于Netflix Feign整合了Ribbon和Hystrix,让我们的开发工作变得更加简单,就像Spring Boo原创 2017-10-16 17:24:51 · 10458 阅读 · 1 评论 -
Spring Cloud中Feign的继承特性
上篇文章我们了解了Feign的基本使用,在HelloService类中声明接口时,我们发现这里的代码可以直接从服务提供者的Controller中复制过来,这些可以复制的代码Spring Cloud Feign对它进行了进一步的抽象,这里就用到了Feign的继承特性,本文我们就来看看如何利用Feign的继承特性来进一步简化我们的代码。 本文是Spring Cloud系列的第十七篇文章,了解前十六篇原创 2017-10-17 15:46:26 · 6551 阅读 · 3 评论 -
Spring Cloud中Feign配置详解
到目前为止,小伙伴们对Feign的使用已经掌握的差不多了,我们在前文也提到Feign是对Ribbon和Hystrix的整合,那么在Feign中,我们要如何配置Ribbon和Hystrix呢?带着这两个问题,我们来看看本文的内容。 本文是Spring Cloud系列的第十八篇文章,了解前十七篇文章内容有助于更好的理解本文: 1.使用Spring Cloud搭建服务注册中心 2.使用Sprin原创 2017-10-24 11:24:29 · 14055 阅读 · 1 评论 -
Spring Cloud中的API网关服务Zuul
到目前为止,我们Spring Cloud中的内容已经介绍了很多了,Ribbon、Hystrix、Feign这些知识点大家都耳熟能详了,我们在前文也提到过微服务就是把一个大的项目拆分成很多小的独立模块,然后通过服务治理让这些独立的模块配合工作等。那么大家来想这样两个问题:1.如果我的微服务中有很多个独立服务都要对外提供服务,那么对于开发人员或者运维人员来说,他要如何去管理这些接口?特别是当项目非常大非原创 2017-10-30 11:01:27 · 4703 阅读 · 0 评论 -
Spring Cloud Zuul中路由配置细节
上篇文章我们介绍了API网关的基本构建方式以及请求过滤,小伙伴们对Zuul的作用应该已经有了一个基本的认识,但是对于路由的配置我们只是做了一个简单的介绍,本文我们就来看看路由配置的其他一些细节。 本文是Spring Cloud系列的第二十篇文章,了解前十九篇文章内容有助于更好的理解本文: 1.使用Spring Cloud搭建服务注册中心 2.使用Spring Cloud搭建高可用服务注册中原创 2017-10-31 09:02:40 · 48221 阅读 · 5 评论 -
Spring Cloud Zuul中异常处理细节
Spring Cloud Zuul对异常的处理整体来说还是比较方便的,流程也比较清晰,只是由于Spring Cloud发展较快,各个版本之间有差异,导致有的小伙伴在寻找这方面的资料的时候经常云里雾里,本文将以Dalston.SR3版本为例,来说明Spring Cloud Zuul中的异常处理问题。 本文是Spring Cloud系列的第二十一篇文章,了解前二十篇文章内容有助于更好的理解本文: 1原创 2017-11-01 16:31:46 · 10773 阅读 · 1 评论 -
分布式配置中心Spring Cloud Config初窥
随着我们的分布式项目越来越大,我们可能需要将配置文件抽取出来单独管理,Spring Cloud Config对这种需求提供了支持。Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。我们可以使用Config Server在所有环境中管理应用程序的外部属性,Config Server也称为分布式配置中心,本质上它就是一个独立的微服务应用,用来连接配置仓库并将获取到的配原创 2017-11-06 17:51:39 · 4359 阅读 · 0 评论 -
Spring Cloud Config服务端配置细节(一)
上篇文章我们看了Spring Cloud中分布式配置中心的一个基本使用,这里边还涉及到许多细节,本文我们就来看看服务端配置中的一些细节。 本文是Spring Cloud系列的第二十三篇文章,了解前二十二篇文章内容有助于更好的理解本文: 1.使用Spring Cloud搭建服务注册中心 2.使用Spring Cloud搭建高可用服务注册中心 3.Spring Cloud中服务的发现与消费原创 2017-11-09 15:38:48 · 4071 阅读 · 1 评论 -
Spring Cloud Config服务端配置细节(二)之加密解密
在微服务架构中,由于独立的服务个数众多,加上前期测试工作量大,一些原本由运维人员维护的敏感信息会被我们直接写在微服务中,以提高开发效率,但是这种明文存储方式显然是非常危险的,所以我们要对这些信息进行加密,而Spring Cloud Config则提供了对称加解密、非对称加解密的功能来帮助我们完成这一需求。OK,本文我们就来看看如何实现配置信息的加解密。 本文是Spring Cloud系列的第二十原创 2017-11-10 14:25:41 · 5516 阅读 · 0 评论 -
Spring Cloud Config客户端配置细节
Spring Cloud Config服务端的配置小伙伴们应该都很熟悉了,本文我们主要来看看客户端配置的一些细节问题。 本文是Spring Cloud系列的第二十五篇文章,了解前二十四篇文章内容有助于更好的理解本文: 1.使用Spring Cloud搭建服务注册中心 2.使用Spring Cloud搭建高可用服务注册中心 3.Spring Cloud中服务的发现与消费 4.Eureka中的原创 2017-11-14 10:05:55 · 8986 阅读 · 1 评论 -
Spring Cloud Bus之RabbitMQ初窥
和Spring Cloud Config一样,我们接下来要聊的Spring Cloud Bus也是微服务架构系统中的必备组件。Spring Cloud Bus可以将分布式系统的节点与轻量级消息代理链接,然后可以实现广播状态更改(例如配置更改)或广播其他管理指令。Spring Cloud Bus就像一个分布式执行器,用于扩展的Spring Boot应用程序,但也可以用作应用程序之间的通信通道。那么这里原创 2017-11-15 09:34:20 · 9966 阅读 · 3 评论 -
Spring Cloud中的负载均衡策略
在上篇博客(Spring Cloud中负载均衡器概览)中,我们大致的了解了一下Spring Cloud中有哪些负载均衡器,但是对于负载均衡策略我们并没有去详细了解,我们只是知道在BaseLoadBalancer的chooseServer方法中,调用了IRule中的choose方法来找到一个具体的服务实例,IRule是一个接口,在BaseLoadBalancer它的默认实现是RoundRobinRul原创 2017-09-14 12:06:49 · 14772 阅读 · 4 评论 -
推荐几个Spring Cloud学习资料
研究Spring Cloud也有一段时间了,手头上有一点收集的资料,分享给小伙伴们学习。 博客1.跟我学Spring Cloud 2.周立|Spring Cloud 3.Spring Cloud基础教程(强烈推荐) 4.Spring Cloud系列文章 5.forezp|史上最简单的 Spring Cloud 教程 6.liaokailin的专栏 7.Spring Clo原创 2017-09-15 11:50:57 · 48592 阅读 · 1 评论 -
Spring Cloud中的断路器Hystrix
什么是微服务?举个简单的例子,我想做一个用户管理项目,里边就三个功能:用户注册、用户登录、用户详情浏览。按照传统的软件开发方式直接创建一个Web项目,分分钟就把这三个功能开发出来了,但是我现在想使用微服务+服务治理的方式来开发:首先我将这个项目拆分为四个微服务,四个微服务各建一个模块,分别是用户注册模块、用户登录模块、用户详情浏览模块和数据库操作模块,这四个模块通过内部服务治理互相调用。但是现在存在原创 2017-09-16 17:04:38 · 5393 阅读 · 1 评论 -
Spring Cloud自定义Hystrix请求命令
在上篇文章中,我们介绍了断路器Hystrix的一个简单使用,主要是通过注解来实现断路器的功能的,不过对于Hystrix的使用,除了注解,我们也可以使用继承类的方式来实现,本文我们就来看看另一种Hystrix的使用方式。 本文是Spring Cloud系列的第十一篇文章,了解前十篇文章内容有助于更好的理解本文: 1.使用Spring Cloud搭建服务注册中心 2.使用Spring Cloud搭原创 2017-09-19 17:08:56 · 4655 阅读 · 1 评论 -
Spring Cloud中Hystrix的服务降级与异常处理
上篇文章我们看了自定义Hystrix请求命令的问题,使小伙伴们对Hystrix的使用有了进一步的了解,之前两篇文章都有涉及到一个叫做fallbackMethod的东西,我们之前没有细说这个东西,今天我们就来详细说说这个fallbackMethod,也就是服务降级问题。 本文是Spring Cloud系列的第十二篇文章,了解前十一篇文章内容有助于更好的理解本文: 1.使用Spring Cloud搭原创 2017-09-20 17:20:05 · 19564 阅读 · 1 评论 -
Spring Cloud中Hystrix的请求缓存
高并发环境下如果能处理好缓存就可以有效的减小服务器的压力,Java中有许多非常好用的缓存工具,比如Redis、EHCache等,当然在Spring Cloud的Hystrix中也提供了请求缓存的功能,我们可以通过一个注解或者一个方法来开启缓存,进而减轻高并发环境下系统的压力。OK,本文我们就来看看Hystrix中请求缓存的使用。 本文是Spring Cloud系列的第十三篇文章,了解前十二篇文章内原创 2017-10-09 17:39:48 · 5716 阅读 · 2 评论 -
Spring Cloud中Hystrix的请求合并
在微服务架构中,我们将一个项目拆分成很多个独立的模块,这些独立的模块通过远程调用来互相配合工作,但是,在高并发情况下,通信次数的增加会导致总的通信时间增加,同时,线程池的资源也是有限的,高并发环境会导致有大量的线程处于等待状态,进而导致响应延迟,为了解决这些问题,我们需要来了解Hystrix的请求合并。 本文是Spring Cloud系列的第十四篇文章,了解前十三篇文章内容有助于更好的理解本文:原创 2017-10-12 11:56:11 · 5832 阅读 · 4 评论 -
使用Spring Cloud搭建服务注册中心
我们在之前的博客中已经介绍过阿里的分布式服务框架dubbo【Linux上安装Zookeeper以及一些注意事项】【一个简单的案例带你入门Dubbo分布式框架】,但是小伙伴们应该也看到了,阿里的dubbo无法单独完成工作,我们还要借助于Apache上的开源框架zookeeper(不是必须,但是最佳实践莫过于zookeeper),使用zookeeper作为服务注册中心,才能实现一个较好的分布式应用。与原创 2017-09-03 12:08:25 · 38403 阅读 · 12 评论 -
使用Spring Cloud搭建高可用服务注册中心
我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心。 上篇博客【使用Spring Cloud搭建服务注册中心】中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭建好的服务注册中心是一个单节点的服务注册中心,这样一旦发生了故障,那么整个服务就会瘫痪,所以我们需要一个高可用的服务注册中心,那么在Eureka中,我们通过集群来解决这个问题。Eureka原创 2017-09-04 09:04:49 · 10154 阅读 · 7 评论 -
Spring Cloud中服务的发现与消费
通过前面两篇文章(使用Spring Cloud搭建服务注册中心、使用Spring Cloud搭建高可用服务注册中心)的学习,相信小伙伴们已经可以自己搭建一个单节点或者多节点的服务注册中心了,同时也能够向这个服务注册中心去注册服务。服务注册成功了,我们就该发现和消费服务了,今天我们就来看看如何实现服务的发现与消费(由于前面两篇文章是本文的基础,因此建议小伙伴们先阅读前面两篇文章,否则直接阅读本文会有点原创 2017-09-06 10:10:47 · 6876 阅读 · 8 评论 -
Eureka中的核心概念
本文是Spring Cloud系列的第四篇,前面三篇文章(使用Spring Cloud搭建服务注册中心、使用Spring Cloud搭建高可用服务注册中心、Spring Cloud中服务的发现与消费)我们带大家搭建了服务注册中心,向服务注册中心注册了服务,同时也发现和消费了服务。前面的文章我们是以实际代码操作为主,这篇文章我想对前面三篇文章中涉及到的一些知识点再进行详细的梳理,对于一些前面未涉及到的原创 2017-09-07 10:16:49 · 5424 阅读 · 3 评论 -
什么是客户端负载均衡
我们之前有一篇文章详述了如何使用nginx实现负载均衡(Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享),在这篇文章中,我们实现了如何将客户端发来的请求通过Nginx负载均衡服务器发送到不同的上游服务器去处理,这种负载均衡就是一种典型的服务端负载均衡,那么客户端负载均衡是什么?它和服务端负载均衡有什么区别? 本文是Spring Cloud系列的第原创 2017-09-08 11:48:56 · 8248 阅读 · 0 评论 -
Spring RestTemplate中几种常见的请求方式
在Spring Cloud中服务的发现与消费一文中,当我们从服务消费端去调用服务提供者的服务的时候,使用了一个很好用的对象,叫做RestTemplate,当时我们只使用了RestTemplate中最简单的一个功能getForEntity发起了一个get请求去调用服务端的数据,同时,我们还通过配置@LoadBalanced注解开启客户端负载均衡,RestTemplate的功能不可谓不强大,那么今天我原创 2017-09-11 11:57:19 · 254328 阅读 · 27 评论 -
RestTemplate的逆袭之路,从发送请求到负载均衡
上篇文章我们详细的介绍了RestTemplate发送请求的问题,熟悉Spring的小伙伴可能会发现:RestTemplate不就是Spring提供的一个发送请求的工具吗?它什么时候具有了实现客户端负载均衡的功能的?本文我们就来聊一聊RestTemplate的逆袭之路,看它如何从一个普通的请求发送工具变成了具有客户端负载均衡功能的请求发送工具。本文是Spring Cloud系列的第七篇文章,了解前六篇原创 2017-09-12 08:35:36 · 24524 阅读 · 4 评论 -
Spring Cloud中负载均衡器概览
在上篇文章中(RestTemplate的逆袭之路,从发送请求到负载均衡)我们完整的分析了RestTemplate的工作过程,在分析的过程中,我们遇到过一个ILoadBalancer接口,这个接口中有一个chooseServer方法是我们选择服务实例的方法,这个也是整个负载均衡中最最核心的部分,那么它到底是采用了什么样的策略从服务提供者列表中选出了一个服务供服务消费者去调用的?这是我们今天要讨论的问题原创 2017-09-13 08:34:20 · 4639 阅读 · 2 评论