SpringCloud 微服务
lzcWHUT
这个作者很懒,什么都没留下…
展开
-
spring、spring-boot和-spring-cloud的关系
想要了解 Spring Cloud 和 Spring Boot 是如何配合使用的,就必须先要了解 Spring Boot 的 Starter 机制。Spring Boot StarterSpring Boot Starter 是 Spirng Boot 约定优于配置理念的最佳实现。Spring Boot Starter 有两个核心组件:自动配置代码和提供自动配置模块及其它有用的依赖。也就意味着...原创 2019-09-12 10:43:13 · 1479 阅读 · 0 评论 -
Eureka 工作原理
Eureka 作为 Spring Cloud 体系中最核心、默认的注册中心组件,研究它的运行机制,有助于我们在工作中更好地使用它。Eureka 核心概念回到服务注册调用示意图,服务提供者和服务的消费者,本质上也是 Eureka Client 角色。整体上可以分为两个主体:Eureka Server 和 Eureka Client。Eureka Server:注册中心服务端注册中心服务端主...转载 2019-09-12 14:37:57 · 1117 阅读 · 1 评论 -
Eureka 缓存机制详细配置
Eureka Server 内部有二层缓存机制,那这些机制是如何工作的,以及 Eureka Server 是如何存储服务的注册信息,本节会给大家揭晓。Eureka 在使用过程中有一些非常重要的配置项,本节也会整理出来,方便大家以后在生产环境根据项目场景来调整。Eureka Server 数据存储我们知道 Eureka Server 在运行期间就是一个普通的 Java 项目,并没有使用数据库...转载 2019-09-12 14:53:53 · 1165 阅读 · 0 评论 -
服务注册与消费
前面几篇文章向读者介绍了 Eureka 和 Consul 的基本用法,并对原理做了细致地分析。对于服务注册与调用,在前面的文章中也有涉及,但是没有细说,本文我们就来看看微服务中的服务注册与消费。系统架构其实,在微服务出现之前,跨服务调用的需求就有了,只不过以前大多数人可能会采用直连的方式去调用另一个服务。例如有 Server A 和 Serve...转载 2019-09-13 11:02:00 · 998 阅读 · 1 评论 -
RestTemplate 用法详解
上篇文章带大家学习了一下基本的微服务环境搭建,由 provider 提供服务, consumer 通过 DiscoveryClient 先去 eureka 上获取 provider 的服务的地址,获取到地址之后再去调用相关的服务。在服务的调用过程中,使用到了一个工具,叫做 RestTemplate,RestTemplate 是由 Spring 提供的一个 HTTP 请求工具。在上文的案例中,开发者...转载 2019-09-15 10:49:20 · 249284 阅读 · 38 评论 -
服务请求负载均衡
通过前面文章的学习,大家已经了解到如何搭建服务注册中心,如何将一个 provider 注册到服务注册中心, consumer 又如何从服务注册中心获取到 provider 的地址,在 consumer 获取 provider 地址时,我们一直采用了 DiscoveryClient 来手动获取,这样出现了大量冗余代码,而且负载均衡功能也没能实现。因此,本文我将和大家分享在微服务中如何实现负载均衡,以...转载 2019-09-15 11:04:06 · 1663 阅读 · 0 评论 -
声明式服务调用 Feign
在前面几篇文章中,主要和大家介绍了服务的注册与消费。在介绍过程中,我们从最最原始的手动利用 DiscoveryClient 发现服务开始,手动实现负载均衡,再到最后的自动化配置。相信经过前面几篇文章的学习,大家对微服务之间的调用应该有了一个基本的认知。但是我们前面的所有服务调用都是手动写 RestTemplate 来实现的,大家可能已经发现这样写有点麻烦,每次都要写请求 Url 、配置响应数据类型...转载 2019-09-15 11:10:42 · 607 阅读 · 1 评论 -
Feign 中的继承、日志与数据压缩
上篇文章和大家分享了声明式微服务调用组件 Feign 的基本用法,相信大家已经了解到使用 Feign 的好处了,使用 Feign 有效地解决了使用 RestTemplate 时的代码模板化的问题,使服务之间的调用更加简单方便,同时也不易出错。不过,细心的读者可能也发现,上篇文章中我们学的 Feign 还是有一些明显的缺陷,例如,当我们在 provider 中定义接口时,可能是下面这样:@Rest...转载 2019-09-15 11:18:08 · 727 阅读 · 0 评论 -
Resilience4j 基本用法详解
和传统架构相比,微服务有一个非常严重的问题常常被人诟病。什么问题呢?就是故障率。在传统架构中,我们可以将故障率降到很低,但是在微服务中,这一点却不太容易做到,因为单个微服务的故障率即使降低了,但假如有1000台机器,那么整个系统正常运行的概率就是 (1-故障率)^1000 ,经过这样一个幂运算之后,你会发现系统正常运行的概率低得吓人,而且如果处理不好的话还会发生服务雪崩(故障蔓延),什么是服务雪...转载 2019-09-15 12:39:39 · 5498 阅读 · 0 评论