比特币价格下跌的原因
提议者(Proposer)
接受者(Acceptor)
其实,集群中所有的节点都在扮演接受者的角色,参与共识协商,并接受和存储数据。 学习者(Learner)
接受者 or 提议者 为什么说节点可以扮演接受者,也可以扮演提议者呢? 上篇我在讲解 BASE 协议的时候,讲到二阶段提交协议。其中有一个协调者的身份,协调者既可以是接受者,也可以是提议者。
如下图所示,节点 1 作为提议者和接受者,节点 2 和节点 3 作为接受者。 图片这 3 个部分的功能介绍如下。 1. Core 核心层 Core 核心层是 Netty 最精华的内容,它提供了底层网络通信的通用抽象和实现,包括可扩展的事件模型、通用的通信 API、支持零拷贝的 ByteBuf 等。 2. Protocol Support 协议支持层 协议支持层基本上覆盖了主流协议的编解码实现,如 HTTP、SSL、Protobuf、压缩、大文件传输、WebSocket、文本、二进制等主流协议,此外 Netty 还支持自定义应用层协议。Netty 丰富的协议支持降低了用户的开发成本,基于 Netty 我们可以快速开发 HTTP、WebSocket 等服务。 3. Transport Service 传输服务层 传输服务层提供了网络传输能力的定义和实现方法。它支持 Socket、HTTP 隧道、虚拟机管道等传输方式。Netty 对 TCP、UDP 等数据传输做了抽象和封装,用户可以更聚焦在业务逻辑实现上,而不必关系底层数据传输的细节。 Netty 使用 对 Netty 有了大概的认识之后,接下来我们用 Netty 来编写一个基础的通讯服务器,它包含两个端:服务器端和客户端,客户端负责发送消息,服务器端负责接收并打印消息,具体的实现步骤如下。 1.添加 Netty 框架
首先我们需要先添加 Netty 框架的支持,如果是 Maven 项目添加如下配置即可: (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |