Loading...
消息中间件之ActiveMQ(一)什么是JMS MQ全称:Java MessageService,中文:Java 消息服务。JMS 是 Java 的一套 API 标准,最初的目的是为了使应用程序能够访问现有的MOM系统(MOM是MessageOriented Middleware 的英文缩写,指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。)后来...
redis分布式红锁redis做分布式锁,就是setnx,成功则表示获得锁,然后设置超时时间,防止客户端挂掉导致死锁,然后添加一个守护线程,在任务执行完之前去刷新超时时间,防止超时时间设置短了导致锁释放。这套方案redisson已经帮我们实现了。RedissonLock分布式锁添加依赖<dependency> <groupId>org.redi...
分布式事务事务(Transaction),一般是指要做的或所做的事情,由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。简单的讲就是,要么全部被执行,要么就全部失败。那分布式事务,自然就是运行在分布式系统中的事务,是由多个不同的机器上的事务组合而成的。同上,只有分布式系统中所有事务执行了才能是成功,否则失败。事务的基本特征AC...
NIO中FileChannel如何读取数据传统IO读取数据的字节是放在byte数组中的,而NIO引入了ByteBuffer的概念,它相当于一个缓冲区,用以替代传统的byte数组。它有两种实现方式,一种是HeapByteBuffer,另一种是DirectByteBuffer。其中HeapByteBuffer底层维护的依然是一个byte数组,也就是说,读取到的数据也会被复制到堆内存中,而Dire...
mysql的锁机制MySQL锁的基本介绍锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。相对其他数据库而言,M...
mysql调优(六)mysql日志mysql日志一般分为三种,redo log、undo log、bin log,其中redo与undo归属于innodb存储引擎,bin log归属于mysql server。事务具有4个特征ACID,A表示原子性,通过undo log实现,I为隔离性,通过锁来实现,D为持久性,通过redo log实现,A、I、D共同保证C,即一致性。当执行一个写操作,my...
mysql调优(五)分区表分区表的应用场景表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均是历史数据分区表的数据更容易维护批量删除大量数据可以使用清除整个分区的方式对一个独立分区进行优化、检查、修复等操作分区表的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备可以使用分区表来避免某些特殊的瓶颈innodb的单个索引的互斥访问ext3文件系统的inode锁竞...
mysql调优(四)查询优化在编写快速的查询之前,需要清楚一点,真正重要的是响应时间,而且要知道在整个SQL语句的执行过程中每个步骤都花费了多长时间,要知道哪些步骤是拖垮执行效率的关键步骤,想要做到这点,必须要知道查询的生命周期,然后进行优化,不同的应用场景有不同的优化方式,不要一概而论,具体情况具体分析。查询慢的原因网络CPUIO上下文切换系统调用生成统计信息锁等待时间优化数据访问查询性能...
mysql调优(三)通过索引进行优化索引的基本知识索引的优点大大减少了服务器需要扫描的数据量帮助服务器避免排序和临时表将随机io变成顺序io索引的用处快速查找匹配WHERE子句的行从consideration中消除行,如果可以在多个索引之间进行选择,mysql通常会使用找到最少行的索引如果表具有多列索引,则优化器可以使用索引的任何最左前缀来查找行当有表连接的时候,从其他表检索行数据查找特定索...
mysql调优(二)schema与数据类型优化合理使用范式和反范式范式优点:范式化的更新通常比反范式要快当数据较好的范式化后,很少或者没有重复的数据范式化的数据比较小,可以放在内存中,操作比较快缺点:通常需要进行关联反范式优点:所有的数据都在同一张表中,可以避免关联可以设计有效的索引缺点:表格内的冗余较多,删除数据时候会造成表有些有用的信息丢失在企业中很少能做到严格意义上的范式或者反范式,一...