
SpringCloud
SpringCloud的学习和心得
代码忘烦恼
我很普通,擅长spring家族,梦想我爱你。
展开
-
SpringCloud之消息中间件和Docker
本章要用两篇文章来和大家聊一个新的话题,那就是消息中间件。在微服务中, Spring Cloud Bus (消息总线)通过轻量级消息代理连接各个微服务,在很多场景下我们对 Spring Cloud Bus 有非常迫切的需求,最简单的需求就是上篇文章我们提到的希望在配置文件更新时能够变得更加容易些,使用 Spring Cloud Bus 就可以实现这一需求。Spring Cloud Bus 的一个核...原创 2019-11-30 20:32:10 · 1489 阅读 · 2 评论 -
SpringOauth2简单登陆
SpringOauth2实现Jdbc简单认证登陆创建一个SpringBoot工程依赖如下:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version...原创 2019-10-25 10:36:50 · 615 阅读 · 0 评论 -
SpringCloud之Feign中的继承、日志、压缩
上篇文章和大家分享了声明式微服务调用组件 Feign 的基本用法,相信大家已经了解到使用 Feign 的好处了,使用 Feign 有效地解决了使用 RestTemplate 时的代码模板化的问题,使服务之间的调用更加简单方便,同时也不易出错。不过,细心的读者可能也发现,上篇文章中我们学的 Feign 还是有一些明显的缺陷,例如,当我们在 provider 中定义接口时,可能是下面这样:@Rest...原创 2019-08-05 15:51:50 · 3735 阅读 · 1 评论 -
SpringCloud之服务器请求负载均衡
通过前面文章的学习,大家已经了解到如何搭建服务注册中心,如何将一个 provider 注册到服务注册中心, consumer 又如何从服务注册中心获取到 provider 的地址,在 consumer 获取 provider 地址时,我们一直采用了 DiscoveryClient 来手动获取,这样出现了大量冗余代码,而且负载均衡功能也没能实现。因此,本文我将和大家分享在微服务中如何实现负载均衡,以...原创 2019-08-02 17:40:39 · 8394 阅读 · 3 评论 -
SpringCloud之RestTemplate的用法精讲
什么是RestTemplateRestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、POST 请求、PUT 请求、DELETE 请求以及一些通用的请求执行方法 exchange 以及 execute。RestTemplate 继承自 InterceptingHttpAccessor 并且实现了 RestO...原创 2019-07-30 10:32:52 · 23132 阅读 · 2 评论 -
Consul 注册中心介绍
在 Spring Cloud 体系中,几乎每个角色都会有两个以上的产品提供选择,比如在注册中心有:Eureka、Consul、zookeeper、etcd 等;网关的产品有 Zuul、Spring Cloud Gateway 等。在注册中心产品中,最常使用的是 Eureka 和 Consul,两者各有特点,企业可以根据自述项目情况来选择。前面给大家详细介绍了 Eureka ,本节给大家介绍 Co...原创 2019-07-08 20:46:32 · 44448 阅读 · 8 评论 -
SpringCloud之服务注册和消费
系统架构在没有微服务之前有已经有跨服务调用了,比如ServiceB去调用ServiceA中的服务 , 传统模式可以直接在ServiceB中写ServiceA中的服务但是这样是写死了的,不够灵活。下图就是传统的调用微服务下的跨系统调用应该是这样的:此时服务的调用应该是分两个步骤的:ServiceB 去服务中心拿到ServiceA的地址,如果ServiceA是单机部署,那么这个地址就只有...原创 2019-07-25 11:12:03 · 4966 阅读 · 1 评论 -
Eureka 缓存机制详细配置
上节为大家介绍了 Eureka 的工作原理,其中提到了 Eureka Server 内部有二层缓存机制,那这些机制是如何工作的,以及 Eureka Server 是如何存储服务的注册信息,本节会给大家揭晓。Eureka 在使用过程中有一些非常重要的配置项,本节也会整理出来,方便大家以后在生产环境根据项目场景来调整。Eureka Server 数据存储我们知道 Eureka Server 在运...转载 2019-07-07 10:02:10 · 12298 阅读 · 9 评论 -
Eureka工作原理
Eureka 工作原理上节内容为大家介绍了,注册中心 Eureka 产品的使用,以及如何利用 Eureka 搭建单台和集群的注册中心。这节课我们来继续学习 Eureka,了解它的相关概念、工作流程机制等。Eureka 作为 Spring Cloud 体系中最核心、默认的注册中心组件,研究它的运行机制,有助于我们在工作中更好地使用它。Eureka 核心概念回到上节的服务注册调用示意图,服务提...原创 2019-07-03 10:46:48 · 218072 阅读 · 51 评论 -
Eureka服务中心的搭建(2)
注册中心高可用理论上来讲,服务消费者本地缓存了服务提供者的地址。即使 Eureka Server 宕机,也不会影响服务之间的调用,但是一旦涉及到服务的上下线,本地的缓存信息将会出现偏差,从而影响到了整个微服务架构的稳定性,因此搭建 Eureka Server 集群来提高整个架构的高可用性,是非常有必要的。这样就可以使注册中心高可用。搭建Eureka集群开启 Eureka 集群配置后,服务启动...转载 2019-06-30 11:55:14 · 5986 阅读 · 0 评论 -
Eureka服务中心的搭建(1)
SpringBoot2.x整合SpringCloud <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versi...转载 2019-06-30 10:40:10 · 7675 阅读 · 0 评论 -
SpringCloud之网关高级用法
本文将对Spring Cloud GateWay 中的 Predicate 和 Filter进行讲解,因为它们是GateWay中最重要的核心功能。可以说是网关的左膀右臂。原创 2019-09-14 12:35:23 · 2153 阅读 · 0 评论 -
SpringCloud之声明式服务调用Feign
在前面几篇文章中,主要和大家介绍了服务的注册与消费。在介绍过程中,我们从最最原始的手动利用 DiscoveryClient 发现服务开始,手动实现负载均衡,再到最后的自动化配置。相信经过前面几篇文章的学习,大家对微服务之间的调用应该有了一个基本的认知。但是我们前面的所有服务调用都是手动写 RestTemplate 来实现的,大家可能已经发现这样写有点麻烦,每次都要写请求 Url 、配置响应数据类型...原创 2019-08-03 11:06:27 · 3908 阅读 · 0 评论 -
SpringCloud之远程分布式配置(Config)
通过前面的学习,相信大家已经掌握了SpringCloud许多组件的用法,能够熟练的搭建基本的微服务,应该感受到微服务和我们传统架构的项目最大区别在于微服务中要部署的项目数量非常多,每个服务的配置也非常繁杂。如果将这些配置文件都放在各个微服务之中,随着项目不断变大,配置文件会越来越多,越来越复杂,每一次项目上线估计运维工程师都要崩溃了,维护也非常不方便,因为要改的数据太多了。那么有没有一种办法可以让...原创 2019-09-22 14:41:49 · 1539 阅读 · 0 评论 -
SpringCloud之Micrometer 微服务监控
不同于单体架构的应用,微服务架构由于服务数量众多,出故障的概率更大,这个在前两篇文章中已经和读者分享过了。这种时候不能单纯依靠“人肉”运维,否则当服务数量越来越多时成本将变得不可控。一个好的解决方案是我们需要对服务进行监控,监控服务运行的数据。当有异常情况出现时,服务能够自动报警,方便运维工程师去处理。Spring Cloud 中对于服务监控这一个话题也是在不断地变化中。早期的版本( Green...原创 2019-08-21 19:26:41 · 5031 阅读 · 0 评论 -
SpringCloud之在微服务中使用Resilience4J
在上一篇文章我们将了断路器,又详细的讲解了Resilience4J的用法,但是都是基于普通环境下的使用,并没有在微服务中应用。Resilience4J只有在微服务中才能大展身手,那么我们下面就来具体将Resilience4J 运用到我们的微服务中。准备工作首先我们创建一个Resilience4J-SpringBoot的普通maven工程,作为父工程,然后我们在父工程中创建一个eureka的Sp...原创 2019-08-10 11:45:44 · 8338 阅读 · 0 评论 -
Spring Cloud之 Config 中 配置文件的加密与解密
Spring Cloud Config 中配置文件的加密与解密上篇文章和大家聊了 Spring Cloud Config 分布式配置中心的基本用法,相信大家对 Spring Cloud Config 已经有了一个基本的认识。可能有读者也发现问题了,原本在非分布式环境下,一些由运维工程师掌握的敏感信息现在不得不写在配置文件中了,这样网传的程序员删库跑路的段子可能就成真了!但是在微服务中,我们又不太...原创 2019-10-08 10:15:55 · 6152 阅读 · 0 评论 -
SpringCloud 之动态刷新、重试、服务化
假如说我们的配置从远程仓库获取失败了,那么该如何去处理呢?这里就要使用到 Spring Cloud Config 为我们提的动态刷新重试功能了,Spring Cloud Config 是服务化的。那么什么是服务化呢?服务化...原创 2019-10-08 10:21:09 · 1796 阅读 · 0 评论 -
SpringCloud之微服务网关
开始学习我们的服务网关,首先我们要知道网关在微服务中起到什么作用,能解决那些问题?什么是微服务网关在微服务架构中,整个系统是由很多个微服务组成的,每一个微服务负责一块独立的业务,当外部的系统需要调用微服务中的一些功能的时候,我们对外提供接口(暴露接口)。微服务架构中,服务的实例地址经常发生变化,所以我们无法直接将服务的地址暴露出来。如果每一个微服务都直接暴露接口,会导致一些列的问题,比如调用...原创 2019-09-07 20:41:41 · 1507 阅读 · 0 评论 -
SpringCloud之GateWay快速入门
在本项目中只是简单的引入的Spring Cloud GateWay的依赖,来实现路由跳转,更复杂的使用将会在下一篇文章中教大家使用。GateWay 快速入门首先我们创建一个简单的SpringBoot工程,pom依赖如下: <properties> <java.version>1.8</java.version> <...原创 2019-09-08 15:14:02 · 3651 阅读 · 2 评论