随笔分类 - 分布式
分布式
摘要:上篇文章简单的填了一个坑基于LSM数据库的实现了WAL,在该版本中如数据写入到内存表的同时将未持久化的数据写入到WAL文件,在未将数据持久化时程序崩溃,可通过WAL文件将数据还原恢复从而避免了数据的丢失。 目前此基于LSM的数据库还有三大坑: 1、索引问题 2、SSTable合并问题 3、单机版本问
阅读全文
摘要:上篇文章简单的实现了基于LSM数据库的初步版本,在该版本中如数据写入到内存表后但还未持久化到SSTable排序字符串表,此时正好程序崩溃,内存表中暂未持久化的数据将会丢失。 引入WAL 为了解决上述问题,将引入数据库中常用于解决类似问题的方法:WAL(Write Ahead Log)预写式日志——在
阅读全文
摘要:前篇文章对LSM的基本原理,算法流程做了简单的介绍,这篇文章将实现一个简单的基于LSM算法的迷你Key-Value数据库,结合上篇文章的理论与本篇文章的实践使之对LSM算法有更好的理解,当然此版本还有很大问题只是Demo模型,后面也会指出; 此LSMDB有支持常见的数据库四大功能:CURD(增删查改
阅读全文
摘要:Dapr为微软开源的一个用于构建分布式应用的框架,Dapr为分布式应用运行时(Distributed Application Runtime)的英文单词缩写;Dapr提供了分布式应用所依赖的执行环境,分布式运行时包括了:服务通讯、数据持久化、资源绑定、pub-sub、Actors、密钥等,通过使用D
阅读全文
摘要: 重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像; Hadoop集群依赖的软件分别为:jdk、ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可; 配置文件准备 1、Hadoop相关配置文件:core site.xml
阅读全文
摘要:Kubernetes中,授权有ABAC(基于属性的访问控制)、RBAC(基于角色的访问控制)、Webhook、Node、AlwaysDeny(一直拒绝)和AlwaysAllow(一直允许)这6种模式。需要在kube apiserver设置–authorization mode=RBAC参数,启用RA
阅读全文
摘要:日志复制可以说是Raft集群的核心之一,保证了Raft数据的一致性,下面通过几张图片介绍Raft集群中日志复制的逻辑与流程; 在一个Raft集群中只有Leader节点能够接受客户端的请求,由Leader向其他Follower转发所有请求日志,并且有那么两条规则:Leader不删除任何日志、Follo
阅读全文
摘要:图解Raft领导者选举,这里通过五张图来解答Raft选举的全过程; Raft集群各个节点之间是通过RPC通讯传递消息的,每个节点都包含一个RPC服务端与客户端,初始时启动RPC服务端、状态设置为Follower、启动选举定时器,每个Raft节点的选举定时器超时时间都在100 500毫秒之间且并不一致
阅读全文
摘要:Akka可能很多人都没有用过,也不知道是什么,但如果说起Scala或Spark就有很多人都听说过或使用过 ,这里简单说下三者的关系Akka是使用Scala开发的,Spark中使用了Akka作为其消息的通信工具;这篇文章主要 说说Akka的一些特性,做个简要的介绍; 要说Akka首先要从 并发 开始说
阅读全文
摘要:有用过Zookeeper的都知道zoo.cfg配置文件中有dataDir配置项用于存储数据,不过可能有些人不太清楚这个目录具体存储的是那些数据,默认情况下这个目录是用于存储Log(事务日志)与Snapshot(快照)数据,但是Zookeeper还提供了一个用于Log存储目录的配置项dataLogDi...
阅读全文
摘要:ZooKeeper为高可用的一致性协调框架,自然的ZooKeeper也有着一致性算法的实现,ZooKeeper使用的是ZAB协议作为数据一致性的算法, ZAB(ZooKeeper Atomic Broadcast ) 全称为:原子消息广播协议;ZAB可以说是在Paxos算法基础上进行了扩展改造而来的...
阅读全文
摘要:背景 熟悉或了解分布性系统的开发者都字段一致性算法的重要性,Paxos一致性算法从90年提出到现在已经有二十几年了,而Paxos流程太过于繁杂实现起来也比较复杂,可能也是以为过于复杂现在我听说过比较出名使用到Paxos的也就只是Chubby、libpaxos,搜了下发现Keyspace、Ber...
阅读全文
摘要:分布式系统除了能提升整个系统的性能外还有一个重要的特性就是提高系统的可靠性,可靠性指的是当分布式系统中一台或N台机器宕掉后都不会导致系统不可用,分布式系统是state machine replication的,每个节点都可能是其他节点的快照,这是保证分布式系统高可靠性的关键, 而存在多个复制节点就...
阅读全文
摘要:在分布式系统中通常存在着多个机器节点,每个节点只能控制自己事务的成功与失败而无法获知其他节点的事务执行结果,这时当事务操作跨越多个节点时就会存在无法满足分布式系统ACID中的数据一致性(Consistency)问题,这时就需要一个协调节点了统一调到分布式系统中其他节点的事务操作。 在分布式系统...
阅读全文
浙公网安备 33010602011771号