Spring Cloud
文章平均质量分 91
weixin_42073629
这个作者很懒,什么都没留下…
展开
-
SpringCloud 微服务认证授权方案
微服务(分布式)项目常见认证方案转载 2022-06-12 00:24:10 · 536 阅读 · 0 评论 -
Spring Cloud底层原理
概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家谈谈Spring Cloud微服务架构的底层原理。实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。一、转载 2022-04-10 14:42:37 · 326 阅读 · 1 评论 -
Spring Cloud Bus消息总线实现配置文件刷新(使用Kafka或RocketMQ)
如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用webhook的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。使用Spring Cloud Bus可以完美解决这一问题。Spring bus的一个核心思想是通过分布式的启动器对spring boot应用进行扩展,也可以用来建立一个多个应用之间的通信频道。目前唯一实现的方式是用AMQP消息代理作为通道,同样特性的设置(有些取决于通道的设置)在更多通道的文档中。其实本质是利用原创 2021-06-14 19:13:31 · 746 阅读 · 0 评论 -
Spring Cloud 事件总线 Kafka 入门
1. 概述友情提示:在开始本文之前,胖友需要对 Kafka 进行简单的学习。可以阅读《Kafka 极简入门》文章,将第一二小节看完,在本机搭建一个 Kafka 服务。Kafka 是一种高吞吐量的分布式发布订阅消息系统,她有如下特性:通过 O(1) 的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。 支持通过 Kafka 服务器和消费机集群来分区消息。本文我们来学习Spr.原创 2020-08-09 13:16:27 · 945 阅读 · 0 评论 -
Spring Cloud 消息队列 Kafka 入门
1. 概述本文我们来学习Spring Cloud Stream Kafka组件,基于Spring Cloud Stream的编程模型,接入Kafka作为消息中间件,实现消息驱动的微服务。FROM《分布式发布订阅消息系统 Kafka》Kafka 是一种高吞吐量的分布式发布订阅消息系统,她有如下特性:通过 O(1) 的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。...原创 2020-08-09 10:23:33 · 1588 阅读 · 1 评论 -
Spring Cloud Alibaba 服务调用 Dubbo 入门
1. 概述本文我们来学习Spring Cloud Alibaba提供的Spring Cloud Alibaba Dubbo组件,接入Dubbo实现服务调用。Dubbo Spring Cloud 基于 Dubbo Spring Boot 2.7.1 和 Spring Cloud 2.x 开发,无论开发人员是 Dubbo 用户还是 Spring Cloud 用户, 都能轻松地驾驭,并以接近“零”成本的代价使应用向上迁移。Dubbo Spring Cloud 致力于简化 Cloud Nati...原创 2020-08-05 22:44:54 · 863 阅读 · 0 评论 -
Spring Cloud 链路追踪 Spring Cloud Sleuth
1. 概述Spring Cloud Sleuth是由 Spring Cloud 官方推出,为 Spring Cloud 实现分布式链路追踪的功能,它在设计上借鉴了Dapper、Zipkin、HTrace。Spring Cloud Sleuth is a distributed tracing tool for Spring Cloud. It borrows fromDapper,Zipkin, andHTrace.实际上,我们可以直接把 Spring Cloud Sleuth ...原创 2020-08-04 23:54:37 · 1389 阅读 · 0 评论 -
Spring Cloud Netflix 网关 Zuul 入门
1. 概述Zuul是由 Netflix 开源的微服务网关,提供都动态路由、监控、熔断、安全等等功能。Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.Spring Cloud Netflix Zuul将 Zuul 融入 Spring Cloud 生态体系,作为 Spring Cloud 微服务架构中的 API 网关。如下图所示:拓..原创 2020-07-13 01:14:45 · 613 阅读 · 0 评论 -
Spring Cloud 声明式调用 Feign 入门
1. 概述???? FeignFeign是由 Netflix 开源的声明式的 HTTP 客户端,目前已经捐献给OpenFeign社区。Feign makes writing java http clients easier通过使用定义简单的接口,并声明 Feign 提供的注解,来实现 HTTP 的调用。示例代码如下:import feign.Feign;import feign.Param;import feign.RequestLine;// 商品 APIinterfa原创 2020-07-05 17:53:01 · 497 阅读 · 0 评论 -
Spring Cloud之服务注册与发现机制
一、复杂与简单并存1、背景:到底是复杂好还是简单好,这是一个没有答案的问题,也是一个哲学问题。见仁见智啦。事物整体肯定是向复杂化方向发展,但是向人们呈现时应尽量简单化。用一句话来说就是:功能复杂化,使用简单化。因为人们的要求越来越高,所以功能肯定越来越复杂。又因为要获得更好的用户体验,所以使用方式应该越来越简单。因此对用户隐藏复杂性是一个需要专门考虑的事情。这个事情一直在进行中,而且效果还不错。下面请看一些例子:(1)、IP很难记忆,于是引入了域名。网上资源很难查找,于是有了搜索引擎。手动挡.原创 2020-06-27 03:24:51 · 912 阅读 · 1 评论 -
Spring Cloud 事件总线 Consul 入门
1. 概述在《Consul 极简入门》文章中,我们一起完成了 Consul 的学习,并完成了 Consul 服务器的搭建。本文我们来学习Spring Cloud Consul提供的spring-cloud-consul-binder组件,基于Spring Cloud Bus的编程模型,接入 Consul 提供的Event特性,实现事件总线的功能。Spring Cloud Bus 是事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud C...原创 2020-06-25 22:53:49 · 1106 阅读 · 0 评论 -
Spring Cloud 配置中心 Consul 入门
1. 概述在《Consul 极简入门》文章中,我们一起完成了 Consul 的学习,并完成了 Consul 服务器的搭建。本文我们来学习Spring Cloud Consul提供的spring-cloud-consul-config组件,接入 Consul 作为配置中心,实现服务的统一配置管理。2. 快速入门示例代码对应仓库:labx-28-sc-consul-config-demo。本小节,我们会在 Consul 服务中定义配置,并使用@ConfigurationProp...原创 2020-06-25 22:37:51 · 677 阅读 · 0 评论 -
Spring Cloud 注册中心 Consul 入门
1. 概述在《Consul 极简入门》文章中,我们一起完成了 Consul 的学习,并完成了 Consul 服务器的搭建。本文我们来学习Spring Cloud Consul提供的spring-cloud-consul-discovery组件,基于 Spring Cloud 的编程模型,接入 Consul 作为注册中心,实现服务的注册与发现。2. 注册中心原理在开始搭建 Consul Discovery 的示例之前,我们先来简单了解下注册中心的原理。在使用注册中心时,一共有三种角...原创 2020-06-25 19:01:58 · 236 阅读 · 0 评论 -
Spring Cloud Netflix 网关 Zuul 入门
1. 概述Zuul是由 Netflix 开源的微服务网关,提供都动态路由、监控、熔断、安全等等功能。Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.Spring Cloud Netflix Zuul将 Zuul 融入 Spring Cloud 生态体系,作为 Spring Cloud 微服务架构中的 API 网关。如下图所示:拓..原创 2020-06-22 07:09:34 · 575 阅读 · 0 评论 -
Spring Cloud 网关 Spring Cloud Gateway 入门
1. 概述Spring Cloud Gateway是由WebFlux+Netty+Reactor实现的响应式的 API 网关。Spring Cloud Gateway 旨在为微服务架构提供一种简单且有效的 API 路由的管理方式,并基于 Filter 的方式提供网关的基本功能,例如说安全认证、监控、限流等等。Spring Cloud Gateway 定位于取代 NetflixZuul,成为 Spring Cloud 生态系统的新一代网关。目前看下来非常成功,老的项目的网关逐步从 ...原创 2020-06-21 19:41:49 · 2123 阅读 · 0 评论 -
Spring Cloud 配置中心 ZooKeeper 入门
1. 概述在《 ZooKeeper 极简入门》文章中,我们一起完成了 ZooKeeper 的学习,并完成了 ZooKeeper 服务器的搭建。本文我们来学习Spring Cloud ZooKeeper提供的spring-cloud-zookeeper-config组件,接入 Zookeeper 作为配置中心,实现服务的统一配置管理。2. 快速入门示例代码对应仓库:labx-26-sc-zookeeper-config-demo。本小节,我们会在 ZooKeeper 服务中定义...原创 2020-06-20 23:07:09 · 1164 阅读 · 1 评论 -
Spring Cloud 注册中心 ZooKeeper 入门
1. 概述在《ZooKeeper 极简入门》文章中,我们一起完成了 ZooKeeper 的学习,并完成了 ZooKeeper 服务器的搭建。本文我们来学习Spring Cloud ZooKeeper提供的spring-cloud-zookeeper-discovery组件,基于 Spring Cloud 的编程模型,接入 ZooKeeper 作为注册中心,实现服务的注册与发现。2. 注册中心原理在开始搭建 ZooKeeper Discovery 的示例之前,我们先来简单了解下注册中心...原创 2020-06-20 22:07:58 · 683 阅读 · 0 评论 -
Spring Cloud Netflix 服务容错 Hystrix 入门
1. 概述在开始 Spring Cloud Netflix Hystrix 的学习之前,我们先来一起瞅瞅“服务雪崩”、“服务容错”等的概念,方便我们理解为什么要使用 Hystrix 框架。1.1 服务雪崩在微服务的架构体系中,我们会将系统拆分成多个服务小单元,通过 HTTP 或者 RPC 进行远程调用。如下图所示:在绝大多数情况下,服务消费者都能正常的远程调用服务提供者。但是某一时刻,服务提供者执行逻辑较慢,又或者网络出现抖动的情况,导致服务消费调用服务提供者超时或者失败。如下图所示:原创 2020-05-30 13:19:08 · 376 阅读 · 0 评论 -
Spring Cloud 配置中心 Spring Cloud Config 入门
1. 概述Spring Cloud Config是由 Spring Cloud 官方推出,基于 Spring Cloud 体系的配置中心。相比Nacos、Apollo等其它配置中心来说,Spring Cloud Config 是一个轻量级的配置中心,和 Spring Cloud 的集成度会更好,不过功能上会薄弱一些。例如说,灰度发布、运维界面、配置回滚等等。因此,还是推荐使用 Apollo 或者 Nacos 嘿嘿~Spring Cloud Config 整体架构如下图所示:一共分成 S...原创 2020-06-18 22:42:28 · 946 阅读 · 0 评论 -
Spring Cloud 配置中心 Apollo 入门
1. 概述本文我们来学习如何在 Spring Cloud 中使用 Apollo 作为配置中心,实现服务的统一配置管理。FROM《Apollo 设计文档 —— Home》Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。在开始本文之前,胖友需要对 Apollo 进行简单的学习。可以阅读《Apollo 极简入门》文章,将第一二小节看完,在本机搭建.原创 2020-06-18 21:43:11 · 429 阅读 · 0 评论 -
Spring Cloud Alibaba 分布式事务 Seata 入门
1. 概述在《Seata 极简入门》文章中,我们对 Seata 进行了简单的了解,并完成了 Seata 的部署。Seata是阿里开源的一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。目前,在 Spring Cloud 体系中,我们一般采用两种方式来实现服务的调用:方式一,使用 Dubbo 发布服务,并使用 Dubbo 调用服务 方式二,使用 Spring MVC 提供 API 接口,并使用 Feign 调用服务Seata内置对 Dubbo 和 Feign..原创 2020-06-13 19:21:48 · 850 阅读 · 0 评论 -
Spring Cloud Alibaba 消息队列 RocketMQ 入门
1. 概述本文我们来学习Spring Cloud Alibaba提供的Spring Cloud Stream RocketMQ组件,基于Spring Cloud Stream的编程模型,接入 RocketMQ 作为消息中间件,实现消息驱动的微服务。RocketMQ是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用...原创 2020-06-03 23:49:21 · 2560 阅读 · 1 评论 -
Spring Cloud Alibaba 注册中心 Nacos 入门
1. 概述本文我们来学习Spring Cloud Alibaba提供的Spring Cloud Alibaba Nacos Discovery组件,基于 Spring Cloud 的编程模型,接入 Nacos 作为注册中心,实现服务的注册与发现。服务注册/发现: Nacos Discovery服务发现是微服务架构体系中最关键的组件之一。如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列表是一件非常困难的事,而且也不利于服务的动态扩缩容。Nacos Discovery...原创 2020-06-03 02:20:41 · 276 阅读 · 0 评论 -
Spring Cloud Alibaba 配置中心 Nacos 入门
1. 概述本文我们来学习Spring Cloud Alibaba提供的Spring Cloud Alibaba Nacos Config组件,基于 Spring Cloud 的编程模型,接入 Nacos 作为配置中心,实现服务的统一配置管理。FROM《Spring Cloud Alibaba 官方文档 —— Nacos Config》Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud...原创 2020-06-03 02:00:29 · 1087 阅读 · 0 评论 -
Spring Cloud Alibaba 服务容错 Sentinel 入门
1. 概述本文我们来学习Spring Cloud Alibaba提供的Spring Cloud Alibaba Sentinel组件,对 Spring Cloud 进行整合,实现服务容错相关的功能。FROMhttps://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。S...原创 2020-05-30 19:45:20 · 5962 阅读 · 1 评论