- 博客(18)
- 收藏
- 关注
原创 《Elasticsearch 从入门到精通(三):RestAPI》
本文介绍了使用Elasticsearch RestHighLevelClient进行索引库和文档操作的完整流程。主要内容包括:1. 初始化RestHighLevelClient,配置依赖和ES版本;2. 索引库操作(创建、查询、删除、判断存在),重点说明了创建索引库时的Mapping映射配置;3. 文档CRUD操作(新增、查询、修改、删除),以及批量导入文档的实现方法。文章提供了详细的Java代码示例,展示了如何通过RestHighLevelClient与Elasticsearch交互
2025-08-01 12:31:40
545
原创 《Elasticsearch 从入门到精通(二):索引库操作》
Elasticsearch索引库与文档操作摘要 索引库类似于数据库表,Mapping定义其结构。主要包括字段类型(text/keyword等)、是否索引、分词器等属性。索引库支持CRUD操作:创建(PUT)、查询(GET)、删除(DELETE)索引库,修改仅能添加新字段(PUT _mapping)。 文档操作遵循RESTful风格:新增(POST)、查询(GET)、删除(DELETE)文档。修改分为全量修改(PUT覆盖)和局部修改(POST _update)。还支持批量操作(POST _bulk),可混合执
2025-08-01 09:23:57
587
原创 《Elasticsearch 从入门到精通(一):核心概念与基础操作全解析》
本文介绍了Elasticsearch的安装与核心概念。主要内容包括:1) ELK技术栈组成(Elasticsearch、Logstash/Beats、Kibana)及其Docker安装方式;2) 核心搜索机制倒排索引的原理,与正向索引的对比分析;3) 中文分词器IK的安装与使用,支持智能切分和细粒度切分两种模式;4) Elasticsearch与MySQL的对比,包括文档、索引、映射等重要概念。文章通过具体示例演示了如何部署环境、使用DevTools、配置分词器,并阐述了Elasticsearch在大数据搜
2025-07-31 22:45:07
577
原创 《RabbitMQ消息可靠性全攻略》
摘要:本文系统介绍了RabbitMQ消息可靠性的保障机制。从生产者角度,通过重试机制和确认机制(PublisherConfirm/Return)确保消息成功投递;在MQ层面,通过持久化(交换机/队列/消息)和LazyQueues模式防止消息丢失;消费者侧则采用确认机制(ack/nack/reject)、重试策略和失败处理机制保证消息正确处理。此外,还介绍了幂等性保障方案(唯一ID/业务判断)和基于死信交换机/延迟插件的延迟消息实现。这些机制共同构建了完整的消息可靠性保障体系,但需注意性能与可靠性的平衡。(1
2025-07-31 15:51:01
774
原创 酒店管理系统设计与实现详解
本文介绍了一个基于Java控制台的酒店管理系统,主要用于管理顾客信息。系统采用面向对象设计,包含Customer(顾客实体类)、ArrayUtils(数组工具类)、CustomerView(用户界面类)和CustomerTest(入口类)四个核心模块,实现了顾客信息的增删改查功能。系统特点包括详细的输入验证、清晰的用户界面、基于房间号的管理机制,以及简单的数组操作实现。该系统虽结构简单,但完整展示了Java控制台应用的基本设计思路,适合作为面向对象编程的教学示例,通过扩展可发展为更完善的酒店管理系统。
2025-07-30 18:56:45
223
原创 《Sentinel服务保护实战:控制台部署与SpringCloud集成指南》
摘要: Sentinel是阿里巴巴开源的服务保护框架,支持限流、熔断等功能。集成分为核心库(支持Java8+及主流框架)和控制台(Dashboard)。控制台通过jar包部署,默认账号密码均为"sentinel"。微服务整合需引入依赖并配置Dashboard地址,可开启请求方式前缀优化资源识别。与OpenFeign整合时,需启用sentinel支持并配置降级逻辑,推荐使用FallbackFactory处理异常。可通过调整Tomcat参数(如线程数、连接数)模拟高并发测试场景。
2025-07-30 16:41:32
402
原创 《消息队列学习指南:从 MQ 基础到 SpringAMQP 实践》
本文介绍了从同步调用到消息队列(MQ)异步调用的演进,重点分析了RabbitMQ的实现方案。同步调用存在扩展性差、性能下降和级联失败三大问题,而基于消息队列的异步调用通过解耦生产者和消费者,实现了更低的耦合度、更好的性能和业务隔离。文章详细讲解了RabbitMQ的核心概念(交换机、队列、虚拟主机等),Spring AMQP的集成方式,以及四种交换机类型(Fanout、Direct、Topic、Headers)的应用场景。最后介绍了消息转换器的配置,建议使用JSON替代默认的JDK序列化,以提高消息传输效率和
2025-07-30 11:49:56
1070
原创 分布式事务(Seate)
本文介绍了分布式事务的概念及解决方案。在微服务架构下,跨数据库的事务需要保证全局一致性。阿里巴巴开源的Seata框架提供了TC、TM、RM三组件协调分布式事务,支持XA、AT等模式。XA模式基于两阶段提交保证强一致性但性能较差;AT模式通过数据快照实现最终一致性,无锁设计性能更优。文章详细说明了Seata的集成配置流程,并比较了不同模式的适用场景,指出AT模式能满足90%的企业分布式事务需求。
2025-07-29 06:30:00
905
原创 Fallback:处理OpenFeign远程调用失败
文章摘要:本文介绍了在模块中通过OpenFeign整合Sentinel实现服务降级的两种方式。重点讲解了使用FallbackFactory方式处理远程调用异常,包含三个实现步骤:1)创建ItemClientFallbackFactory类实现降级逻辑;2)在DefaultFeignConfig中注册Bean;3)在ItemClient接口应用降级策略。该方法可在限流或熔断时返回友好提示而非直接报错,提升用户体验。示例代码展示了商品查询和库存扣减的降级处理,包括异常日志记录和空列表返回
2025-07-28 17:01:09
249
原创 Spring Cloud Gateway动态路由实战
摘要:Spring Cloud Gateway默认在启动时加载路由配置并缓存到内存中,无法实现动态路由更新。为支持动态路由,需结合Nacos配置中心,通过监听Nacos配置变更实现路由热更新。具体实现步骤包括:1)引入Nacos配置依赖;2)使用NacosConfigManager获取ConfigService;3)添加配置监听器,在回调中通过RouteDefinitionWriter更新路由表;4)采用JSON格式存储路由配置。关键点在于通过getConfigAndSignListener方法同时实现初始
2025-07-28 10:39:41
940
原创 《微服务SpringCloud架构实践指南:从Nacos到Gateway的全面解析》
Nacos是阿里巴巴开源的动态服务发现、配置管理和服务管理平台,支持微服务架构中的服务注册、配置中心和服务治理。核心功能包括服务发现与注册、配置管理、动态DNS服务、健康监测等。安装方式包括本地部署和Docker部署,服务注册与发现通过引入依赖和配置Nacos地址实现。配置中心支持共享配置和热更新,通过bootstrap.yaml文件加载配置。OpenFeign实现服务间调用,支持连接池和拦截器。Gateway网关提供路由、过滤和断言功能,支持自定义过滤器和全局过滤器。整体实现了微服务架构中的服务管理、动态
2025-07-27 22:51:37
1108
原创 经典排序算法全解析
2. 第i==1趟排序开始,从无序区中选出最小的元素Arr[k],将它与无序区的第1 个元素交换,从而得到有序区间Arr[0..i-1],无序区间Arr[i..n];在一个有序序列中查找其中某个元素,我们可以采用二分查找(折半查找), 它的基本思想是:将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作 比较,如果x=a[n/2]则找到x,算法终止;希尔排序也是 一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称 为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。
2025-07-24 18:15:12
739
原创 Docker Compose:简化多容器应用的管理
Docker Compose极大地简化了多容器应用的管理,使开发者能够更专注于应用逻辑而非基础设施配置。无论是本地开发、CI/CD流水线还是小型生产部署,它都是一个不可或缺的工具。通过掌握Docker Compose,您可以更高效地构建、测试和部署容器化应用,加速开发流程并提高团队协作效率。
2025-07-23 14:48:23
525
原创 docker基本操作和使用
Docker快速入门指南:Docker是一个开源的容器化平台,通过容器技术将应用程序及其依赖项打包成镜像,确保环境一致性。核心概念包括镜像(只读模板)、容器(镜像运行实例)、Dockerfile(构建指令文件)和DockerHub(镜像仓库)。常用命令包括docker run(创建容器)、docker ps(查看容器)、docker exec(进入容器)等。数据卷(volume)可实现容器与宿主机目录映射,解决容器内文件读写问题。镜像构建使用Dockerfile定义基础环境、依赖和配置,常用指令有FROM、
2025-07-23 10:52:51
1146
原创 MyBatis-plus (逻辑删除,枚举处理器,json类型处理器,分页插件)
而mybatis-plus则提供了很多特殊类型字段的类型处理器,解决特殊字段类型与数据库类型转换的问题。这里用到了分页参数,Page,即可以支持分页参数,也可以支持排序参数。因此,我不太推荐采用逻辑删除功能,如果数据不能删除,可以采用把数据迁移到其它表的办法。MybatisPlus提供了一个处理枚举的类型转换器,可以帮我们。所以,我们必须配置分页插件。处理枚举与数据库类型自动转换,我们必须告诉。,枚举中的哪个字段的值作为数据库值。背景:定义的枚举类型与数据库采用的是。在未引入分页插件的情况下,
2025-07-22 11:16:40
272
原创 《Git命令从零开始:小白也能轻松上手》附带Git保姆级安装教程
Git是一个流行的分布式版本控制系统,由Linus Torvalds开发,用于高效管理代码变更和团队协作。本文首先介绍Git的核心特点(分布式架构、分支管理、数据完整性),然后详细说明安装步骤(下载、配置用户信息、环境变量设置),最后提供完整的Git命令指南,涵盖仓库创建、分支管理、远程操作、撤销修改等常用功能。文章还总结了Git的基础命令表,帮助开发者快速掌握版本控制技巧,适合从入门到精通的各阶段用户参考。
2025-07-21 19:34:57
1204
原创 Mybatis-plus 静态工具(Db)
MyBatis-Plus 提供了一个非常方便的静态工具类Db,它封装了常用的 CRUD 操作,可以在不注入 Mapper 的情况下直接进行数据库操作。应用背景:有的时候Service之间会存在互相调用的情况,而这时要实现方法调用满足业务要求,我们一般要注入相应的类,出现循环依赖的问题。
2025-07-21 15:58:51
303
原创 Mybatis-plus 入门
MyBatis-Plus是一个基于MyBatis的增强工具库,通过内置通用CRUD操作、代码生成器、分页插件等特性显著提升开发效率。核心功能包括:1)通用Mapper和Service实现单表基础操作;2)QueryWrapper/LambdaQueryWrapper构建动态查询条件;3)@Version实现乐观锁;4)@TableLogic支持逻辑删除。使用方式包括继承BaseMapper接口、通过注解映射表字段,以及利用条件构造器简化SQL编写。此外还提供Service层接口继承IService的扩展方案
2025-07-21 13:15:59
801
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人