JAVA系列课程
Hollis,阿里巴巴技术专家《Java工程师成神之路》系列文章作者,热衷于分享计算机编程相关技术,博文全网阅读量上千万。
2024年10月24日
一、数据库主从库概念
是指在一个数据库系统中,将一个主数据库(Master)与一个或多个从数据库(Slave)相连接的架构。主库负责处理所有的写入操作,而从库则通过复制主库的数据来保持数据的一致性,主要用于负载均衡和高可用性。
二、主从库架构同步原理
MySQL支持集群,MySQL主从复制也是解决单台实例瓶颈问题,业务量增大后,IO密集,单台实例是不能支撑的,多库存储,降低磁盘IO次数,提高单台机器的IO访问性能。
主从同步的作用:容灾备份,用于故障切换,可创建读写分离,减少单个数据库压力。
主从同步实现原理:MySQL主从同步是一个异步的复制过程,从Master主节点复制到Slave从节点,整个过程需要由Master主节点上的IO进程和Slave从节点上Sql进程和IO进程共同完成。首先Master主节点必须打开binary...
2024年10月24日
一、什么是通义灵码?
通义灵码是由阿里公司开发的先进中文生成模型,旨在提升自然语言处理(NLP)任务的效果。该模型基于深度学习技术,通过大量中文文本数据进行训练,能够理解和生成自然语言,具备出色的上下文理解能力和语义连贯性。通义灵码广泛应用于对话系统、内容创作、文本翻译等多个领域,为用户提供高效、智能的语言交互体验。
二、通义灵码的核心特点
1....
2024年10月16日
一、什么是分布式锁
分布式锁是一种用于解决数据一致性和并发控制的机制。与单机锁不同,分布式锁适用于多个进程或服务之间的协作。
二、分布式锁作用
防止数据重复写入:在多个服务并发执行相同操作时,分布式锁可以保证只有一个服务能够执行写入操作,避免数据的重复写入。
限流控制:在高并发场景下,通过分布式锁控制对某个资源的访问次数,可以有效防止系统过载。
定时任务:在分布式环境下,定时任务可能会被多个实例触发,使用分布式锁可以确保只有一个实例会执行定时任务。
三、分布式锁特性
互斥性:在同一时间,只有一个线程或进程能够持有锁,确保临界区内的操作不会被其他线程干扰。
可重入性:某些实现支持同一线程多次获取锁而不发生死锁,这对于递归调用或复杂逻辑的处理非常有用。
超时机制:分布式锁通常会设置超时时间,避免因持有锁的进程崩溃导致锁永远无法释放。
容错性:在网络分区或进程故障时,分布式锁应能够有效处理故障,确保系统的可靠性和稳定性。
公平性:某些分布式锁的实现提供了公平性机制,确保等待时间最长的线程优先获取锁,避免“饥饿”现象。
四、分布式锁实现方式
基于缓存(Redis)实现分布式锁(AP):Redis...
2024年10月16日
MySQL索引下推(Index Condition Pushdown,ICP)是一种优化技术,旨在提高查询效率,尤其是在使用复合索引的情况下。通过在索引查找阶段就进行条件过滤,减少需要读取的数据行,从而降低I/O开销和提高查询性能。
一、索引下推基本概念
在进行查询时,MySQL通常会先通过索引找到符合条件的行,然后再通过这些行去数据表中读取完整的记录。索引下推的做法是将某些过滤条件“下推”到索引查找阶段,使得只有符合条件的行才会被读取,从而减少不必要的I/O操作。
实现原理
MySQL索引下推的实现依赖于以下几个步骤:
索引查找:在查找时,使用索引确定符合条件的记录位置。
条件下推:对于索引中找到的每一条记录,MySQL会根据下推的条件(如WHERE子句中的条件)进行过滤。
返回结果:只有符合下推条件的记录会被返回,避免了不必要的全表扫描。
具体来说,当执行包含多个条件的查询时,MySQL会分析条件并决定哪些条件可以在索引层面进行过滤。这使得系统在早期就能淘汰不符合条件的数据,从而加速查询。
二、如何开启MySQL索引下推
在MySQL...