- 博客(115)
- 资源 (3)
- 收藏
- 关注
原创 分布式中间件:Redisson 入门和分布式锁
在分布式系统的开发中,处理并发问题是一个常见且具有挑战性的任务。为了确保数据的一致性和完整性,我们常常需要使用分布式锁。Redisson 作为一个强大的分布式 Java 驻内存数据网格(In-Memory Data Grid)中间件,为我们提供了简单且高效的分布式锁解决方案。本文将带你入门 Redisson,并介绍如何使用它实现分布式锁。
2025-03-22 06:30:00
769
原创 分布式中间件:Redisson 介绍
在分布式系统的开发中,我们常常会面临各种各样的挑战,如分布式锁、分布式集合、分布式信号量等问题。为了解决这些问题,分布式中间件应运而生。Redisson 作为一款强大的 Java 驻内存数据网格(In-Memory Data Grid),为我们提供了简单易用且高效的分布式解决方案。本文将详细介绍 Redisson 的特点、使用场景、基本使用方法以及其实现原理。
2025-03-22 06:00:00
679
原创 分布式中间件:基于 Zookeeper 的分布式锁
在分布式系统中,多个进程或服务可能会同时访问共享资源,为了避免数据竞争和不一致问题,我们需要实现分布式锁。Zookeeper 是一个开源的分布式协调服务,它提供了分布式锁的实现机制,通过 Zookeeper 可以方便地实现分布式锁。本文将详细介绍如何基于 Zookeeper 实现分布式锁,并结合 Spring Boot 进行实际应用。
2025-03-21 06:30:00
780
原创 分布式中间件:Zookeeper 入门
在分布式系统的开发中,协调服务是至关重要的。Zookeeper 作为一个高性能的分布式协调服务,为分布式应用提供了一致性服务,如配置管理、命名服务、分布式锁等。本文将带你快速入门 Zookeeper,从环境搭建到 Java 代码集成,让你对 Zookeeper 有一个初步的了解。
2025-03-21 06:00:00
728
原创 分布式中间件:基于 Redis 实现分布式锁
在当今的互联网应用中,分布式系统变得越来越常见。在分布式环境下,多个服务实例可能会同时对共享资源进行读写操作,这就很容易引发数据不一致等问题。比如电商系统中的库存扣减,如果多个订单处理服务同时对同一商品的库存进行操作,就可能导致超卖现象。为了解决这类问题,分布式锁应运而生。分布式锁能够保证在分布式系统中,同一时刻只有一个服务实例可以对共享资源进行操作,从而确保数据的一致性和完整性。
2025-03-20 06:00:00
1293
原创 分布式中间件:Zookeeper 介绍
Zookeeper 是 Apache 软件基金会的一个顶级项目,它是一个开源的、高性能的分布式协调服务。本质上,Zookeeper 是一个分布式的、高可用的、树形结构的键值存储系统。它以树状的层次结构来组织数据,每个节点被称为 ZNode,类似于文件系统中的目录和文件。Zookeeper 提供了一系列的接口,允许分布式应用程序在其上进行数据的存储、读取、监听等操作,从而实现分布式系统的协调功能。
2025-03-20 06:00:00
855
原创 分布式中间件:RabbitMQ死信队列和延迟队列
在分布式系统的开发中,消息队列是一种常用的通信机制,它可以帮助我们实现系统之间的解耦、异步处理和流量削峰等功能。RabbitMQ 作为一款功能强大的消息队列中间件,提供了许多高级特性,其中死信队列和延迟队列在实际应用中非常实用。本文将详细介绍 RabbitMQ 的死信队列和延迟队列,并结合具体的代码示例进行讲解。
2025-03-19 06:30:00
984
原创 分布式中间件:RabbitMQ确认消费机制
在分布式系统中,消息队列是实现异步通信和系统解耦的重要组件。RabbitMQ 作为一款功能强大的消息队列中间件,提供了丰富的特性来保证消息的可靠传输和消费。其中,确认消费机制是确保消息被正确处理的关键环节。本文将深入探讨 RabbitMQ 的确认消费机制,并给出不同场景下的配置示例。
2025-03-19 06:00:00
641
原创 分布式中间件:RabbitMQ基于TopicExchange的“发布 - 主题 - 订阅”模型
在分布式系统的开发中,消息队列是一种非常重要的组件,它可以实现系统之间的解耦、异步通信和流量削峰等功能。RabbitMQ作为一款功能强大的消息队列中间件,提供了多种交换器类型,其中TopicExchange(主题交换器)允许根据消息的路由键和绑定键的模式匹配来决定消息的路由,实现灵活的“发布 - 主题 - 订阅”模型。本文将详细介绍如何使用RabbitMQ的TopicExchange来实现这一模型,并给出具体的代码示例。
2025-03-18 06:30:00
635
原创 分布式中间件:RabbitMQ基于DirectExchange的直连消息传输
在分布式系统的开发中,消息队列是一种常用的组件,它能够帮助我们实现系统间的解耦、异步通信以及流量削峰等功能。RabbitMQ 作为一款功能强大的消息队列中间件,提供了多种类型的交换机,其中 Direct Exchange(直连交换机)是一种非常基础且实用的交换机类型。本文将详细介绍如何使用 RabbitMQ 的 Direct Exchange 进行直连消息传输,并结合 Spring Boot 给出具体的代码示例。
2025-03-18 06:00:00
755
原创 分布式中间件:RabbitMQ基于FanoutExchange的广播消息
在分布式系统开发中,消息队列是一个非常重要的组件,它可以帮助我们实现系统间的异步通信、解耦和流量削峰等功能。RabbitMQ 作为一款功能强大且广泛使用的消息队列中间件,提供了多种交换机类型,其中 FanoutExchange(扇形交换机)可以实现广播消息的功能,即一条消息可以同时发送到多个队列,供多个消费者消费。本文将详细介绍如何使用 RabbitMQ 的 FanoutExchange 实现广播消息,并结合具体的代码示例进行讲解。
2025-03-17 06:30:00
344
原创 分布式中间件:RabbitMQ入门
在分布式系统中,消息队列是一种重要的组件,它可以实现不同服务之间的异步通信,提高系统的可扩展性和可靠性。RabbitMQ 作为一款功能强大的开源消息队列中间件,被广泛应用于各种企业级应用中。本文将带领大家入门 RabbitMQ,通过一个简单的 Spring Boot 示例,详细介绍如何配置和使用 RabbitMQ 进行消息的发送和接收。
2025-03-17 06:00:00
612
原创 分布式中间件:RabbitMQ介绍
RabbitMQ 是一个在 AMQP(高级消息队列协议)基础上实现的,可复用的企业消息系统,是分布式系统中常用的中间件,在全球范围内被广泛应用。
2025-03-06 06:00:00
609
原创 分布式中间件:Redis常见问题
在高并发的系统中,缓存作为一种提升系统性能的重要手段被广泛使用。然而,缓存使用过程中会遇到缓存穿透、缓存击穿、缓存雪崩等问题,这些问题可能导致系统性能下降甚至崩溃。下面详细介绍它们的区别和对应的解决方案。
2025-03-05 06:30:00
663
原创 分布式中间件 :Redis过期时间与存在性测试
在分布式系统的开发中,中间件起着至关重要的作用,而 Redis 作为一款高性能的键值对存储数据库,更是被广泛应用于缓存、消息队列等多个场景。今天,我们就来深入探讨一下 Redis 的过期时间设置以及如何判断键是否存在,并且通过具体的代码示例进行演示。
2025-03-05 06:00:00
545
原创 分布式中间件:Redis 数据结构
在当今的分布式系统开发中,中间件起着至关重要的作用。Redis 作为一款高性能的分布式内存数据库,凭借其丰富的数据结构和高效的读写性能,被广泛应用于缓存、消息队列、分布式锁等场景。本文将结合实际代码,详细介绍 Redis 中几种常见的数据结构在 Spring Boot 项目中的使用。
2025-03-04 06:30:00
899
原创 分布式中间件:Redis入门
在分布式系统的开发中,中间件扮演着至关重要的角色,而 Redis 作为一款高性能的键值对存储数据库,因其出色的读写性能、丰富的数据结构和高可用性,被广泛应用于缓存、消息队列、分布式锁等场景。本文将通过一个 Spring Boot 项目中的测试类,带大家入门 Redis 的基本使用,展示如何在 Java 代码中与 Redis 进行交互。
2025-03-04 06:00:00
384
原创 分布式中间件:Redis介绍
Redis(Remote Dictionary Server)是一个开源的、使用 C 语言编写的、支持网络、可基于内存也可持久化的日志型、键值对存储数据库。它由 Salvatore Sanfilippo 开发,于 2009 年首次发布。Redis 以其高性能、丰富的数据结构和简单易用的特点,迅速在开发者社区中流行起来,成为分布式系统中不可或缺的一部分。
2025-03-03 13:38:22
1660
原创 分布式中间件:环境准备
在当今数字化的时代,分布式系统已经成为了开发领域的主流。分布式中间件在其中扮演着至关重要的角色,它能够帮助我们更好地处理高并发、高可用等复杂的业务场景。在这个系列的博客中,我将带大家深入学习分布式中间件的相关知识,主要会涉及 Redis、RabbitMQ、Zookeeper 和 Redisson 这些重要的组件。在开始深入学习这些中间件之前,我们首先要做好环境的准备工作。
2025-03-03 13:32:52
340
原创 智能图像处理平台:图片管理
接着我们讲图片管理,先实现图片基础的增删改查,再去考虑图像处理。主要是,我们需要完成查询时,查询的图片的上传者的角色等级小于等于我们当前登陆账号。
2025-02-28 06:30:00
284
原创 智能图像处理平台:角色管理和菜单权限
这里我们接着前面的参数管理,可以仿照着写一个角色管理,以及按角色分配权限。大致逻辑是:查询出当前登录账号的角色ID,然后查询出来的角色等级得比这个角色ID的等级更小,分配菜单权限也是,能分配的最大的菜单权限也得是当前角色菜单的子集。
2025-02-27 06:30:00
314
原创 智能图像处理平台:菜单管理
菜单管理是我们admin账号的一个特有功能,我们设置如果不是admin权限先不要给开放,保证只有admin才能加菜单。
2025-02-26 06:30:00
277
原创 智能图像处理平台:菜单获取
前面实现了getUserInfo,然后我们会发现登陆进去后会自动执行getMenu和getMenuTop方法,由于我们还没有这两个接口,左侧菜单列表是空的,我们来实现一下这两个接口。首先我们打开menu.js,这里的first展示了菜单格式。
2025-02-26 06:00:00
341
原创 智能图像处理平台:登陆后处理
前面我们实现了登陆后返回token,avue会自动存起来,并且每次请求携带在请求头authorization里面。但是我们发现登陆成功后会调用getUserInfo方法,接下来我们实现以下方法并且请求鉴权
2025-02-25 06:30:00
316
原创 智能图像处理平台:后端MVC架构
这里我们基于前面的后端配置文件和封装的工具,搭建后端MVC架构。首先我们提取数据库表的公共字段放入baseEntity
2025-02-24 06:30:00
258
原创 智能图像处理平台:返回结果工具类封装
ResultCode 枚举类:定义了一系列常见的响应状态码和对应的消息,例如操作成功、操作失败、未授权等。使用枚举类可以确保状态码和消息的一致性,避免硬编码。Result 泛型类:用于封装接口的返回结果,包含状态码、消息和数据。提供了多个静态方法,方便根据不同的业务场景创建不同类型的响应结果。
2025-02-21 06:00:00
382
原创 智能图像处理平台:数据库设计
role 表:用于存储系统中的角色信息,包含角色的基本信息如名称、状态等,角色名称具有唯一性。menu 表:存储菜单的相关信息,包括菜单的标签、路径、组件、图标等,同时支持菜单的层级结构(通过 parent_id 字段)。menu_permission 表:作为关联表,用于关联角色和菜单,体现角色对菜单的访问权限。params 表:存储系统的参数信息,参数键和值的组合可用于配置系统的各种属性,参数值具有唯一性。user 表:存储用户的基本信息,如用户名、密码、邮箱等,用户名和邮箱具有唯一性,同时关联
2025-02-20 06:30:00
501
Java数据结构代码合集,包括List、Stack、Queue、Map、Tree、Graph等等
2025-02-09
Java机器学习的所有资源包括不局限于(书籍PDF,源代码,依赖包,数据文件等)
2025-01-05
Watt Toolkit、Stream++
2024-12-30
Java+MySQL+JavaScript+Ajax+Servlet+Filter+CSS+JSP+tomcat的信息管理系统
2022-07-12
apache-tomcat-9.0.1汤姆猫服务器
2022-07-12
YNote6.7.5.exe有道云笔记
2022-07-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人