SQL Parser
分库分表框架设计过程中,不可避免要考虑到SQL Parser功能的实现。原因有: 需要取出sharding key来路由到正确的数据库节点(数据源) 分库分表后SQL需要进行改写,比如逻辑表到物理表 原SQL中语句功能在分库分表环境下需要重新实现,比如排序,分页,取平均值,distinct,...
Message Transaction
MQ 消息事务 消息事务放在业务库消息事务放在MQ消息库 其他分布式事务XA/TCC柔性事务/业务补偿,人工干预,参考
Kafka吞吐量高的原因
摘自:阿里云测试 Kafka,这款为大数据而生的消息中间件,以其百万级TPS的吞吐量名声大噪,迅速成为大数据领域的宠儿,在数据采集、传输、存储的过程中发挥着举足轻重的作用,被LinkedIn,Uber, Twitter, Netflix等大公司所采纳,而storm,spark,flink等大数...
Kafka/RocketMQ
引用:Kafka vs RocketMQ——Topic数量对单机性能的影响 测试目的对比发送端、接收端共存情况下,Topic数量对Kafka、RocketMQ的性能影响,分区数采用8个分区。这次压测我们只关注服务端的性能指标,所以压测的退出标准是: 不断增加发送端的压力,直到系统吞吐量不再上...
redis 跨机房HA
基于Hystrix和双写的跨机房HA
JAVA排序算法
Java排序算法1.插入排序 稳定原理:从有序序列中选择合适的位置进行插入 复杂度:最好 - 最坏 - 平均 O(n) - O(n^2) - O(n^2) 1234567891011121314public void insertSort(int[] a) { if (null =...
JAVA LRU
LRU(Least Recently Used)LinkedHashMap LinkedHashMap自身已经实现了顺序存储,默认情况下是按照元素的添加顺序存储,也可以启用按照访问顺序存储,即最近读取的数据放在最前面,最早读取的数据放在最后面。 LinkedHashMap有一个判断是否删除最老...
网络学习笔记
网络Nagle算法简单的说是把较小的包组装为更大的包延迟发送 Nagle’s Algorithm 是为了提高带宽利用率设计的算法,其做法是合并小的TCP 包为一个,避免了过多的小报文的 TCP 头所浪费的带宽。如果开启了这个算法 (默认),则协议栈会累积数据直到以下两个条件之一满足的时候才真正...
Java学习笔记
Java多处理器多线程伪共享没有竞争的类对象分配到同一个cacheline,造成不必要的内存竞争。 ConcurrentHashMap分段锁 Segment[] HashEntry[] -> HashEntry Java内存映射文件内存映射文件特别适合于对大文件的操作(读写时间短),J...
linux best practice
Linux习惯 在单个命令中创建目录树。 更改路径,不要移动存档。 将命令与控制操作符组合使用。 谨慎引用变量。 使用转义序列来管理较长的输入。 在列表中对命令分组。 在 find 之外使用 xargs 。 了解何时 grep 应该执行计数——何时应该绕过。 匹配输出中的某...