该内容是作者在全球运维技术大会上分享主题中的部分内容。提供给想了解MGR的读者参考!        为了让解析mgr过程变得相对有条理,我们从跟踪一个事务在mgr的执行流程开始。首先从对执行sql的用户线程的解析开始:    在mgr节点中,用户线程的执行流程跟在普通mysql节点的执行流程,几乎是没有区别的。     唯一的区别就是,在事务的binlog提交阶段,增加了一个函数,这个函数的名称叫
原创 2021-03-05 21:06:53
401阅读
注:connect_timeout:默认10秒,The number of seconds that the mysqld sep
原创 2022-09-14 10:11:44
135阅读
![](http://i2.51cto.com/images/blog/201803/04/8c23641fcb35409a8d08b6e8890b44ac.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3po
原创 精选 2018-03-04 16:16:27
2423阅读
1点赞
此文并不针对zebra的应用,甚至不是一个架构的分析,只是对于Zebra的一点儿思考。 Zebra 设计得是如此简洁明快。...
转载 2022-04-29 14:49:43
2061阅读
索引,是帮助MySQL高效获取数据的一数据结构,也就是说,通过创建索引,我们
转载 2022-11-16 14:38:49
94阅读
鼠标在桌面上的二维运动反映为光标在屏幕上的二维运动。当所处理的对象是一个二维形体时,鼠标的二维运动可以一一映射到二维形体上,从而方便地实现几乎所有需要的操作。但是当交互所关注的对象是一个三维物体时,二维屏幕与三维形体之间的矛盾就曝露出来了,ArcBall算法可以解决此矛盾。ArcBall是一种允许用户使用鼠标调整方位的三维交互技术。ArcBall的设计不平常在于,在考虑数学基础的同时,将操作反
转载 精选 2011-08-11 22:58:17
2699阅读
简介ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处有图有码图为手工画的,有点丑见谅 _!初始化集合ArrayList list = new ArrayList();因为使用无参构造时候集合容器为空,所以无任何空位。第一次添加元素 add("a") 第一次添
转载 2017-07-04 11:30:49
557阅读
链接: http://note.youdao.com/noteshare?id=aeb1c7a30c5f4b70e3fff51f28ee5c47 懒得复制到这里了,一开始是在有道云笔记上写的,这里的公式支持又不太好,于是直接给出我有道云笔记的总结链接好了。
原创 2021-09-14 16:16:23
189阅读
1、使用类似动态代理的模式和消息派发中枢模式实现整个架构; 2、使用NSMapTable和NSHashTable进行切面信息的增删查维护;主要用于去重和查看是否存在。 实现方式 消息流 KVOControllerKVOControllerUML observer 调用的方法注册观察者。 FBKVOC
转载 2019-02-25 19:14:00
249阅读
2评论
一 前言  在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,被IETF(I
转载 2017-03-04 10:18:00
195阅读
2评论
netty主要采用的是reactor模式(事件)驱动模型,以下主要对reactor进行总结: C/S架构可以抽象为如下模型: C就是Client(客户端),上面的B是Browser(浏览器) S就是Server(服务器):服务器管理某种资源,并且通过操作这种资源来为它的客户端提供某种服务 C/S架构
转载 2018-12-28 14:31:00
198阅读
2评论
什么是IM,带你3分钟了解IM的那些事
原创 2022-03-03 10:21:16
508阅读
09、原理解析1、Profile功能为了方便多环境适配,springboot简化了profile功能。1、application-profile功能默认配置文件 application.yaml;任何时候都会加载指定环境配置文件 application-{env}.yaml激活指定环境配置文件激活命令行激活:java -jar xxx.jar –spring.profiles.active=pro
原创 2022-07-07 14:52:46
56阅读
1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难
原创 2022-12-14 19:44:41
71阅读
「这是我参与2022首次更文挑战的第20天,活动详情查看:2022首次更文挑战」。 ReentrantLock 源码解析 ReentrantLock 的核心是通过 AQS 实现的,具备了 AQS 的特
原创 2022-04-12 15:18:10
270阅读
前言 本文主要会介绍笔者在学习Flannel时所总结的知识点,其中会涉及到Flannel的架构、各种Backend的实现原理等方面的相关内容。 笔者也会将自己的理解在文中进行阐述,这也算是在和大家交流心得的一个过程。若文中有错误的理解和概念,请大家及时纠正;吸纳大家的建议,对于我来说也是很重要的学习过程之一。 1.概念 Flannel是CoreOS开发的容器网络解决方案。 在Flannel中,每
原创 精选 2024-02-14 18:18:57
480阅读
LVS简介LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统。该项目由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。       使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而
原创 2017-09-28 09:46:28
2865阅读
1点赞
在AQS中,维护着一个表示共享资源加锁情况的变量volatile int state,以及FIFO的线程阻塞队列(称为CLH队列)。 当多个线程并发访问共享资源时,如果共享资源已经被某个线程加入了锁,那么其他线程在访问此共享资源时就会加入CLH队列中。 state表示共享资源被线程加锁的次数。例如:当state的值为1,就表示共享资源被某个线程加了一次锁,当state的值为0时,就表示共享资源没有
AQS
原创 2021-07-25 18:19:43
408阅读
首先为什么需要aidl?下面是不需要aidl的binder的IPC通讯过程,表面上结构很简单,但是有个困难就是,客户端和服务端进行通讯,你得先将你的通讯请求转换成序列化的数据,然后调用transact()函数发送给服务端,而且还得制定一个小协议,参数谁先谁后,服务端和客户端都必须一致,否则就会出错。...
原创 2021-08-11 11:45:54
1395阅读
一、为什么需要消息系统1、解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2、冗余:消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入获取删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。3、扩展性:因为消息队列解耦了你的处理过程
原创 2022-10-12 18:08:06
207阅读
  • 1
  • 2
  • 3
  • 4
  • 5