架构
lyb269
这个作者很懒,什么都没留下…
展开
-
分布式事务的四种解决方案
简述 分布式事务指事务的操作位于不同的节点上,需要保证事务的 AICD 特性。 例如在下单场景下,库存和订单如果不在同一个节点上,就涉及分布式事务。 解决方案 在分布式系统中,要实现分布式事务,无外乎那几种解决方案。 一、两阶段提交(2PC) 两阶段提交(Two-phase Commit,2PC),通过引入协调者(Coordinator)来协调参与者的行为,并最终决定这些参与者是否要真...转载 2020-03-09 14:09:49 · 82 阅读 · 0 评论 -
Java命令:常见命令及Java Dump介绍
转发自:https://www.jianshu.com/p/8171d9934471 Java命令: 常见命令及Java Dump介绍 1、常用命令: 在JDK的bin目彔下,包含了java命令及其他实用工具。 jps:查看本机的Java中进程信息。 jstack:打印线程的栈信息,制作线程Dump。 jmap:打印内存映射,制作堆Dump。 jstat:性能监控工具。 jhat:内存...转载 2020-03-04 11:42:54 · 224 阅读 · 0 评论 -
同步: synchronized和ReentrantLock
开头给自己得渣渣发音备注下: synchronized读法:['sɪŋkrənaɪzd] ReentrantLock和synchronized都是加锁式同步,当一个线程获取了对象锁后,其它要进入同步块的线程就必须阻塞在同步块外等待。线程的阻塞和唤醒需要操作系统在用户态和内核态之间切换,所以,ReentrantLock和synchronized都是代价比较高的。 关于用户态...原创 2020-02-25 15:37:53 · 440 阅读 · 0 评论 -
使用Guava的RateLimiter限流
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。...原创 2020-02-19 14:53:55 · 192 阅读 · 1 评论 -
如何让笨重的架构变灵巧?
随着业务的复杂性增大、系统吞吐量增长,所有功能统一部署难度加大,各个功能模块相互影响使系统变的笨重且脆弱,因此需要对业务进行拆分、对系统进行解耦、对系统内部架构升级,以此来提升系统容量及健壮性。 接下来主要分两部分介绍: 系统拆分 结构演变 一、系统拆分 系统拆分从资源角度分为应用拆分和数据库拆分,而从采用的先后顺序则可分为: 水平扩展; ...转载 2019-08-26 08:54:01 · 90 阅读 · 0 评论