摘要:
mysql中的limit offset,count的原理是先取出offset+count条记录,然后抛弃前面offset条,然后读后面的count条,主要是offset的问题。所以会导致偏移量越大,性能越差。 优化方法: select film_id,description from sakila. 阅读全文
摘要:
分布式事务产生背景 数据库拆分 单库单表支撑不了业务时需要对数据库进行水平拆分。分库分表后,原来在一个数据库上就能完成的写操作,可能会跨多个数据库,就产生了跨数据库事务问题 业务服务化拆分 业务拆分后,一个完整的业务逻辑可能会涉及多个服务,多个服务之间存在跨服务事务问题 分布式事务理论基础 两阶段提 阅读全文
摘要:
Tomcat是一款大家非常熟悉的web服务器,具体的功能和怎么使用我就不赘述咯,今天我们主要来分析Tomcat的源码,基于的版本是8.0.11。问题是从哪边开始着手呢?我是这样想的,肯定是先把Tomcat8.0.11的源码在官网中下载下来,然后导入到工程中。 1 Tomcat源码下载及导入工程 1. 阅读全文
摘要:
想到你应该无数次看到过这个问题了,也可能你已经看过无数篇文章了,如果你还是一头雾水或者是不理解,那试着看看这篇文章,相信你一定能看懂。 一、理解”==“的含义 在java中,主要有两个作用。 1、基础数据类型:比较的是他们的值是否相等,比如两个int类型的变量,比较的是变量的值是否一样。 2、引用数 阅读全文
摘要:
前言 我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题。如下一段代码: System.out.println(0.05 + 0.01); System.out.println(1.0 - 0.42); System.out.println(4.015 * 100); System.out.p 阅读全文
摘要:
#broker集群名称,用于划分broker brokerClusterName=MQCluster001 #broker名称,用于主从配对,相同名称的broker才能做主从设置 brokerName=mq_broker_1 #用于标识主从关系,0为主,其他大于0的为从(不能小于0)master设置 阅读全文
摘要:
对分布式事务及两阶段提交、三阶段提交的理解 一、分布式数据一致性 在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。 (1)什么是数据一致性 在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副 阅读全文
摘要:
官方手册 https://github.com/apache/rocketmq-spring/wiki/%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C 引包 <dependency> <groupId>org.apache.rocketmq</groupId> <artif 阅读全文
摘要:
两阶段提交协议 两阶段提交协议是协调所有分布式原子事务参与者,并决定提交或取消(回滚)的分布式算法。 (1)协议参与者 在两阶段提交协议中,系统一般包含两类机器(或节点):一类为协调者(coordinator),通常一个系统中只有一个;另一类为事务参与者(participants,cohorts或w 阅读全文
摘要:
RocketMQ消息支持的模式 普通消息 NormalProducer 消息同步发送 producer.send(Message msg) 消息异步发送 producer.send(Message msg, SendCallback sendCallback) 单向发送OneWay producer 阅读全文