内容简介指南 Paxo算法指南 Zab算法指南 Raft算法指南 Paxo算法指南 Paxos算法的背景 [Paxos算法]是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法,是目前公认的解决分布式一致性问题最有效的算法之一,其解决的问题就是在分布式系统中如何就某个值(决议)达成一致. Paxos算法的前提 Paxos算法的前提假设是不存在拜占庭将军问题,即:信道是安全的(信道可靠),发出的信号不会被篡改. Paxos算法的介绍 在Paxos算法中,有三…
BLE GAP 协议和 GATT 协议 最近要打算学习 Blufi 协议进行蓝牙配置,其中必然使用 GAP 协议和 GATT 协议,于是进行重新学习一番. BLE 是一个 Bluetooth SIG 组织颁布的协议,对于使用 BLE 我们开发人员,最关注的是 上层的 GAP 协议和 GATT 协议. 1.1 GAP 和 GATT 有什么不同呢? GAP :定义一个 BLE 网络栈的通用拓扑结构. GATT:描述关于如何数据在连接中如何传输的细节. GATT 尤其关注于数据如何被格式化.打包.然后…
概述 上一篇讲解了http和https的协议的相关的知识,现在我们谈一下流媒体协议和P2P协议. 流媒体协议:如何在直播里看到美女帅哥 最近直播比较火,很多人都喜欢看直播,那一个直播系统里面都有哪些组成部分,都使用了什么协议呢?无论是直播还是点播,其实都是对于视频数据的传输.一提到视频,大家都爱看,但是一提到视频技术,大家都头疼,因为名词实在是太多了. 三个名字系列 名词系列一:AVI.MPEG.RMVB.MP4.MOV.FLV.WebM.WMV.ASF.MKV.例如 RMVB 和 MP4,看着…
前言在上一篇文章Paxos算法浅析中主要介绍了Paxos一致性算法应用的场景,以及对协议本身的介绍:Google Chubby是一个分布式锁服务,其底层一致性实现就是以Paxos算法为基础的:但这篇文件并不是介绍Chubby,而是介绍了一个和Chubby拥有类似功能的开放源码的分布式协调服务Zookeeper,以及Zookeeper数据一致性的核心算法ZAB. Zookeeper简介Zookeeper是一个分布式数据一致性的解决方案,分布式应用可以基于它实现诸如数据发布/订阅,负载均衡,命名服务…
概述 上一篇主要讲解了流媒体协议和p2p协议,现在我给大家讲解一下关于DNS和HttpDNS的相关知识. DNS协议:网络世界的地址簿 在网络世界,也是这样的.你肯定记得住网站的名称,但是很难记住网站的 IP 地址,因而也需要一个地址簿,就是 DNS 服务器.由此可见,DNS 在日常生活中多么重要.每个人上网,都需要访问它,但是同时,这对它来讲也是非常大的挑战.一旦它出了故障,整个互联网都将瘫痪.另外,上网的人分布在全世界各地,如果大家都去同一个地方访问某一台服务器,时延将会非常大.因而,DNS…
我们知道HD(分层确定性)钱包,基于 BIP-32:多币种和多帐户钱包,基于 BIP-44:最近比原社区的钱包开发者对比原的BIP-32和BIP-44协议有疑问,所以我今天就专门整理了一下该协议的内容以及在比原中涉及的代码.来做一个详细的介绍! BIP-32协议 BIP32协议原英文地址: 地址:https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys BIP32:定义 Hierarchical De…
RabbitMQ MQTT协议和AMQP协议 1        序言... 1 1.1     RabbitMq结构... 1 1.2     RabbitMq消息接收... 4 1.3     Exchange种类和消息发送模式... 4 1.4     RabbitMq的协议... 6 1.4.1       AMQP协议... 6 1.4.2       MQTT协议... 8 2        RabbitMq服务器安装和使用... 9 2.1     Windows下安装RabbitM…
HTTP协议和SOCKS5协议 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们平时上网的时候基本上是离不开浏览器的,尤其是搜索资料的时候,那么这个浏览器是如何工作的呢?用的又是什么协议呢?协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则.这就引入了我们今天要的两个主角,即HTTP和SOCK5协议,他们都可以做代理服务器.经过查阅相关资料,终于这这2个协议有点眉目,再次和大家共享一下学习心得. 一.什么是HTTP协议. 1>.HTTP协议(Hyper…
1.基于tcp协议的编程模型(重中之重)1.1 编程模型服务器: (1)创建ServerSocket类型的对象,并提供端口号: (2)等待客户端的连接请求,调用accept()方法: (3)使用输入输出流进行通信: (4)关闭Socket并释放有关的资源: 客户端: (1)创建Socket类型的对象,并提供服务器的IP地址和端口号: (2)使用输入输出流进行通信: (3)关闭Socket并释放有关的资源: 1.2 相关类和方法的解析(1)ServerSocket类 java.net.Server…
###############    网络编程    ############## """ 网络编程 学习了Python基础之后,包括函数,面向对象等,你就可以开发了,你不会就去找这个模块怎么用,就行了, 现在两个电脑上的程序要通信,才产生了网络,比如qq聊天 ############################### cs架构和bs架构 程序架构有cs架构和bs架构,本质都是两个程序之间的通信, cs架构是c是客户端,s是服务端,服务端要一直运行,等待服务,客户端是我需…