background picture of the home page

Java炒饭

微服务

本文系统介绍了微服务架构的设计与实现。对比单体架构在高并发下的性能瓶颈,微服务通过将功能拆分为独立服务,实现高内聚、低耦合,提升系统可扩展性与可用性。核心组件包括:Nacos作为注册中心实现服务发现与负载均衡;OpenFeign简化服务间HTTP调用,并支持连接池与日志配置;Spring Cloud Gateway实现请求路由与全局过滤;Sentinel解决雪崩问题,提供限流、熔断与线程隔离;Seata处理分布式事务,支持XA(强一致)与AT(最终一致)模式。整体架构结合配置管理与服务保护机制,构建了稳定高效的分布式系统。

thumbnail of the cover of the post

RabbitMQ

本文介绍了RabbitMQ在异步通信中的应用及其核心机制。对比同步调用,异步通过消息代理解耦生产者与消费者,提升系统拓展性与故障隔离能力,但依赖Broker可靠性。文章详述了RabbitMQ的安装配置、核心概念如Exchange(直连、广播、主题)、Queue、Virtual Host及Spring AMQP的集成使用。通过代码演示消息发送与接收、工作队列、声明式队列交换机绑定,并引入JSON消息转换器优化序列化。高级特性涵盖发送者确认、持久化、Lazy Queue提升MQ可靠性;消费者确认、重试机制与幂等性保障数据一致。最后介绍延迟消息插件实现延时处理,增强系统容错能力。

thumbnail of the cover of the post

Docker

本文详细介绍了在CentOS 7虚拟机上安装和配置Docker的过程,包括卸载旧版本、配置yum源(使用阿里云镜像)、安装Docker及设置开机自启等步骤。接着,文章通过部署MySQL示例展示了如何使用Docker运行容器,并介绍了Docker的基本概念如镜像、容器以及常用命令。此外,还讲解了数据卷的使用方法及其相关命令,用于实现宿主机与容器之间的文件共享。最后,简要提到了自定义镜像的方法(通过Dockerfile)以及Docker Compose的用途,后者可以通过`.yml`文件快速部署多个关联的服务容器。

thumbnail of the cover of the post

redis

Redis是一个开源的、基于键值对存储的高性能内存数据库,同时也被用作缓存、消息代理和数据结构服务器。它支持多种数据结构如字符串、哈斯表、列表、集合等,并提供了丰富的操作这些数据结构的命令。Redis通过将数据存储在内存中来实现高速读写访问,同时支持持久化到磁盘以防止数据丢失。此外,Redis还具有发布/订阅功能以及Lua脚本执行能力,使得其在实际应用中非常灵活。Redis通常用于需要快速响应时间的应用场景,例如实时分析、计数器、排行榜等。它的集群模式能够提供高可用性和自动分区,适合大规模分布式系统使用。

thumbnail of the cover of the post

mybatisPlus

本文介绍了MyBatis-Plus的核心功能与使用方法。重点讲解了条件构造器(Wrapper)的使用,包括QueryWrapper和UpdateWrapper进行查询与更新操作,并通过LambdaWrapper避免字段硬编码。此外,支持自定义SQL处理复杂场景。在Service层,通过继承IService接口实现增删改查,结合ServiceImpl提供丰富的内置方法,支持Lambda表达式链式调用,便于实现复杂条件查询。同时,支持批量操作需配置JDBC参数`rewriteBatchedStatements=true`以提升性能。最后简要提及代码生成、逻辑删除、分页插件等扩展功能,便于开发者进一步探索使用。

thumbnail of the cover of the post

Elasticsearch

本文介绍了Elasticsearch的基本概念、安装配置及核心功能。由于传统数据库在模糊搜索和大数据量查询方面的局限,Elasticsearch作为高性能搜索引擎被广泛使用。文章详述了通过Docker部署单节点Elasticsearch 7.12.1的过程,并强调网络配置与内存要求;同时介绍了Kibana的安装与集成,用于可视化和DevTools操作。重点讲解了倒排索引机制及其与MySQL正向索引的区别,以及中文分词问题,引入IK分词器解决中文分词难题。通过配置扩展词典(ext.dic)和修改XML文件,可自定义分词内容以应对新词识别需求,提升搜索准确性。全文为Elasticsearch入门提供了完整实践指南。

thumbnail of the cover of the post