- 博客(15)
- 收藏
- 关注
转载 Epoll原理解析
从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。
2022-07-20 16:02:27 335
原创 ACID一致性与CAP一致性浅谈
一、概述一致性在越来越多的场景中被提到,但是在数据库与分布式这两个领域中,一致性却是两个完全不同的理解,许多对着两个领域了解不是特别清楚的,便非常容易混淆。数据库领域:即ACID中的C,主要是指事务开始前和结束后,数据库的完整性约束没有被破坏。比如A向B转账,不可能A扣了钱,B却没收到。分布式领域:即CAP中的C,主要指多副本之间,数据的同步一致,比如存在A、B、C三个副本,A中写入数据 hello,写完马上读B和C,就一定要读出 hello,读出来我们就称之为符合一致性。二、ACID一
2021-01-12 15:04:05 1815
原创 etcd源码理解(1)概述
一、概述Etcd是由CoreOS构建的高可用key-value数据库,采用raft协议作为一致性算法,并且基于Go实现。使用场景:处理数据都是控制数据,或者数据量很小、更新频繁的应用数据。主要用于共享配置与服务发现。Etcd特点:简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单 安全:支持SSL证书验证 快速:根据官方提供的benchmark数据,单实例支持每秒2k+读操作 可靠:采用raft算法,实现分布式系统数据的可用性和一致性支持的能力:提供存储以及获取
2021-01-09 20:32:19 534
原创 一致性算法Paxos-简单理解
概论在分布式系统中,数据通常会存储多个副本,如何维持副本之间的一致性则是一个比较经典的问题。Paxos是一个比较经典的一致性算法,本文将对paxos进行简单的介绍。Paxos算法以难以理解著称,因此后来也提出了一个更容易理解的算法Raft,在https://blog.csdn.net/qq_34924156/article/details/111589352这篇文章中有简单介绍。Paxos算法问题定义一致性:当前有一组process,每个process都能提出一个提案(value),
2020-12-29 13:22:24 660 1
原创 分布式数据库之共识算法:Raft协议介绍
一、背景概述在分布式系统中,通常需要多副本进行备份,但是副本的同步一致一直是一个比较棘手的问题。Raft算法是一个能够代替Paxos的分布式一致性算法,能够管理日志复制(replicated log),他的性能与Paxos不相上下,但是却比Paxos更容易理解。Paxos存在的问题:难以理解(不过《Paxos Made Simple》比较容易理解)。一是因为paxos选择了single-degree Paxos作为基础,二是因为Multi-Paxos 的合成规则又增加了许多复杂性。 不能为构建
2020-12-23 16:47:22 1817 1
原创 Distribute Graph:图的分割
1.Edge cuts vs Vertex cuts参考:GraphX: A Resilient Distributed Graph System on SparkPowerGraph: Distributed Graph-Parallel Computation on Natural Graphs图结构描述了数据流动,分布式图计算系统依赖于图分区和以最小化通信和存储开销存储图,并...
2020-12-20 20:02:53 445
转载 分布式消息中间件初步认识
一、消息队列概述 消息队列中间件是分布式系统中重要的组件 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等 二、消息队列作用主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构(分布式事务)。是大型分布式系统不可缺少的中间件。2.1 解藕...
2019-06-17 14:35:43 298
转载 Go学习笔记 - 使用jsonrpc进行远程访问
JSON-RPC是一个轻量级的远程调用协议,简单易用。请求数据体:{ "method": "getName", "params": ["1"], "id": 1}method: 远端的方法名params: 远程方法接收的参数列表id: 本次请求的标识码,远程返回时数据的标识码应与本次请求的标识码相同返回数据体:{ "result":...
2019-05-08 16:06:48 2630 1
原创 Windows CockroachDB入门上手
关于CockroachDB可以查看下面三个博客开源数据库CockroachDB(一)开源数据库CockroachDB(二)开源数据库CockroachDB(三)一、下载下载地址:https://www.cockroachlabs.com/docs/stable/install-cockroachdb-windows.html如图所示,单击链接进行下载。二、安装...
2019-04-15 22:55:43 1659
转载 开源数据库CockroachDB(三)
上一篇:开源数据库CockroachDB(二)转载自:CockroachDB中国社区二十一、SQL集群的每个节点均可接受SQL连接。CockroachDB支持PostgreSQL协议,用户可以复用PostgreSQL客户端driver。同时,支持两种连接方式:一种是使用SSL加密连接,通过证书认证客户端,建议在非加密(不安全)环境下使用;另一种是基于密码验证的连接。每个连接关联一个...
2019-04-14 22:17:23 1490
转载 开源数据库CockroachDB(二)
上一篇:开源数据库CockroachDB(一)转载自:CockroachDB中国社区七、逻辑Map内容逻辑上,Logical Map在用户实际数据前包含了一系列系统保留key-value对(由SQL子系统管理):\x02<key1>: Range metadata for range ending\x03<key1>. This a “meta1” key...
2019-04-14 20:51:41 1296
转载 开源数据库CockroachDB(一)
CockroachDB 的思路源自 Google 的全球性分布式数据库 Spanner。其理念是将数据分布在多数据中心的多台服务器上,实现一个可扩展,多版本,全球分布式并支持同步复制的数据库。具体关于Spanner可查看上一篇博客全球级分布式数据库Google Spanner一、概述CockroachDB是一个分布式关系型数据库,主要设计目标是可扩展,强一致和高可靠。CockroachD...
2019-04-14 14:50:45 9783
转载 全球级分布式数据库Google Spanner
摘要:2009年10月25日,Google提出名为Spanner的远景计划。该规划的心中为一旦流量激增、硬件超负荷,数据就会在百万级的数据中心中自动转移。Spanner:“扳手”,又有“桥梁的交叉支撑”。寓意为:“横跨数据中心,自动移动与复制数据。”一.Spanner功能概要Spanner具有高扩展性,多版本(multi-version)、世界级分布(globally-distribute...
2019-04-11 22:52:24 409
转载 分布式数据库系统(DDBS) 概述
一、什么是分布式数据库分布式数据库系统(DDBS:DistributedDatabaseSystem)是在集中式数据库系统的基础上发展来的。是数据库技术与网络技术结合的产物。分布式数据库系统有两种:一种是物理上分布的,但逻辑上却是集中的。这种分布式数据库只适宜用途比较单一的、不大的单位或部门。另一种分布式数据库系统在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统。由于组成联邦...
2019-04-10 16:55:03 6895
原创 时态图最短路径算法
原论文:Spatio-temporal Network Databases and Routing Algorithms: A Summary of Results时态图发展需要解决的问题:1、所消耗的存储空间将增大,需要消除冗余,增加存储效率。2、旧的数据模型在时态图上可能会有新的解释。如寻找两点之间最短的路径可能有两种解释:(1)给定起始节点与起始时间寻找最短路径。(2)寻找两个点...
2019-04-03 15:45:13 900
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人