咖啡拿铁

其他

聊聊计算和存储分离

recovery能力。在性能方面,Aurora现在比RDS
2020年2月3日
其他

你应该知道的RocketMQ

如果其中某个阶段比如commit发送失败,rocketMQ会进行定时从Broker回查,本地事务的状态。事务消息的使用整个流程相对之前几种消息使用比较复杂,下面是事务消息实现的原理图:Step1:
2019年11月26日
其他

深度剖析一站式分布式事务方案Seata-Cient

}准备UndoLog的时候会获取我们的ConnectionProxy,将我们的Undolog和LockKey保存起来,给后面的本地事务commit和rollback使用,上面已经讲过。4.1.4
2019年5月17日
其他

深度剖析一站式分布式事务方案Seata(Fescar)-Server

register接口:step1:校验地址是否合法step2:获取Nacos的Name实例,然后将地址注册到当前Cluster名称上面。unregister接口类似,这里不做详解。2.2.2
2019年4月8日
其他

解密分布式事务框架-Fescar

1.分布式事务在去年的时候我写过一篇关于分布式事务的文章再有人问你分布式事务,把这篇扔给他。再这篇文章中我叫大家能不用分布式事务就别用分布式事务,因为会引入很多的复杂度。当时说这个的时候其实还有一个原因,没有大厂的成熟开源解决方案,虽然再网上有很多开源的分布式事务框架,但是都不是太成熟,没有大量的业务验证。它不像其他的分布式中间件有大量的成熟的解决方案,比如分布式消息队列中间件:Apache
2019年3月29日
其他

聊聊分布式锁

1.背景对于锁大家肯定不会陌生,在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我们的分布式环境中上面加锁的方法就会失去作用。于是人们为了在分布式环境中也能实现本地锁的效果,也是纷纷各出其招,今天让我们来聊一聊一般分布式锁实现的套路。2.分布式锁2.1为何需要分布式锁Martin
2018年10月8日
其他

并行化-你的高并发大杀器

1.前言想必热爱游戏的同学小时候,都幻想过要是自己要是能像鸣人那样会多重影分身之术,就能一边打游戏一边上课了,可惜漫画就是漫画,现实中并没有这个技术,你要么只有老老实实的上课,要么就只有逃课去打游戏了。虽然在现实中我们无法实现多重影分身这样的技术,但是我们可以在计算机世界中实现我们这样的愿望。2.计算机中的分身术计算机中的分身术不是天生就有了。在1971年,1971年,英特尔推出的全球第一颗通用型微处理器4004,由2300个晶体管构成。当时,公司的联合创始人之一戈登摩尔就提出大名鼎鼎的“摩尔定律”——每过18个月,芯片上可以集成的晶体管数目将增加一倍。最初的主频740kHz(每秒运行74万次),现在过了快50年了,大家去买电脑的时候会发现现在的主频都能达到4.0GHZ了(每秒40亿次)。但是主频越高带来的收益却是越来越小:据测算,主频每增加1G,功耗将上升25瓦,而在芯片功耗超过150瓦后,现有的风冷散热系统将无法满足散热的需要。有部分CPU都可以用来煎鸡蛋了。流水线过长,使得单位频率效能低下,越大的主频其实整体性能反而不如小的主频。戈登摩尔认为摩尔定律未来10-20年会失效。在单核主频遇到瓶颈的情况下,多核CPU应运而生,不仅提升了性能,并且降低了功耗。所以多核CPU逐渐成为现在市场的主流,这样让我们的多线程编程也更加的容易。说到了多核CPU就一定要说GPU,大家可能对这个比较陌生,但是一说到显卡就肯定不陌生,笔者搞过一段时间的CUDA编程,我才意识到这个才是真正的并行计算,大家都知道图片像素点吧,比如19201080的图片有210万个像素点,如果想要把一张图片的每个像素点都进行转换一下,那在我们java里面可能就要循环遍历210万次。
2018年9月12日
其他

如何优雅的使用缓存?

Cache来说,Guava这个jar包在很多Java应用程序中都有大量的引入,所以很多时候其实是直接用就好了,并且其本身是轻量级的而且功能较为丰富,在不了解Caffeine的情况下可以选择Guava
2018年8月28日
其他

你应该知道的缓存进化史

在LinkedHashMap中维护了一个entry(用来放key和value的对象)链表。在每一次get或者put的时候都会把插入的新entry,或查询到的老entry放在我们链表末尾。
2018年8月16日
其他

走进科学之揭开神秘的"零拷贝"

所以引入了通道,通道用来管理I/O设备以及主存与I/O设备之间交换信息的部件,可以视为一种具有特殊功能的处理器。它是从属于CPU的一个专用处理器,CPU不直接参与管理,故提高了CPU的资源利用率
2018年8月2日
其他

还在用BlockingQueue?读这篇文章,了解下Disruptor吧

实际上,在这些框架中取余并不是使用%运算,都是使用的&与运算,这就要求你设置的大小一般是2的N次方也就是,10,100,1000等等,这样减去1的话就是,1,11,111,就能很好的使用index
2018年7月31日
其他

再有人问你分布式事务,把这篇扔给他

Saga是30年前一篇数据库伦理提到的一个概念。其核心思想是将长事务拆分为多个本地短事务,由Saga事务协调器协调,如果正常结束那就正常完成,如果某个步骤失败,则根据相反顺序一次调用补偿操作。
2018年7月27日
其他

你必须要知道的kafka

Replicas)集合,翻译过来也叫正在同步中集合,在这个集合中的需要满足两个条件:节点必须和ZK保持连接在同步的过程中这个副本不能落后主副本太多另外还有个AR(Assigned
2018年7月25日
自由知乎 自由微博
其他

异步化,高并发大杀器

用于获取异步上下文,后续我们通过这个异步上下文进行回调返回数据,有点像我们买衣服的时候,给老板一个电话,而这个上下文也是一个电话,当有衣服到的时候,也就是当有数据准备好的时候就可以打电话发送数据了。
2018年7月17日
其他

异步技巧之CompletableFuture

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2018年7月12日