自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小工匠

show me the code ,change the world

  • 博客(14)
  • 资源 (12)
  • 收藏
  • 关注

原创 深入理解分布式技术 - 分布式事务总结回顾

文章目录常见问题常见问题数据一致性和分布式事务是互联网分布式系统设计中必须要考虑的,所以对分布式事务的考察是中高级工程师面试必须跨过的一道门槛。面试官通常会通过一个实际的系统设计题来展开提问,以考察候选人对分布式基础理论的理解、对各种数据一致性模型的掌握,以及对分布式下事务实现的原理、机制和各种实现手段的熟悉程度。下面我模拟一个实际的面试场景,面试官可能会对你提出以下一连串的问题,可以检测一下自己在学习中的掌握程度:请说说你对分布式系统 CAP 理论的理解,CAP 分别代表什么含义?

2021-01-31 16:40:23 11531 1

原创 深入理解分布式技术 - Redis 分布式锁解决方案

文章目录Pre分布式锁特征使用 setnx 实现分布式锁使用 setnx 和 expire 实现使用 set 扩展命令实现分布式锁的高可用集群下分布式锁存在哪些问题Redlock 算法的流程PreRedis进阶-细说分布式锁Redis 可以通过 set key 方式来实现分布式锁,但实际情况要更加复杂,比如如何确保临界资源的串行执行,如何及时释放,都是需要额外考虑的。那一个完备的分布式锁应该具备哪些特性,以及如何使用 Redis 来一步步优化实现呢?分布式锁特征一个完备的分布式锁,需要支持

2021-01-31 16:16:14 11355

原创 深入理解分布式技术 - 分布式锁的应用场景和主流方案

文章目录案例案例秒杀、大促之类的活动,一个共同特点就是访问量激增,在高并发下会出现成千上万人抢购一个商品的场景。虽然在系统设计时会通过限流、异步、排队等方式优化,但整体的并发还是平时的数倍以上,参加活动的商品一般都是限量库存,如何防止库存超卖,避免并发问题呢?下面提供一个解决方案: 分布式锁我们都知道,在业务开发中,为了保证在多线程下处理共享数据的安全性,需要保证同一时刻只有一个线程能处理共享数据。Java 语言给我们提供了线程锁,开放了处理锁机制的 API,比如 Synchronized、

2021-01-31 14:34:45 12619

原创 深入理解分布式技术 - TCC 事务模型及实战

文章目录Question :复杂业务开发中, 如何保证数据的最终一致性What's TCC ?TCC 流程Try阶段Confirm 或 Cancel 阶段优缺点TCC应用场景业务逻辑拆解业务系统改造Try 操作Confirm 操作Cancel 操作执行业务操作TCC VS 2PC 两阶段提交第一阶段第二阶段与 2PC/XA 两阶段提交的区别TCC 分布式服务组件Question :复杂业务开发中, 如何保证数据的最终一致性在分布式系统设计中,随着微服务的流行,通常一个业务操作被拆分为多个子任务

2021-01-26 23:38:52 11552

原创 深入理解分布式技术 - 两阶段的应用 MySQL XA 规范

文章目录概述一致性日志Q:MySQL突发宕机,未提交的事务怎么办?分类重做日志(redo log)回滚日志(undo log)二进制日志(binlog)概述MySQL 为我们提供了分布式事务解决方案 。binlog 的同步,其实是 MySQL XA 规范的一个应用,那么 XA 规范是如何定义的,具体又是如何应用的呢?一致性日志Q:MySQL突发宕机,未提交的事务怎么办?如果 MySQL 数据库突然宕机,未提交的事务怎么办?依靠日志,因为在执行一个操作之前,数据库会首先把这个操作的内容

2021-01-26 12:38:52 11410

原创 深入理解分布式技术 - 彻底搞懂两阶段提交协议和三阶段提交协议

文章目录问题协调者统一调度二阶段提交协议问题在分布式系统中,各个节点之间在物理上相互独立,通过网络进行沟通和协调。在关系型数据库中,由于存在事务机制,可以保证每个独立节点上的数据操作满足 ACID。但是,相互独立的节点之间无法准确的知道其他节点中的事务执行情况,所以在分布式的场景下,如果不添加额外的机制,多个节点之间理论上无法达到一致的状态。在分布式事务中,两阶段和三阶段提交是经典的一致性算法,那么两阶段和三阶段提交的具体流程是怎样的,三阶段提交又是如何改进的呢?协调者统一调度在分布式事务

2021-01-25 22:44:59 11634

原创 Netty - I/O模型之NIO

文章目录Non Blocking I/O 同步非阻塞模型Non Blocking I/O 同步非阻塞模型同步非阻塞,服务器实现模式为一个线程可以处理多个请求(连接),客户端发送的连接请求都会注册到多路复用器selector上,多路复用器轮询到连接有IO请求就进行处理。JDK1.4开始引入...

2021-01-16 23:32:24 11296 1

原创 Netty - I/O模型之BIO

文章目录I/O模型的定义BIOI/O模型的定义什么是I/O模型呢? 简单来说就是说用什么样的通道进行数据的发送和接收。在Java中,共支持3种网络编程IO模式:BIO,NIO,AIOBIO

2021-01-16 19:17:38 11280 2

原创 深入理解分布式技术 - 漫谈分布式事务及解决方案

文章目录什么是分布式事务数据库事务隔离级别Read uncommitted 读未提交Read committed 读已提交Repeatable read 可重复读Serializable 序列化分布式事务产生的原因什么是分布式事务分布式事务关注的是分布式场景下如何处理事务,是指事务的参与者、支持事务操作的服务器、存储等资源分别位于分布式系统的不同节点之上。简单来说,分布式事务就是一个业务操作,是由多个细分操作完成的,而这些细分操作又分布在不同的服务器上;事务,就是这些操作要么全部成功执行,要么全部不

2021-01-10 12:26:12 11664 1

原创 深入理解分布式技术 - ZooKeeper数据一致性解读

文章目录概述ZooKeeper 是如何实现数据一致性的Zab 一致性协议Zab 协议的两部分Zab 协议中的 ZxidZab 流程分析消息广播崩溃恢复数据同步Zab 与 Paxos 算法的联系与区别概述在分布式场景中,ZooKeeper 的应用非常广泛,比如数据发布和订阅、命名服务、配置中心、注册中心、分布式锁等。ZooKeeper 提供了一个类似文件系统的数据模型,和基于 Watcher 机制的分布式事件通知,这些特性都依赖 ZooKeeper 的高容错数据一致性协议。ZooKeeper 是如

2021-01-09 00:41:29 11375

原创 Apache Kafka-使用Kafak Tool 查看Kafka中的数据

文章目录Pre服务器环境OPAdd Cluster修改设置使用Pre如果你该配置,监控偏多 ,推荐使用 雅虎开源的 Kafka Manager , 现在叫 CMAKhttps://github.com/yahoo/CMAK如果你就是单纯的查看下Kafka持久化的数据,那推荐使用Kafak Toolhttps://www.kafkatool.com/服务器环境kafka版本ZK版本OP下载的是windows版本的 Kafka ToolAdd Cluster连接以后

2021-01-07 00:33:54 13146 2

原创 深入理解分布式技术 - Paxos 算法解读

文章目录概Quorum 机制Quorum 定义Quorum 的应用Paxos 的节点角色Proposer 提案者Acceptor 批准者Learner学习者Proposer 与 Acceptor 之间的交互Paxos 选举过程Paxos 常见的问题概Paxos 算法在分布式领域具有非常重要的地位, 因算法复杂而著名,不过 Paxos 算法是学习分布式系统必需的一个知识点 。Quorum 机制在学习 Paxos 算法之前,我们先来看分布式系统中的 Quorum 选举算法。在各种一致性算法中都可以看

2021-01-04 00:05:38 11599 1

原创 深入理解分布式技术 - BASE 理论

文章目录PreBase 理论概述Pre深入理解分布式技术 - 理论基石 CAP .CAP ,放弃强一致性(这里说的一致性是强一致性),追求分区容错性和可用性,这是很多分布式系统设计时的选择。在工程实践中,基于 CAP 定理逐步演化,提出了 Base 理论。Base 理论概述基本可用(Basically Available)软状态(Soft State)最终一致性(Eventually Consistent)Base 理论的核心思想是最终一致性,即使无法做到强一致性(Stron

2021-01-03 16:57:40 11335

原创 深入理解分布式技术 - 理论基石 CAP

文章目录概要CAPWaht's CAP概要CAP今儿主要介绍分布式系统中最基础的 CAP 理论CAP有啥子用? 废话就是CAP 理论可以帮助架构师对系统设计中目标进行取舍,合理地规划系统拆分的维度。Waht’s CAP一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容忍性(Partition Tolerance)这三项中的两项。一致性指“所有节点同时看到相同的数据”,即更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全

2021-01-01 00:28:59 11283

Scalable IO in Java

NIO - Scalable IO in Java

2023-11-10

腾讯万亿级 Elasticsearch 架构实践

腾讯万亿级 Elasticsearch 架构实践

2023-07-24

实时分析引擎&实时分析引擎

实时分析引擎

2023-07-24

X86-NFS rpm包

gssproxy-0.7.0-21.el7.x86_64.rpm keyutils- libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config libnfsidmap libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind tcp_wrappers

2020-11-24

中标龙芯-MIPS- NFS rpm包

gssproxy-0.7.0-4.ns7_4.mips64 keyutils-1.5.8-3. libbasicobjects-0 libcollection-0.6 libevent-2.0.21-4 libini_config-1.3 libnfsidmap-0.25- libpath_utils-0.2 libref_array-0.1. libtirpc-0.2.4-0. libverto-libeventm nfs-utils-1.3.0-0m quota-4.01-14.ns7 quota-nls-4.01-14 rpcbind-0.2.0-42. tcp_wrappers-7.6

2020-11-24

mybatisSource.zip

MyBatis源码功能演示环境 ,演示MyBatis的Executor 、StatementHandler 、 SQL映射、对象转换 等核心功能

2020-06-14

apache-tomcat-8.5.50-src.zip

Tomcat启动流程分析 组件的生命周期管理 用Lifecycle管理启动、停止、关闭 Lifecycle接口预览 几个核心方法 Server中的init方法示例 为啥StandardServer没有init方法 LifecycleBase中的init与initInternal方法 为什么这么设计? 分析Tomcat请求过程 链接器(Connector)与容器(Container) 解耦 Connector设计 监听服务端口,读取来自客户端的请求 将请求数据按照指定协议进行解析 根据请求地址匹配正确的容器进行处理 将响应返回客户端 Container设计 Servlet容器的实现。

2020-06-02

「Tomcat源码剖析」.pdf

Tomcat源码剖析 : 整体架构 层层分析 源码解析 架构分析 (Http服务器功能:Socket通信(TCP/IP)、解析Http报文 Servlet容器功能:有很多Servlet(自带系统级Servlet+自定义Servlet),Servlet处理具体的业务逻辑)

2020-06-01

Jest-5.3.4.zip

Jest是Elasticsearch 的Java Http Rest 客户端。 ElasticSearch已经具备应用于Elasticsearch内部的java API,但是Jest弥补了ES自有API缺少Elasticsearch Http Rest接口客户端的不足。 Jest 配置ES 集群 示例代码 及源码解读 - 核心原理 - NodeChecker源码解读 -

2020-01-19

MQ对比:Kafka VS Rocketmq VS Rabbitmq.pdf

MQ对比:Kafka VS Rocketmq VS Rabbitmq 超详细 ,值的收藏,参考资料

2019-11-04

elasticsearch-analysis-ik-6.4.1.zip

修改ik分词器源码,支持从mysql中每隔一定时间,自动加载新的词库

2019-08-20

Nginx1.14.2 + zlib + pcre + openssl

1. nginx 主软件 和 3个依赖包 zlib + pcre + openssl

2019-03-12

Spring4CachingAnnotationsExample

Spring4CachingAnnotationsExample的示例,通过Java注解的方式整合EhCache框架

2017-10-04

ORACLE_AWR报告详细分析

ORACLE_AWR报告详细分析

2016-09-28

Java反编译工具

jd-gui.exe使用C++开发,主要具有以下功能: 一、支持众多Java编译器的反编译; 二、支持对整个Jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;

2015-06-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除