- 博客(188)
- 资源 (28)
- 问答 (3)
- 收藏
- 关注
原创 Quartz 分布式集群 数据持久化任务调度系统
Quartz 的分布式集群功能是为了应对在多个节点间分担调度任务,以保证高可用性和负载均衡。通过将多个 Quartz 调度器实例集成到一个集群中,可以确保在一个节点发生故障时,其他节点可以继续执行任务,避免单点故障,提供更高的可靠性。
2025-04-07 23:22:56
100
原创 Quartz 数据持久化 接入MySQL数据库 数据不丢失 数据入库
Quartz 可以将任务的配置、调度信息(如任务的触发器、作业等)持久化到数据库中。这样,即使应用程序重启,或者系统崩溃,也能恢复之前的调度任务。任务的调度信息不会丢失,确保任务的持续执行。官方文档:https://github.com/quartz-scheduler/quartz。
2025-04-07 21:52:21
170
原创 Quartz MisFire补偿机制 任务补偿 任务延迟 错过触发策略
在 Quartz 中,MisFire(错过触发)是指触发器错过了预定的触发时间,通常是由于系统延迟、任务执行时间过长或者调度器本身未能及时执行任务等原因。这种情况可能会导致任务无法按预期的时间执行。为了应对这些问题,Quartz 提供了 MisFire 补偿机制,即通过设置 MisFire Policy(错过触发策略)来处理这种情况。.startAt(DateBuilder.todayAt(20,50,0)) //第一次执行时间")//每分钟执行一次。
2025-04-07 21:07:50
80
原创 Quartz 调度器动态添加删除任务 动态任务调度 增删改查 API任务池 API接口开发
在实际项目开发中,任务调度通常是通过用户的操作来创建任务,而不是硬编码在程序中。这样可以根据用户需求动态地管理任务。Quartz 提供了丰富的增删改查(CRUD)API,允许开发者动态地管理调度任务。封装工具类JobUtils。
2025-04-07 19:44:35
136
原创 Quartz SpringBoot整合定时任务的基础使用方法 任务调度 定时器 单机版
Quartz 是一个功能强大的开源作业调度库,广泛应用于 Java 程序中,用于执行定时任务。Quartz 提供了灵活的调度方式,支持按时间、间隔、cron 表达式等方式配置任务。Quartz 定时任务的基本概念Job:一个任务类,执行实际的操作。JobDetail:封装了 Job 类,定义任务的细节和其他参数。Trigger:触发任务执行的条件,可以是简单触发器(SimpleTrigger)或者 Cron 表达式触发器(CronTrigger)。Scheduler。
2025-04-07 16:52:45
333
原创 MYSQL 商城系统设计 商品数据表的设计 商品 商品类别 商品选项卡 多表查询
在开发商品模块时,通常使用分表的方式进行查询以及关联。在通过表连接的方式进行查询。每个商品都有不同的分类,每个不同分类下面都有商品规格可以选择,每个商品分类对应商品规格都有自己的价格和库存。在实际的开发中应该给这些表进行外键的约束避免垃圾无用的数据。
2025-01-29 19:38:39
941
原创 Elasticsearch 自定义分成器 拼音搜索 搜索自动补全 Java对接
字符过滤器在文本被传给分词器之前,先对字符进行预处理。常见的处理包括去除特殊字符、替换字符、转换字符等。例如:html_strip 字符过滤器可以去除 HTML 标签,mapping 字符过滤器可以将某些字符映射为其他字符。Tokenizer(分词器):将输入的文本拆分成一个个词项(tokens)。常见的分词器有 standard、keyword、pattern、whitespace 等,也可以自定义一个分词器来根据特定规则进行分割。
2025-01-25 02:55:10
1274
原创 SpringBoot 对接微信Native支付在线支付 微信商户 在线商城 扫码支付
Native支付,提供商户在PC端网页浏览器中使用微信支付收款的能力。1、商户下单获取订单的二维码链接code_url,将code_url转换为二维码图片展示给用户。2、用户使用微信“扫一扫”进行扫码(不支持通过相册识别或长按识别二维码的方式完成支付)。3、扫码进入到微信的支付确认界面,用户可在该页面确认收款方和金额。4、用户确认订单收款方和金额无误后,点击“立即支付”会出现验密界面(验证密码或指纹等),同时在该页面也可选择支付方式(零钱或银行卡等)。5、验密付款成功后,微信会展示支付成功页面。
2025-01-23 19:39:44
625
原创 Elasticsearch 文档批处理 混合处理 批量操作
在 Elasticsearch 中,批量操作(Bulk API)允许你一次执行多个文档操作(如索引、更新、删除)以提高效率。批量操作对于大规模数据的插入、更新或删除尤其有用,可以显著提高处理速度。批量操作通常是通过 /_bulk API 来完成的。每个批量请求包含一系列操作,每个操作由一个元数据行和一个操作行组成。元数据行定义了操作类型和目标文档的信息(如索引、文档 ID),操作行包含要执行的具体操作。第一行定义了插入一个 ID 为 1 的文档。第二行是插入的文档内容。
2025-01-04 20:29:44
525
原创 Elasticsearch 操作文档对数据的增删改查操作 索引库文档 操作数据 CRUD
在 Elasticsearch 中,文档的增、删、改、查操作是核心的基本功能。Elasticsearch 使用 RESTful API 提供这些操作,通常通过 HTTP 请求与 Elasticsearch 集群进行交互。
2025-01-04 19:09:48
665
原创 Elasticsearch 创建索引 Mapping映射属性 索引库操作 增删改查
index 属性用于字段映射(mapping)中,来指示该字段是否被索引、是否可搜索,或者是否需要其他特殊的处理。该属性的设置直接影响字段的存储方式和搜索效率。在实际开发中,会有一些附带的值这些值并不需要搜索,如:备注,商品的封面URL等他默认是Index:true,需给这些字段设置成false。Elasticsearch提供的所有API都是Restful的接口,遵循Restful的基本规范。请求方式:PUT http://172.23.4.130:9200/goods/_mapping。
2025-01-04 18:40:38
674
原创 Docker 安装Elasticsearch搜索引擎 搜索优化 词库挂载 拼音分词 插件安装
允许用户快速索引和搜索大量的文本数据。通过使用倒排索引,它能够在海量数据中高效检索相关信息。提供灵活的查询语言,可以做全文搜索、模糊搜索、数据统计等,用来代替MYSQL的模糊搜索,MYSQL的模糊搜索不支持使用索引从而导致搜索性能特别差。Mysql:擅长事务类型操作,可以确保数据的安全和一致性Elasticsearch:擅长海量数据的搜索、分析、计算对安全性要求较高的写操作,使用mysql实现对查询性能要求较高的搜索需求,使用elasticsearch实现。
2025-01-02 22:05:33
1038
原创 SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
在登录时需要在小程序内部获取code,如何带上code发送给后端,后端带上appid+appsecret+code获取openid+session_key,拿到openid+session_key即可登录获取有用户信息。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。js_code string 是 登录时获取的 code,可通过wx.login获取。
2024-12-22 16:57:21
1423
1
原创 SpringBoot 接口API对数据格式的验证 数据验证 格式验证 Validation
【代码】SpringBoot 接口API对数据格式的验证 数据验证 格式验证 Validation。
2024-12-17 20:11:21
482
原创 Docder 搭建Redis分片集群 散片插槽 数据分片 故障转移 Java连接
使多个 Redis 实例共同工作,实现数据的水平扩展。通过将数据分片到多个节点上,Redis 集群能够在不牺牲性能的前提下扩展存储容量和处理能力,从而支持更高并发的请求。Redis 集群不仅支持数据分片,还提供了自动故障转移和高可用性功能。这些主节点会相互的ping来达到自动故障转移特点集群中有多个master,每个master保存不同数据每个master都可以有多个slave节点master之间通过ping监测彼此健康状态 就不用哨兵了。
2024-12-16 15:32:43
453
原创 Dcoker Redis哨兵模式集群介绍与搭建 故障转移 分布式 Java客户端连接
Redis 哨兵模式(Sentinel)是 Redis 集群的高可用解决方案,它主要用于监控 Redis 主从复制架构中的主节点和从节点的状态,并提供故障转移和通知功能。通过 Redis 哨兵模式,可以保证 Redis 服务的高可用性和自动故障恢复。监控 (Monitoring):哨兵会监控主节点和从节点的健康状况。如果检测到某个节点故障(例如主节点不可达),哨兵会启动故障转移流程。故障转移 (Failover):当主节点出现故障时,哨兵会自动选举新的主节点,并将一个从节点提升为新的主节点。
2024-12-15 23:12:49
591
原创 Docker Compose 缓存Redis主从节点的搭建 分布式搭建
单机模式下Redis并发能力有限使用主从集群模式可以很好的解决性能问题,主节点负责处理写操作(如 SET、DEL、INCR 等命令),而 从节点 主要负责读取操作(如 GET、HGET、HGETALL 等命令)。主节点负责写入从节点负责读取通过将读操作分担给从节点,减轻了主节点的负担,提高读取请求的处理能力。读写分离、负载均衡、数据冗余、高可用性。
2024-12-15 16:14:11
537
原创 Docker Compose 多应用部署 一键部署
Docker Compose通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。如:springboot+mysql+nginx 如果一个个去部署他会非常的麻烦,这时候可以选择Docker Compose一键部署。
2024-12-14 22:54:28
423
原创 SpringBoot 监听Redis键过期事件 过期监听
Redis 键过期事件是 Redis 中非常有用的功能,可以在键过期时触发事件通知。这对于缓存失效、会话管理、定时任务等场景非常有用。Redis 默认是没有启用键过期事件通知的,你需要通过配置来启用这个功能。可以通过修改 redis.conf 文件或者使用 CONFIG SET 命令来启用键过期事件通知。依赖配置文件写入键配置监听器按KEY监听监听session键监听product键监听order键
2024-12-03 16:43:58
908
原创 MySQL 索引创建 大数据查询 性能测试 SQL优化 慢查询
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
2024-12-02 20:45:05
1060
原创 MySQL 慢查询日志记录 SQL优化 性能优化 日志查询 Explain
慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有SQL语句的日志。MySQL的慢查询日志默认没有开启,需要在MySQL的配置文件(/etc/my.cnf)中配置针对这些慢查询的SQL语句进行优化。#开启慢查询开关 slow_query_log = 1 #慢查询超时时间 long_query_time = 3。
2024-12-02 14:15:14
529
原创 SpringCloud Seata集成分布式事务管理 事务保护 XA AT两种模式的区别
阿里巴巴的 Seata(Service Aligned Transaction Alternative)是一个开源的分布式事务解决方案,旨在解决微服务架构中跨服务、跨数据库的事务一致性问题。它可以帮助开发者管理分布式系统中的全局事务,确保在多个服务之间的事务一致性。
2024-12-02 01:00:55
748
原创 SpringBoot 接口加密SM2非对称加密算法 国密算法 公钥加密 私钥解密
SM2是一种基于椭圆曲线密码学(ECC)的公钥密码体制,它有一套严格的生成私钥和公钥的规范。如果你想要生成有效的SM2公钥和私钥对,你需要按照SM2算法来生成。私钥通常是一个随机的大整数,而公钥则通过私钥和椭圆曲线方程生成。私钥必须保密:私钥应该保存在安全的位置,绝对不能泄露给未经授权的人员。如果私钥泄露,别人可以伪造你的身份。公钥可以公开:公钥是用来加密数据或验证签名的,可以放心公开,任何人都可以用你的公钥来加密数据,只有持有私钥的人才能解密。
2024-11-25 23:20:11
615
2
原创 Docker Seata分布式事务保护搭建 DB数据源版搭建 结合Nacos服务注册
Seata(Simple Extensible Autonomous Transaction Architecture)是一个开源的分布式事务解决方案,旨在为微服务架构中的分布式系统提供事务管理支持。Seata 通过提供全局事务管理,帮助开发者在分布式环境中保持数据一致性官网:https://seata.apache.org/zh-cn/file:单机模式,全局事务会话信息内存中读写并持久化本地文件root.data,性能较高(默认)
2024-11-23 23:23:04
584
原创 SpringCloud Nacos微服务之间的配置共享 配置文件热更新
在微服务中有很多配置是重复的,假如某一天配置变更需要一个个的去进行配置非常的麻烦。如:数据库连接配置,redis等这些配置我都非常的相似,变化的只有IP地址或者数据库名称,可以将这些抽取出来进行全局的配置共享。
2024-11-19 17:45:34
446
原创 SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
在微服务架构中,用户信息通常是通过请求头(HTTP headers)在服务间传递的,以便让下游服务能够识别请求来自于哪个用户,并执行相关的授权、认证等操作。在使用 OpenFeign 进行服务间调用时,我们可以通过在请求头中传递用户信息来实现这种需求。OpenFeign中提供了一个拦截器接口,所有由OpenFeign发起的请求都会先调用拦截器处理请求。
2024-11-19 16:27:31
411
原创 SpringCloud SaToken整合微服务 集成Redis 网关路由权限拦截 服务间内部调用鉴权
作为 API 网关,通常负责路由、负载均衡、安全控制等功能。进行 统一鉴权 的做法意味着将所有微服务的认证和授权逻辑集中到网关层,而不是每个微服务单独实现。这样做有许多好处,微服务只关心核心业务逻辑,不需要处理身份验证、权限验证等安全问题,减少了开发人员的负担。网关可以统一处理多种认证方式,如 JWT、OAuth 2.0、Basic Auth、API Key 等,灵活配置不同的认证机制。gateway-service:网关模块 包括:负载均衡 路由拦截 权限校验。
2024-11-19 15:28:08
1117
原创 SpringCloud Gateway网关路由配置 接口统一 登录验证 权限校验 路由属性
Spring Cloud Gateway 根据请求的路径、HTTP 方法、头部等信息,将请求路由到对应的微服务实例。它支持基于动态路由规则的配置,可以根据请求的 URL、查询参数、请求头等条件,灵活地决定将请求转发到哪个微服务。Spring Cloud Gateway 提供了一个单一的入口点,所有来自客户端的请求都通过该网关进行转发。通过这种方式,外部应用无需直接访问各个微服务,提高了架构的可维护性和安全性。网关也是一个微服务。
2024-11-14 23:36:45
695
原创 SpringCloud OpenFeign负载均衡远程调用 跨服务调用 连接池优化
Spring Cloud OpenFeign 是 Spring Cloud 的一部分,提供了一种声明式的 HTTP 客户端方式来简化服务间的通信。通过 OpenFeign,开发者可以像调用本地方法一样,轻松地调用远程服务,而不需要手动处理 HTTP 请求、响应和连接等底层细节。
2024-11-14 00:17:16
459
原创 SpringBootCloud 服务注册中心Nacos对服务进行管理
Nacos(Naming and Configuration Service)是一个开源的、动态的服务发现、配置管理和服务管理平台,特别适用于云原生应用和微服务架构。它可以作为服务注册中心,用于微服务的注册、发现、配置管理等。在微服务架构中,各个服务实例通常是动态变化的,服务的上线、下线、IP 地址、端口等信息也常常变动。Nacos 提供了服务注册与发现功能,确保微服务之间能够自动发现并正确地调用彼此。
2024-11-13 17:24:10
434
原创 SpringBoot 创建多模块项目 项目分模块 项目简化 打包发布
在 Spring Boot 中,创建多模块项目可以帮助我们将项目拆分成多个相对独立、可重用的模块,从而使代码结构更清晰,便于管理和维护。通常,这样的做法可以提高开发效率,并且更易于进行版本控制和分布式部署。
2024-11-10 23:14:15
614
原创 Docker 消息队列RabbitMQ 安装延迟消息插件
RabbitMQ的官方推出了一个插件,原生支持延迟消息功能。该插件的原理是设计了一种支持延迟消息功能的交换机。当消息投递到交换机后可以暂存一定时间,到期后再投递到队列。
2024-09-17 02:29:27
812
ASP.NET 通过URL下载文件
2021-11-29
c#的序列化和反序列化
2021-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人