11 travi

尚未进行身份认证

希望在此,通过一篇篇文章,厘清计算机领域的诸多模拟两可的概念。 争取做到要么不讲,要讲,就讲清楚! QQ群:581189992(加群务必注明公司-职业)

等级
博文 104
排名 1w+

数据库原理 - 序列7 - Binlog与主从复制

本文节选自作者书籍《软件架构设计:大型网站技术架构与业务架构融合之道》。作者微信公众号:架构之道与术。公众号底部菜单有书友群可以加入,与作者和其他读者进行深入讨论。也可以在京东、天猫上购买纸质书籍。6.7Binlog与主从复制6.7.1Binlog与RedoLog的主要差异在MySQL中,RedoLog记录事务执行的日志,Binlog也记录日志,但两者有非常大的差别。首先,My...

2019-04-16 10:53:58

数据库原理 - 序列5 - 事务是如何实现的? - Undo Log解析

本文节选自作者书籍《软件架构设计:大型网站技术架构与业务架构融合之道》。作者微信公众号:架构之道与术。公众号底部菜单有书友群可以加入,与作者和其他读者进行深入讨论。也可以在京东、天猫上购买纸质书籍。6.6事务实现原理之2:UndoLog6.6.1UndoLog是否一定需要说到UndoLog,很多人想到的只是“事务回滚”。“事务回滚”有四种场景:场景1:人为回滚。事务执行到一...

2019-04-15 10:25:33

数据库原理 - 序列4 - 事务是如何实现的? - Redo Log解析(续)

本文节选自《软件架构设计:大型网站技术架构与业务架构融合之道》第6.4章节。作者微信公众号:架构之道与术。进入后,可以加入书友群,与作者和其他读者进行深入讨论。也可以在京东、天猫上购买纸质书。6.5.5RedoLogBlock结构LogBlock还需要有Checksum的字段,另外还有一些头部字段。事务可大可小,可能一个Block存不下产生的日志数据,也可能一个Block能存...

2019-04-12 11:02:31

数据库原理 - 序列3 - 事务是如何实现的? - Redo Log解析

6.5事务实现原理之1:RedoLog介绍事务怎么用后,下面探讨事务的实现原理。事务有ACID四个核心属性:A:原子性。事务要么不执行,要么完全执行。如果执行到一半,宕机重启,已执行的一半要回滚回去。C:一致性。各种约束条件,比如主键不能为空、参照完整性等。I:隔离性。隔离性和并发性密切相关,因为如果事务全是串行的(第四个隔离级别),也不需要隔离。D:持久性。这个很容易理解,一旦事务...

2019-04-11 10:09:50

数据库原理剖析 - 序列2 - 事务隔离级别和死锁检测

本文节选自《软件架构设计:大型网站技术架构与业务架构融合之道》第6.3章节。作者微信公众号:架构之道与术。进入后,可以加入书友群,与作者和其他读者进行深入讨论。也可以在京东、天猫上购买纸质书。6.4.1事务的四个隔离级别通俗地讲,事务就是一个“代码块”,这个代码块要么不执行,要么全部执行。事务要操作数据(数据库里面的表),事务与事务之间会存在并发冲突,就好比在多线程编程中,多个线程操...

2019-04-10 11:19:19

数据库原理剖析 - 序列1 - B+树

关系型数据库在查询方面有一些重要特性,是KV型的数据库或者缓存所不具备的,比如:(1)范围查询。(2)前缀匹配模糊查询。(3)排序和分页。这些特性的支持,要归功于B+树这种数据结构。下面来分析B+树是如何支持这些查询特性的。6.3.1B+树逻辑结构图6-1展示了数据库的主键对应的B+树的逻辑结构,这个结构有几个关键特征:(1)在叶子节点一层,所有记录的主键按照从小到大的顺序排列,并...

2019-04-10 10:02:28

HyperLedger - 序列6 - X.509 与 五花八门的证书文件.crt/.cer./.pem/.key...

跟安全相关的领域,有各种专业名词:X.509,CSR,LDAP,CA,PKI,MSP。。以及五花八门的各种证书。初接触者往往会眼花缭乱,理不清楚这些东西之间的关系。这1篇将在序列5的基础上,进一步介绍跟安全相关的各种内容。3个核心概念在序列5,介绍了证书的概念;同时,在比特币的序列,也介绍了私钥和公钥之间的关系。这个地方,再次总结一下3者的关系:私钥(PrivateKey):...

2018-06-21 13:28:00

HyperLedger - 序列5 - Certificate(数字证书)、中间人攻击与 PKI

证书颁发与身份认证是Fabric的一个非常重要的环节,这1篇将从最基础的公私钥出发,详细解析整个基于PKI的安全体系。这个安全体系,不光是Fabric使用的,整个互联网(Https协议),也同样基于这个体系。对称加密对称加密很简单,通信双方共享同1个密钥。但有个根本问题:你如何把密钥发送给对方?密钥的发送过程,也需要加密,再来1个新的密钥,新的密钥又怎么发送给对方?这是个连环套...

2018-06-21 13:27:09

HyperLedger - 序列4 - ReadWrite Set(基于版本的并发控制)

读写集(ReadWriteSet)是Fabric中1个相对比较难理解的概念,在比特币/以太坊这样的公有链网络上,也没有类似的东西。本篇将对读写集做一个深入浅出的介绍,讲清楚到底什么是读写集,以及为什么需要这个东西。什么是读写集?读的什么?写的什么?读写集是客户端在把Transaction发给Endoser,Endoser模拟执行返回的结果。也就是说:客户端把Transaction发给E...

2018-06-21 13:26:23

HyperLedger - 序列3 - 分布式一致性理论与Order Service解析

从比特币,到以太坊,再到HyperLedger,我们一直没有专门来讲1个问题,也就是分布式一致性。分布式一致性,也就是通常所说的共识算法,作为分布式系统的一个核心理论问题,它很重要,但往往也离上层的应用开发人员比较远,不是那么好理解,也因此在前面没有仔细来阐释这个。在经过足够多的铺垫,足够多的知识积累之后,本篇将对这个问题,做一个通俗,而又深入的讨论。2大类一致性问题一致性问题,在...

2018-06-21 13:24:49

HyperLedger - 序列2 - Fabric 1.0 架构解析与Transaction处理全流程

从本篇开始,正式进入Fabric的序列。大家如果看过前面以太坊的序列文章,知道以太坊的架构,理解Fabric会很容易。逻辑架构下面这张图摘自网络(http://www.8btc.com/hyperledger-fabric1-0),展示了HyperLedger的逻辑架构。图画的很好,我就不另外再画了。本文主要结合这些图,用通俗的语言,把Fabric1.0的架构讲清楚。竖着来看,3大块...

2018-06-13 11:49:35

HyperLedger - 序列1 - 公有链 vs 联盟链

在前面的2个序列,分别介绍了区块链1.0(比特币第2课走进“区块链”与”比特币”的世界)和区块链2.0(以太坊序列1-以太坊的诞生,史上最大ICO之一)。本篇开始,进入第3个序列,联盟链-HyperLedger的解析。公有链比特币和以太坊,都称为“公有链”,因为他们是全球范围内,完全开放的。任何组织,或者个人,都可以自己建Node,加入这个网络。公有链有什么特点呢?...

2018-06-13 11:48:06

序列5 Solidity与web3.js - 智能合约的编写、编译、部署与执行

有兴趣朋友也可以进一步关注公众号“架构之道与术”,获取原文。或扫描如下二维码:在序列4EVM,Solidity和其它各种编程语言中,我们介绍了EVM和Solidity语言。这1节,详细来介绍Solidity语言的语法,以及如何部署、执行智能合约。整体介绍在整个过程中,涉及到Solidity和web3.js2个东西。首先用Solidity语言编写源代码(相应的IDE编辑工...

2018-06-07 16:45:43

序列4 EVM,Solidity和其它各种编程语言

有兴趣朋友也可以进一步关注公众号“架构之道与术”,获取原文。或扫描如下二维码:在前面序列2–到底啥叫“智能合约”我们说了,以太坊是一个智能合约的平台。智能合约本身呢,是一堆代码。既然是代码,就涉及到编程语言,涉及到语言的编译、部署、执行等一系列过程。本节就对智能合约的编程语言做一个总体介绍,后面随着逐步的深入,会对这种语言有一个更深的认识。EVM说到Java,大家都知道有...

2018-06-07 16:44:35

序列3 -- 没有了UTXO,新来了WorldState

有兴趣朋友也可以进一步关注公众号“架构之道与术”,获取原文。或扫描如下二维码:在比特币系列第9课Transaction数据结构、UTXO、钱包–详解中,我们详细讲解了比特币网络的核心交易模型:UTXO。在比特币网络中,并没有“账户余额”的概念。所谓的账户的余额,其实是所有UTXO的相加。在任何一笔花费中,不是从账户余额花出去的,而是花费的UTXO;并且UTXO是不可分割的,1个...

2018-06-07 16:43:15

业务架构 序列5 -- 以终为始(非功能性需求分析)

我们知道软件有功能性需求和非功能需求之分。在很早以前,惠普公司的罗伯特·格雷迪(RobertGrady)及卡斯威尔(Caswell)就提出了FURPS需求模型(关于什么是FURPS模型,自己百度之)。有兴趣朋友也可以进一步关注公众号“架构之道与术”,获取原文。或扫描如下二维码:软件的非功能性需求其实有很多,不同类型的软件,其侧重点也会有差别。同时,随着分布式系统的发展,这方面的理论...

2018-06-04 12:37:22

序列2 -- 到底啥叫“智能合约”

有兴趣朋友也可以进一步关注公众号“架构之道与术”,获取原文。或扫描如下二维码:在序列1-以太坊的诞生,史上最大ICO之一中,我们说了以太坊是个智能合约的平台,这个是以太坊在比特币网络基础上,做出的一个重大技术创新。本文呢,就从现实生活的角度切入,来通俗的解释一下什么是“智能合约”。现实生活中的合同在现实生活中,我们做复杂的交易,通常甲方和乙方都会签订1份合同。甲方呢,出钱...

2018-06-04 12:31:35

序列1 - 以太坊的诞生,史上最大ICO之一

在区块链1.0(比特币)这个序列中,我们详细分析了比特币和区块链的整个技术体系。从本课开始,本序列将系统化的分析以太坊的整个技术体系。有兴趣朋友也可以进一步关注公众号“架构之道与术”,获取原文。或扫描如下二维码:截止2018年,以太币已经成为市值仅次于比特币的第2大加密货币,其背后对应的区块链技术(通常称为区块链2.0)也得到了广泛应用。以太坊的诞生–史上最大ICO之一2...

2018-06-04 12:28:22

业务架构 -- 序列4 -- 圈定边界(利益相关者分析)

做1个系统,跟做1个产品一样,首先要问的是你的用户是谁。在架构里面,称为利益相关者。有兴趣朋友也可以进一步关注公众号“架构之道与术”,获取原文。或扫描如下二维码:什么是利益相关者下面随便举几个例子,来说明利益相关者:例子1:微信微信有哪几类人在用?C端普通用户支付收款个人商家支付收款接入商/开发商游戏开发商广告投放商家订阅号作者服务号开发者...

2018-05-27 19:24:29

业务架构 序列3 真的分层 vs. 伪分层架构?

有兴趣朋友也可以进一步关注公众号“架构之道与术”,获取原文。或扫描如下二维码:说到分层架构,相信没有人不知道,一个被说烂的词。无论业务架构,还是技术架构;无论做C端业务,B端业务;无论做服务器,还是客户端,还是别的什么地方,所有人都会用这个。但就是这样一个熟悉的不能再熟悉的架构方法,却往往被滥用。下面这个图,展示了一个最常见的一个互联网系统的分层架构:但是它只是停留在PPT上...

2018-05-27 19:22:59
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。