Spring Cloud
文章平均质量分 90
言尭
这个作者很懒,什么都没留下…
展开
-
Spring Cloud:使用TraceId进行日志追踪
微服务系统链路跟踪,使用 TraceId 来进行日志追踪原创 2022-08-23 09:46:29 · 2663 阅读 · 1 评论 -
Spring Cloud:Seata分布式事务实例
快速开始用例用户购买商品的业务逻辑。整个业务逻辑由3个微服务提供支持: 仓储服务:对给定的商品扣除仓储数量。 订单服务:根据采购需求创建订单。 帐户服务:从用户帐户中扣除余额。 架构图仓储服务public interface StorageService {/*** 扣除存储数量*/void deduct(String commodityCode, int count);}订单服务public interface .原创 2021-06-24 17:58:25 · 571 阅读 · 0 评论 -
Spring Boot:动态多数据源切换集成和源码分析
概述在大型项目开发中,当数据量达到一定程度后,我们一般采用分库分表来实现数据层的拓展,面对复杂的存储层,相应的数据库中间件和多数据源切换的需求就应运而生。这里我们重点讨论下多数据源切换,多数据源的动态切换可以方便我们快速的实现主从读写分离、异构纯粹多库等动态数据库操作。常见的多数据源一般有以下两种解决方案:1、通过显示模式声明多数据源,应用切换。优点是简单,缺点是不易于拓展,强耦合。通过优先代理类实现动态切换,Spring的AbstractRoutingDataSource就是采用这原创 2021-06-07 14:02:53 · 4709 阅读 · 0 评论 -
Spring Cloud:基于xxl-job的分布式任务调度
什么是XXL-JOBXXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。XXL-JOB提供了许多特性,极大简化了任务调度的开发工作,从而做到开箱即用。XXL-JOB的设计思想是将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。将任务抽象成分散的JobHandler,交由“执行器”统一管理,“执行器”负责接收调度请求并执行对应的JobHandler中业务逻辑。系统组成 调度模块(调度中心): 负责管.原创 2021-06-04 15:52:21 · 1890 阅读 · 0 评论 -
Spring Cloud:微服务之构建支持多存储方式的分布式文件存储服务
概述在微务系统架构中,分布式文件系统(Distributed File System,DFS)是必不可少的中间件。分布式文件系统是面对互联网的需求而产生,互联网时代对海量数据如何存储?靠简单的增加硬盘的个数已经满足不了我们的要求,因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等。通过分布式文件系统我们可以将相同的文件同时存储到网络上多台服务器上,从而实现提供文件的访问效率和提高文件的可用性。目前各大主流云服务商都提供对象存储服务(OSS),也存在许多成熟的开源本地化部署原创 2021-05-24 10:31:43 · 1400 阅读 · 0 评论 -
Spring Cloud:Spring Boot Admin使用手册
版本号:Spring Boot Admin 2.4.1Spring Boot Admin简介Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul,Nacos)发现。 UI是的VueJs应用程序,展示Spring Boot Admin Client的Actu原创 2021-05-20 11:47:58 · 533 阅读 · 0 评论 -
Spring Cloud:基于Redisson的分布式锁实现
什么是分布式锁在分布式系统中,为了保证数据的一致性,我们通常需要很多的技术方案支持,比如分布式事务、分布式锁等。其中分布式锁主要是为了解决多线程下资源抢占的问题,原理和平常所讲的锁原理基本一致,目的就是确保在多个线程、进程(服务)并发时,只有一个线程、进程(服务)在同一刻操作这个业务。分布式锁一般有以下三种实现: 基于数据库实现分布式锁; 基于缓存(Redis等)实现分布式锁; 基于Zookeeper实现分布式锁 本次我们重点讨论基于redis的分布式锁实现。什么是原创 2021-05-19 09:56:23 · 2212 阅读 · 1 评论 -
Spring Cloud:Gateway整合Springfox Swagger 3.0
前言2020年7月份Springfox 发布了3.0.0,增加了对Webflux、OpenApi 3的支持,适应Gateway。在微服务系统中,每个业务模块使用swagger管理接口文档,同时,可以使用业务网关聚合管理各微服务的接口文档,本文重点说明Spring Cloud Gateway集成Springfox swagger 3.0,以供参考。框架版本 Spring Boot 2.4.4 Spring Cloud 2020.0.2 Spring Cloud Alibaba原创 2021-05-11 14:01:15 · 6232 阅读 · 4 评论 -
Spring Cloud:Nacos配置中心
Nacos配置中心什么是配置中心在微服务架构中,当系统从一个单体应用,被拆分成分布式系统上一个个服务节点后,配置文件也必须跟着分割,这样导致配置分散、冗余,难以管理。如下图:总得来说,配置中心就是一种统一管理各种应用配置的基础服务组件。配置中心将配置从各应用中剥离出来,对配置进行统一管理,应用自身不需要自己去管理配置,让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。Nacos配置.原创 2021-05-07 10:14:41 · 1011 阅读 · 2 评论 -
Spring Cloud:Nacos注册中心
Nacos注册中心什么是注册中心注册中心是微服务架构中的纽带,记录了服务和服务地址的映射关系。在分布式架构中,为什么需要注册中心。因为在没有注册中心时候,服务间调用需要知道被调方的地址,当服务更换部署地址,就不得不修改地址配置。而有了注册中心之后,当服务启动时,服务会把地址注册到服务注册中心,当服务调用方调用某个服务的时候,可以通过服务名字去服务注册中心获取可用的服务,服务注册中心会从服务列表获取所有可用的服务,然后根据负载均衡规则选择一个服务将服务的真实地址(ip:port)返回给调用方,原创 2021-05-07 10:07:02 · 165 阅读 · 2 评论 -
Spring Cloud:Nacos入门
什么是NacosNacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。Nacos 致力于发现、配置和管理微服务,Nacos 提供了一组简单易用的特性集,快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 的关键特性包括: 服务发现和服务健康监测:Nacos 支持基于 DNS 和基于 RPC 的服务发现,服务消费者可以使用DNS或HTTP API查找和发现服务 。同时Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送原创 2021-05-07 10:03:00 · 339 阅读 · 0 评论 -
Spring Cloud:网关 - Spring Cloud Gateway
版本:3.0.2Spring Cloud Gateway基于Spring生态提供了一套API Gateway,包括:Spring 5,Spring Boot 2和Project Reactor。Spring Cloud Gateway旨在提供一个简单、有效的API路由和一系列基础功能,如:安全,监控/指标和限流。1、引入Spring Cloud Gateway如果需要在项目中使用Spring Cloud Gateway,只需要在项目中引入spring-cloud-starter-gateway,原创 2021-04-30 15:19:53 · 760 阅读 · 1 评论 -
Spring Cloud:负载均衡 - Spring Cloud Loadbalancer原理
Spring Cloud 2020版本以后,默认移除了对Netflix的依赖,其中就包括Ribbon,官方默认推荐使用Spring Cloud Loadbalancer正式替换Ribbon,并成为了Spring Cloud负载均衡器的唯一实现。今天我们深入分析一下Spring Cloud Loadbalancer的具体实现:使用1、公共依赖Spring Cloud,例如版本2020.0.2<dependency> <groupId>org.sprin...原创 2021-04-23 17:03:26 · 29008 阅读 · 1 评论 -
Spring Cloud:Feign - 轻量级Restful HTTP客户端
什么是FeignFeign是一款Netflix开源的轻量级的Restful Http Client,实现了负载均衡和Rest调用的开源框架,封装了Ribbon(Spring Cloud 2020版本后替代为LoadBalancer)和RestTemplate,实现了面向接口编程,进一步降低了项目耦合度。官方定义:Feign makes writing java http clients easier.Feign is a Java to HTTP client binder inspire原创 2021-04-23 10:35:38 · 756 阅读 · 0 评论 -
Spring Cloud:限流熔断 - 整合阿里Sentinel
Sentinel介绍随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel是阿里巴巴开源的分布式系统的流量防卫组件,Sentinel 把流量作为切入点,从流量控制,熔断降级,系统负载保护等多个维度保护服务的稳定性。Sentinel具有以下特征: 丰富的应用场景: Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、实时熔断下游不可用应用等。 完备的实时监控: Sentinel 同.原创 2021-04-22 15:17:50 · 240 阅读 · 0 评论 -
微服务架构技术栈
经过多年的发展,微服务已经成为了企业主流的架构首选,今天我们重新盘点一下微服务架构的技术栈,探讨微服务学习的全路径。什么是微服务维基百科定义:微服务(Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关的API集相互通信。2014年,Martin Fowler与James Lewis共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,.原创 2021-04-22 13:52:47 · 1540 阅读 · 1 评论