Spring Boot源码学习:自动配置原理 发表于 2023-05-02 更新于 2024-02-16 前言“约定优于配置”是Spring Boot倡导的一个思想,而其自动配置的特性则恰好体现了这一思想。而有了自动配置,不仅简化了Maven的依赖配置,更重要的是摆脱了以往使用Spring框架开发时,所必须编写的一堆繁琐的xml配置文件。 阅读全文 »
认识高性能队列——Disruptor 发表于 2023-05-01 更新于 2024-02-16 Disruptor是什么Disruptor是一个由英国外汇交易公司LMAX研发并开源的高性能的有界内存队列,其主要用于在线程之间完成数据的传递。github地址那么,以高性能著称的Disruptor到底有多快呢? 阅读全文 »
分布式事务-基于可靠消息的最终一致性实现 发表于 2023-05-01 更新于 2024-02-16 CAP与BASE我们都知道,传统数据库事务具有ACID的特性,但在分布式环境下,追求强一致性在大多数情况下无法满足高性能需求。分布式系统的CAP理论告诉我们,一致性、可用性、分区容忍性无法同时满足,最多只能满足其他两项。CAP理论描述如下: 一致性(Consistency):所有节点在同一时间读到同样的数据; 可用性(Availability):无论是成功还是失败,每个请求都能收到一个反馈。可用性强调的是服务可用,不保证数据的正确性; 分区容忍性(Partition-Tolerance):即使系统中有部分问题或者有消息的丢失,但系统仍然能够继续运行。分区容忍性强调的是集群对分区故障的容错能力; 阅读全文 »
分布式事务 -两阶段提交及Atomikos在Spring Boot的使用 发表于 2023-05-01 更新于 2024-02-16 基于XA规范的两阶段提交方式事务在业务的开发中有着至关重要的作用,事务具有的ACID的特性能保证业务处理前后数据的一致性:原子性(Atomicity): 事务执行的所有操作,要么全部执行,要么全部不执行;一致性(Consistency): 事务的执行前后,数据的完整性保持一致;隔离性(Isolation): 两个或多个事务并行执行时是互不干扰的;持久性(Durability): 事务执行完成后,其对数据库数据的更改会被永久保存下来;在单机环境下,数据库系统对事务的支持是比较完善的;但当对数据进行水平或垂直拆分,一个数据库节点变为多个数据库节点时,分布式事务就出现了。 阅读全文 »