- 博客(68)
- 收藏
- 关注
原创 分布式任务调度
摘要:分布式任务调度是一种在分布式环境中协调和管理任务执行的技术,通过将任务动态分配到多个计算节点,提高系统资源利用率、可靠性和扩展性。核心特征包括集中调度、高可用容错、弹性扩展、任务依赖支持等。主流解决方案如XXL-Job通过调度中心+执行器架构实现任务管理,支持多种触发方式和任务类型。本文以XXL-Job为例,详细介绍了从数据库初始化、Docker部署到微服务集成的完整实施流程,包括执行器注册、任务注解配置和调度中心管理等关键步骤,为企业级分布式定时任务提供了实用参考方案。(150字)
2026-01-08 15:45:32
910
原创 JUC并发编程高级
线程池是一种复用线程的机制,可避免频繁创建销毁线程带来的性能损耗。Java通过ExecutorService接口提供线程池功能,Executors类提供四种常用线程池创建方式:固定大小线程池、缓存线程池、单线程池和定时线程池。线程池优势包括降低资源消耗、提高响应速度及增强线程管理性。实际使用中需注意线程池关闭操作,推荐使用try-catch-finally结构确保资源释放。线程池核心参数包括核心线程数、最大线程数、空闲时间和任务队列等,通过ThreadPoolExecutor可自定义线程池配置。不同任
2025-12-09 11:33:34
1188
原创 JUC并发编程基础
本文详细介绍了Java线程的基础知识,主要包括三种线程创建方式:继承Thread类、实现Runnable接口和使用Callable接口(配合FutureTask)。重点分析了它们的区别:Runnable接口更灵活(避免单继承限制),Callable接口可获取返回值。文章还讲解了线程常用方法(sleep、yield、join等)、线程优先级设置、线程状态转换以及守护线程的特性。特别指出start()与run()的区别,以及interrupt()中断线程的机制。最后总结了三种创建方式的适用场景:Runnable
2025-12-09 11:12:50
949
原创 JUC并发编程简介
JUC是Java并发编程的核心工具包,提供高性能并发组件。进程是资源分配单位,线程是CPU调度的基本单位,协程则是更轻量的用户级线程。并发指任务交替执行(单核),并行是同时执行(多核)。CPU核心数决定并行线程数,Java可通过Runtime获取逻辑处理器数。并发编程中需区分并发(交替)与并行(同时)的概念,单核系统只能实现并发,多核才能实现真正的并行。
2025-12-09 10:38:07
598
原创 Stream流
摘要:Java8引入的Stream和Optional是两大重要特性。Stream提供声明式数据处理方式,通过中间操作(过滤、映射等)和终止操作(收集、归约等)实现高效集合操作,支持惰性求值和并行处理。Optional则用于避免空指针异常,强制显式处理可能为空的值,提供isPresent()、orElse()等方法安全访问值。两者共同提升了代码的健壮性、可读性和函数式编程能力,是现代Java开发的核心工具。
2025-11-26 17:54:51
1196
原创 lambda表达式
Lambda表达式是Java中的匿名函数,具有简洁语法和函数式编程特性。它由参数列表、箭头符号和方法体组成,可自动推断类型并简化代码。主要用于实现函数式接口(如Consumer、Predicate等),支持方法引用(静态方法、实例方法、构造器)进一步简化代码。Lambda优势在于减少模板代码、实现行为参数化,但建议保持简短逻辑,复杂场景仍使用方法。典型应用包括线程创建、集合操作等场景,是Java函数式编程的核心特性之一。
2025-11-26 17:44:58
756
原创 LangChain4J
LangChain4J 是一个专为 Java 开发者设计的、用于构建大语言模型应用程序的框架。它的名字来源于其灵感来源——Python 生态中非常火爆的 LangChain。你可以把它理解为 Java 版的 LangChain。它的核心目标是简化将大语言模型集成到 Java 应用程序中的过程。在没有这类框架之前,开发者需要手动处理与模型的通信、管理对话历史、组装复杂的提示词等繁琐工作。LangChain4J 通过提供一系列预先构建好的、可复用的“组件”,让这些任务变得简单而规范。
2025-11-16 14:26:33
1205
原创 HTML学习
HTML (HyperText Markup Language) 即超文本标记语言,它不是一种编程语言,而是一种用于创建网页和Web应用程序的标记语言。您可以把它想象成网页的骨架或建筑物的框架。它定义了网页的基本结构和内容,比如标题、段落、列表、图片、链接等。超文本(HyperText):指的是网页中可以包含链接(超链接),允许用户从一个页面跳转到另一个页面,实现了信息的互联。标记语言(Markup Language):意味着它使用一系列标签(Tags) 来“标记”或“注解”内容,告诉浏览器如何
2025-09-27 08:05:28
1044
原创 ElasticSearch整合SpringBoot
Elasticsearch与Spring Boot整合主要通过Spring Data Elasticsearch实现,涉及自动配置客户端(如RestHighLevelClient或Elasticsearch Java API Client)、注解映射实体(@Document/@Field)、ElasticsearchRepository接口简化CRUD及搜索操作,需注意Spring Data Elasticsearch与Elasticsearch服务端的版本兼容性。
2025-05-27 08:40:12
952
原创 ElasticSearch--DSL查询语句
Elasticsearch的DSL(Domain Specific Language)是一种基于JSON的声明式查询语法,支持通过嵌套组合query(全文检索、精确匹配、范围过滤)、aggregation(统计分析、分组计算)以及sort(排序)、highlight(高亮)等模块,实现对分布式数据的近实时高效检索、复杂分析与可视化呈现,兼顾灵活性与性能优化。
2025-05-26 20:44:36
1440
原创 ElasticSearch操作
索引:索引是Elasticsearch中用于存储和管理相关数据的逻辑容器。比如说,可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。注意:在Elasticsearch 6.X之前的版本中,索引类似于SQL数据库,而type(类型)类似于表。然而,从ES 7.x版本开始,类型已经被弃用,一个索引只能包含一个文档类型映射:ES 中的 mapping 有点类似与关系数据库中表结构的概念,在 MySQL 中,表结构里包含了字段名称,字段的类型还有索引信息等。在 Mapping 里也包含
2025-05-22 16:22:48
1711
原创 ElasticSearch安装
ES是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建,专为处理海量数据设计,支持实时搜索、分析和可视化。
2025-05-21 20:40:03
1047
原创 ElasticSearch导读
ElasticSearch简称ES是一个开源的分布式搜素和数据分析引擎。是使用Java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索,它专门设计用于处理大规模的文本数据和实现高性能的全文搜索。它基于 Apache Lucene 构建,专为处理海量数据而设计。它支持全文搜索、结构化查询、数据分析,并广泛应用于日志管理(如 ELK Stack)、电商搜索、实时监控等场景。
2025-05-21 20:26:39
938
原创 RabbitMQ--进阶篇
RabbitMQ进阶主要从消息可靠性投递、消息持久化、ACK与NACK机制、消费端限流、消息超时、死信队列、延迟队列、事务消息、惰性队列和优先级队列等高级特性出发。来进行探讨Rabbit MQ的高级属性以及相关功能
2025-05-11 23:21:12
1452
原创 RabbitMQ--基础篇
简介:RabbitMQ 是一种开源的消息队列中间件,你可以把它想象成一个高效的“邮局”。它专门负责在不同应用程序之间传递消息,让系统各部分能松耦合地协作
2025-05-08 20:41:53
1133
原创 ComfyUI
ComfyUI是基于Stable Diffusion的图形化界面工具,通过节点(Nodes)和工作流(Workflow)管理AI图像生成过程。用户通过连接不同功能的节点(如加载模型、编码提示词、采样解码等)构建定制化生成流程,实现高度灵活的控制
2025-04-30 18:42:13
4209
原创 MQTT入门
EMQX,是一款实现了MQTT协议的,开源的MQTT消息代理软件。MQTT定义了消息通讯的规则与流程,而EMQX则是遵循这些规则的软件,使得设备能够依据MQTT协议进行有效的通讯。在新版本的EMQX中同时支持MQTT3.1.1和5.0协议EMQX: MQTT 与 AI 一体化平台。
2025-04-16 19:09:28
732
原创 SpringCloud企业级常用框架整合--下篇
在微服务板块中间,服务与服务连接紧密,可能某一条链路上的一个服务出现故障,就会导致整个大型服务出现故障,产生雪崩式效应。所以Sentinel就是用来进行服务保护的框架。维持服务之间的稳定性。
2025-04-16 17:22:23
968
原创 SpringCloud常用企业级别框架整合--上篇
微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个小服务运行在自己的进程中,并使用轻量级机制通信,通常是 HTTP API。这些服务围绕业务能力来构建, 并通过完全自动化部署机制来独立部署。这些服务使用不同的编程语言书写,以及不同数据存储技术,并保持最低限度的集中式管理。简而言之:拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行。
2025-03-02 10:35:58
1107
原创 Linux入门(精简版)
Linux是一种开源操作系统,与Windows或macOS等操作系统不同,Linux允许用户自由地查看、修改和分发其源代码。以下是Linux系统的一些显著的优势。
2025-02-26 14:05:43
1027
原创 一篇docker从入门到精通
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙盒机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和云之间移动。
2025-02-23 10:33:30
912
原创 SpringCloud-Seata
Seata(Simple Extensible Autonomous Transaction Architecture)是一个开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将分布式事务拆分为全局事务和分支事务,通过 TC(Transaction Coordinator)、TM(Transaction Manager)和 RM(Resource Manager)三个组件的协作,实现了分布式事务的 ACID 特性。
2025-02-18 11:57:51
1177
原创 Spring Cloud-Sentinel
Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量控制、流量路由、熔断降级、系统自适应保护等多个维度来帮助用户保障微服务的稳定性。官网地址:home | Sentinelhttps://sentinelguard.io/zh-cn/下载地址:https://github.com/alibaba/Sentinel/releases资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供
2025-02-13 12:10:55
1260
原创 SpringCloud -Nacos
简介:SpringCloud Alibaba 是一套基于 Spring Cloud 的微服务解决方案,整合了阿里巴巴的开源组件,为开发者提供了更加稳定、高效、全面的微服务架构支持。
2025-02-13 11:04:10
1335
原创 SpringBoot
SpringBoot 帮我们简单、快速地创建一个独立的、生产级别的 Spring 应用;大多数 SpringBoot 应用只需要编写少量配置即可快速整合 Spring 平台以及第三方技术
2025-02-13 10:38:38
1234
原创 Gateway网关
RemoveRequestParameter GatewayFilter 工厂是Spring Cloud Gateway提供的一个内置过滤器工厂,它允许你从所有匹配的HTTP请求的查询字符串中移除指定的参数。RedirectTo GatewayFilter 工厂是Spring Cloud Gateway提供的一个内置过滤器工厂,它允许你将匹配的HTTP请求重定向到指定的URL。Path路由谓词工厂允许你定义一系列的路径模式,当请求的URI路径与这些模式中的任何一个匹配时,请求就会被路由到相应的服务。
2025-01-18 10:45:32
1455
原创 Micrometer+Zipkin 分布式链路追踪
Zipkin 是 Twitter 开源的分布式跟踪系统,能够收集微服务运行过程中的实时调用链路信息,并能够将这些调用链路信息展示到Web图形化界面上供开发人员分析,开发人员能够从ZipKin中分析出调用链路中的性能瓶颈,识别出存在问题的应用程序,进而定位问题和解决问题。在一个分布式系统中,当一个请求从客户端发起,经过多个服务节点处理后,最终返回给客户端,这个过程中涉及的所有服务节点上的操作都会被记录在一个 Trace 中。:通过修改服务代码,在方法调用前后插入字节码,以记录Trace信息。
2025-01-18 10:26:49
1782
原创 OpenFeign服务接口调用
OpenFeign是一个声明式的Web服务客户端,它简化了HTTP客户端的开发工作。通过定义接口和注解,OpenFeign可以自动生成HTTP请求,并将响应自动转换为Java对象。它是基于Feign项目的,后者最初由Netflix开发,后由社区维护并更名为OpenFeign。作用:前面在使用SpringCloudLoadBalancer+RestTemplate时,利用RestTemplate对http请求的封装处理形成了一套模版化的调用方法。但是在实际开发中由于对服务依赖的
2025-01-18 10:13:36
1464
原创 CircuitBreaker服务熔断
SpringCloudCircuitBreaker是SpringCloud提供的一套断路器抽象框架,旨在保护分布式系统免受级联故障的影响。通过引入断路器模式,当某个服务调用失败率达到一定阈值时,可以自动切断对该服务的调用,防止因单个服务的失败而导致整个系统崩溃。
2025-01-18 10:07:14
1000
原创 LoadBalancer负载均衡服务调用
Spring Cloud LoadBalancer与Spring Cloud的其他组件(如Eureka、Consul、OpenFeign等)紧密集成,方便在Spring Cloud项目中实现负载均衡。:由于每次选择服务器都是随机的,因此无法保证每台服务器处理的请求数量是均衡的。,以提高系统的可用性、性能和容错能力。:适用于服务器性能差异较大的场景,因为随机性可以使得性能较差的服务器也有机会处理请求。依次将请求分配给服务器列表中的每一台服务器,确保每台服务器都能得到均等的处理机会。
2025-01-17 13:37:01
1557
原创 Consul服务注册与发现
服务注册与发现是微服务架构中的一个核心组件,它解决了服务之间如何相互发现和通信的问题。在微服务架构中,服务通常被拆分成多个独立的小服务,每个服务都运行在自己的进程中,并通过轻量级的通信机制(如HTTP/RESTful API)进行通信。服务注册与发现机制允许服务实例在启动时自动注册到注册中心,并在需要时从注册中心发现其他服务的地址,从而实现服务的动态发现和调用。
2025-01-16 15:56:42
1032
原创 初识Spring Cloud
[Spring Cloud]是一个基于[Spring Boot]的微服务架构开发工具,旨在简化分布式系统的开发。它提供了一系列工具和库,帮助开发者快速构建分布式系统中的常见模式,如配置管理、服务发现、断路器、智能路由等。
2025-01-15 11:31:07
1250
原创 HttpClient
简介:HttpClient是Apache Jakarta Common下的一个子项目,主要用于提供高效的、支持最新HTTP协议的客户端编程工具包。它支持HTTP协议的所有标准请求方法,如GET、POST、PUT、DELETE、OPTIONS等,并且支持HTTP协议的最新版本和建议
2025-01-15 10:49:21
822
原创 Web Socket
WebSocket是一种基于TCP的网络通信协议,允许客户端和服务器之间建立全双工(双向)通信通道。WebSocket通过HTTP协议进行握手,建立连接后,客户端和服务器可以在同一个连接上同时发送和接收数据,无需频繁重新建立连接。这种机制与传统的HTTP请求-响应模式不同,后者在每次请求后都会断开连接。
2025-01-15 10:10:20
1269
原创 Spring Task
Spring Task是Spring框架提供的一个轻量级定时任务工具,主要用于实现定时任务的管理和调度。它通过简单的注解和配置即可实现任务的定时执行,无需深入了解底层的调度机制,极大地简化了定时任务的配置和使用
2025-01-14 16:38:28
1313
原创 Spring Cache
Spring Cache是Spring框架提供的一种缓存抽象机制,用于简化应用中的缓存操作。它通过将方法的返回值缓存起来,当下次调用同一方法时,如果传入的参数与之前的调用相同,就可以直接从缓存中获取结果,而不需要再执行方法体中的代码,从而提高系统的性能和响应速度。
2025-01-14 15:35:55
989
原创 Redis集群(cluster)
[Redis集群]是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它通过将数据自动切分到多个节点,并在某个节点发生故障时自动进行故障转移,从而提供稳定、高效的服务。redis集群不保证强一致性,这意味着在特定的条件下,redis集群可能会丢掉一些被系统收到的写入请求命令。
2025-01-14 12:39:02
1078
原创 Redis哨兵(Sentinel)
[Redis哨兵](Sentinel)是Redis的一个高可用性解决方案,主要用于监控和管理多个Redis服务器,确保Redis系统的高可用性。哨兵通过实时监测主节点和从节点的状态,及时发现并自动处理故障,保证系统的稳定运行
2025-01-14 11:44:01
1153
原创 Redis复制(replica)
[Redis主从复制](replica)是一个多Redis实例进行数据同步的过程,其中一个实例是主实例(Master),其他实例是从实例(Slave)。主实例负责处理命令请求,而从实例则 periodically 地从主实例拉取数据副本。就是当master数据发生变化时,自动将新的数据异步同步到其它slave数据库
2025-01-14 11:05:08
898
原创 Rdis事务,管道,发布订阅
当写事务中的命令时,写命令的语法都没错,执行EXEC之后,编译有的命令没通过,此时编译的命令执行成功,编译错的命令执行失败,Redis不提供事务回滚的功能,开发者必须在事务执行出错后,自行恢复数据库状态。单个 Redis 命令的执行是原子性的,但。先执行MULTI的命令,就会开始记录命令,接下来的命令都会放入一个队列中,最后使用EXEC命令,放入队列的命令会依次执行。只要有一个命令是错的(写命令的时候就是错的),整个事务都会放弃执行,只有整个事务中的命令都是没问题的,才能正常执行此事务。
2025-01-14 10:06:53
1003
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅