行业云平台-云计算发展路线的下一阶段?
行业云平台只是云服务的另一种类型。它们与传统云服务不同,因为它们针对特定行业中最常见的用途进行了优化。它们是相关行业解决方案的集合,为了解决特定的行业流程而构建的,成为“特定于垂直领域的 B2B 解决方案”,被视为云计算发展路线的下一阶段。
在AQS的概念和设计层面-浅浅的挖呀挖呀挖
同步机制是解决进程/线程间同步(这里包括协作和互斥)关系的手段,并让并发进程/线程基于某个条件来协调它们的活动,通过合适的方法排定执行的先后次序。
四十多篇精选原创,助力分布式追踪+事务+锁的面试与实战
将过往留存的笔记以及日常零碎陆续整理输出;一是希望通过刻意练习来提升写作,另外若不整理输出,过往中的点点滴滴就皆成云烟了。
【笔记】网络编程实战-上篇
《网络编程实战》的笔记,覆盖三次握手、四次挥手,TCP的流量控制算法,地址重用,心跳管理,I/O多路复用记录
【Seata源码领读】揭秘 @GlobalLock 隔离保障的微妙之处
@GlobalLock注解内部的逻辑是Seata通过Connection代理,在commit环节增强处理逻辑,检测不到冲突的全局行锁记录后,才提交本地事务;若检测到冲突的全局行锁记录就重试
深度解析Seata AT 模式:性能优化与隔离保障的平衡之道
不利用 Seata 所提供的机制,就不会使用到 2 阶段的全局锁,那么对大部分隔离性要求不高的场景来说,这样就提升了性能;但若对隔离性有要求,又没有基于 Seata 的规则使用全局锁就可能出现脏写脏读
【Seata源码领读】揭秘 @GlobalTransactional 背后 RM 的黑盒操作之一阶段
Seata AT 模式中,RM 的能力在数据源做了一层代理,Seata 在这层代理中预业务 SQL 执行过程,加入分布式事务所需的逻辑,通过这种方式,Seata 真正做到了对业务代码无侵入
【Seata源码领读】揭秘 @GlobalTransactional 背后TM的黑盒操作
Seata AT 模式依赖 Spring 的注解机制,实现声明式事务,即开发者在 Bean 的方法上使用@GlobalTransactional注解 ,Seata 通过重写此类 Bean 生命周期的 3 个阶段以添加分布式事务能力
把脉分布式事务的模型、协议和方案
在当前的技术发展阶段,不同的业务场景对一致性、可靠性、易用性、性能等要求不同,应用架构可以根据实际场景的需求,灵活选择合适的分布式事务解决方案。行业中把分布式事务解决方案分为刚性事务方案和柔性事务方案这两大类。
Seata 高性能 RPC 通信的实现- 巧用 reactor 模式
作为开发人员,熟悉 Netty 网络编程乃至深入理解 Netty 的设计和实现,对于自研网络通信系统、学习开源产品都有很大的帮助。
Seata 高性能 RPC 通信的实现基石-Netty篇
作为开发人员,熟悉 Netty 网络编程乃至深入理解 Netty 的设计和实现,对于自研网络通信系统、学习开源产品都有很大的帮助。
Seata源码研读#02-声明式全局事务的识别
本篇梳理通过的自动装配机制会扫描具有`@GlobalTransactional`全局事务注解的类和方法的 bean,并对这类 bean 添加拦截器,进行 AOP 增强,加入分布式事务的能力
Seata 无侵入式分布式事务服务的实现基石-JDBC篇
Seata 对业务无侵入是通过数据源代理实现的,数据源代理的实现涉及到 DataSource、Connection 以及 Statement,这几个关键知识属于 JDBC 的范畴
关于作者
将过往留存的笔记以及日常零碎陆续整理输出;一是希望通过刻意练习来提升写作,另外若不整理输出,过往中的点点滴滴就皆成云烟了。
Java版管程:Synchronized
同步机制中有经典的管程方案,管程其实就是对共享变量以及其操作的封装: 1. 将共享资源封装起来,对外提供操作这些共享资源的方法。 2. 线程只能通过调用管程中的方法来间接地访问管程中的共享资源
Redis Cluster去中心化设计的思考
分布式存储?般是通过多副本的形式保证数据可靠,多副本之间使??致性协议保证数据一致,?并发场景下Leader单节点中心问题会成为系统瓶颈,解决办法是采用去中心化的设计如Redis Cluster模式。
自省|探讨线程间入门级协作的19个问题
操作系统中线程间协作的核心是通信,而这个通信就是上边所描述的,线程之间交换、传递信息的机制。
Jedis 实现分布式锁其 SET NX 不保障原子性的应对之法
因Jedis设计,导致重试逻辑内部把通信异常吞掉了,并重新发出执行指令的请求。就会导致用户层看到 `SET` 返回的是空,但key 实际已存在*。我们找到应对的办法,只要判断出是自己加的锁。
自省|AQS 中的同步队列为何这样设计
基于 Doug?Lea大师的论文《The java.util.concurrent Synchronizer Framework》,并结合AQS源码,记录下自己的一些思考,方便理解其设计与实现
自省|使用Executors.xxx违反阿里Java代码规范,那还不写定时任务了?
scheduleAtFixedRate的逻辑结论是:如果上一个任务的执行时间大于等待时间,任务结束后,下一个任务马上执行。如果上一个任务的执行时间小于等待时间,任务结束。