摘要: cap:c(consistency)一致性 a(availability)可用性 p(patition tolerance) 分区容错性 两个系统a,b 满足c:当a修改数据,b去读a,要两边数据相同,才能保持一致。 满足a:a,b都可被访问,可用性 满足p:系统a,b都是网络分区中某个区网络故障, 阅读全文
posted @ 2022-05-19 19:14 雪域飞魂 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 负载均衡绕不开的坎。 1.轮询(Round Robin) 轮询算法按照顺序将新的请求分配给下一个服务器,最终实现平分请求。 优点:实现简单,无需记录各种服务的状态,是一种无状态的负载均衡策略。实现绝对公平 缺点:当各个服务器性能不一致的情况,无法根据服务器性能去分配,无法合理利用服务器资源。 2.加 阅读全文
posted @ 2022-05-19 16:07 雪域飞魂 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 为什么需要主从复制? (参考:https://zhuanlan.zhihu.com/p/96212530) 1、在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通 阅读全文
posted @ 2022-02-18 11:41 雪域飞魂 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 感觉这是一个避不开得话题。干不过就加入。磨就完事了。 Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。 JDK 原生也有一套网络应用程序 API,但是存在一系列问题,主要如下: NIO 的类库和 API 繁杂,使用麻烦。你需要熟练掌握 Selector 阅读全文
posted @ 2022-02-15 22:19 雪域飞魂 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 思来想去,还是要写篇博客给这两个小老弟,因为这两个前面没答好,基本上给人的印象很差。市场上很多小老弟总结的东西也杂乱无章,我还是自己去整理一份博客好了。 个人感觉将这个要把这个底层的东西说清楚,分别从1.7,1.8两个版本说清楚数据结构,put(),get().size()才行。面试官其实也想让你自 阅读全文
posted @ 2022-02-15 14:22 雪域飞魂 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 什么是RPC? (参考自:https://www.cnblogs.com/jimoer/p/15511954.html)RPC(Remote Procedure Call)翻译成中文就是远程过程调用。RPC框架起到的作用就是为了实现,调用远程方法时,能够做到和调用本地方法一样,让开发人员更专注于业务 阅读全文
posted @ 2022-02-14 10:27 雪域飞魂 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 事务这一块,做开发是绕不开的,关于事务分为一般的事务(本质是数据库事务,spring事务本质上也是数据库事务,后面描述简称为事务)和分布式事务。一般考官问事务特性,传播行为啥的都只是在问一般的事务。 事务特点: 原子性:原子性是指事务是一个不可再分割的工作单位,事务中的操作要么都发生,要么都不发生。 阅读全文
posted @ 2022-02-14 10:03 雪域飞魂 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 申明:本篇博客,只是用于自我学习,提升,没有任何其他用途。不便贴出任何涉及代码层面的东西。只是学习其思想。 由于公司用的是自研中间件tmq(事务消息队列),看源码的时候,顺便总结一下。 tmq:除了支持普通的消息投递订阅以外,还支持事务消息。它的通信框架是nettey来实现的。同时,又可以通过自研的 阅读全文
posted @ 2022-02-08 00:35 雪域飞魂 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 分布式事务 可靠消息最终一致性原理 延时消息底层原理: 阅读全文
posted @ 2022-01-25 22:37 雪域飞魂 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 含义:抽象队列同步器,是并发包里的一个核心组件,里面有state变量、加锁线程变量等核心的东西,维护了加锁状态。AQS就是一个并发包的基础组件,用来实现各种锁,各种同步组件的。 工作原理图: CLH队列: 原理描述: 主要这几个关键变量需要了解一下: 1.state:volitale修饰,是int类 阅读全文
posted @ 2022-01-24 21:45 雪域飞魂 阅读(73) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示