初探富文本之OT协同算法 OT的英文全称是Operational Transformation,是一种处理协同编辑的算法。当前OT算法用的比较多的地方就是富文本编辑器领域了,常用于作为实现文档协同的底层算法,支持多个用户同时编辑文档,不会因为用户并发修改导致冲突,而导致结果不一致甚至数据丢失的问题。
初探富文本之OT协同实例 在前边初探富文本之OT协同算法一文中我们探讨了为什么需要协同、为什么仅有原子化的操作并不能实现协同、为什么要有操作变换、如何进行操作变换、什么时候能够应用操作、服务端如何进行协同调度等等,这些属于完成协同所需要了解的基础知识,实际上当前有很多成熟的协同实现,例如ot.js、
初探富文本之CRDT协同算法 CRDT的英文全称是Conflict-free Replicated Data Type,最初是由协同文本编辑和移动计算而发展的,现在还被用作在线聊天系统、音频分发平台等等。当前CRDT算法在富文本编辑器领域的协同依旧是典型的场景,常用于作为实现文档协同的底层算法,支持
初探富文本之CRDT协同实例 在前边初探富文本之CRDT协同算法一文中我们探讨了为什么需要协同、分布式的最终一致性理论、偏序集与半格的概念、为什么需要有偏序关系、如何通过数据结构避免冲突、分布式系统如何进行同步调度等等,这些属于完成协同所需要了解的基础知识,实际上当前有很多成熟的协同实现,例如aut
初探富文本之React实时预览 在前文中我们探讨了很多关于富文本引擎和协同的能力,在本文中我们更偏向具体的应用组件实现。在一些场景中比如组件库的文档编写时,我们希望能够有实时预览的能力,也就是用户可以在文档中直接编写代码,然后在页面中实时预览,这样可以让用户更加直观的了解组件的使用方式,这也是很多组
从客户端会话创建到网络连接、请求处理,简单的叙述下流程与逻辑 ### 客户端 客户端是开发人员使用ZooKeeper最主要的途径,ZooKeeper的客户端主要由以下几个核心组件组成。 - ZooKeeper实例:客户端的入口。 - ClientWatchManager:客户端Watcher管理器。
方才一个开发经理和兄弟项目组的产品经理怼起来了。事情大概是,两边对接,那边希望我们出一个接口,而我们这边实际上是两个完全不同的实体概念,开发经理觉得应该提供两个基础接口,合成一个不科学。 吵得难分难解,我则狗在一边不说话,希望他们最后能自行解决。结果还是被抓到,锅,你说到底要咋整…… 之前则有一对更
https://www.jianshu.com/p/63f2985fb427 InnoDB引擎有几个重点特性,为其带来了更好的性能和可靠性: 插入缓冲(Insert Buffer) 两次写(Double Write) 自适应哈希索引(Adaptive Hash Index) 异步IO(Async I
ethtool -k < 网络接口>, ethtool --show-offload < 网络接口>, 或者可以看到很多网络接口的offload特性,例如: $ sudo ethtool -k eth0Offload parameters for eth0:rx-checksumming: ontx
https://www.cnblogs.com/hellxz/p/14056403.html 写在前边 JVM调优更多是针对不同应用类型及目标进行的调整,往往有很大的实验成份,通过实验来针对当前应用设置相对合适的参数,提高应用程序的性能与稳定性 最近在复习JVM,Parallel Scavenage
https://www.cnblogs.com/hellxz/p/10841550.html 最近面试过程中遇到一些问JVM参数的,本着没用过去学习的办法看了些博客写得不准确,参考oracle的文档记录一下,争取每天记录一点知识点 -XX:SurvivorRatio=6 ,设置的是Eden区与每一个
https://whoiami.github.io/RAFT RAFT 是为了保证一致性的工程实现方法。其想法来自于Paxos,由于Paxos极其难以理解以及高复杂性,在工程上实现难度异常大。Diego Ongaro 和 John Ousterhout 提出了一种便于理解和工程实现的一致性算法,其复
https://www.jianshu.com/p/6a5faee4cc65 image.png 测试仪发送某种类型的报文进行性能测试,报文目的mac为VF的mac。对于发出去的每个报文,必须在3s内收到响应,否则认为丢包,会重新发送一次,此时会有retransmit的统计。 pod A有两个网卡,
什么是Shell? Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash ShellShell也是一门编程语言<解释型的编程语言>,即shell脚本一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支
https://zhuanlan.zhihu.com/p/212281069 #初始配置 #centos7添加阿里云镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #安
1. 常用技巧 systemtap可以实现交叉编译: 编译可执行模块如下: stap -r kernel_version script -m module_name 运行命令如下: staprun module_name.ko stap命令会读取脚本的指令,并翻译成C代码,编译成内核模块加载到内核。
https://phpor.net/blog/post/3661 示例1: 通过 -e 选项直接执行probe,如: 1 stap -ve 'probe kernel.function("do_fork") { printf("%-25s %-10d 0x%-x\n", execname(), pi
https://www.jianshu.com/p/57a1dcf39b88 一直弄不清楚LSN和checkpoint的意思 个人理解:当要把buffer_pool里的脏页刷入磁盘的时候,会用checkpoint记录刷入内容,刷入到哪里了。防止下次忘记刷入内容,刷入到哪里了。checkpoint就是
https://blog.yelvlab.cn/archives/586/ 服务器 服务器从功能上来讲,跟我们日常学习办公使用的台式机和笔记本没有本质区别,主要也是由最为关键的三大件:CPU、内存、硬盘组成,但是服务器的应用场景主要是提供给企业等角色用来支撑形形色色业务,不仅仅是用来安装浏览器访问网
https://blog.yelvlab.cn/archives/592/ fstab文件是干什么用的: /etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。当系