加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.com.cn/)- 数据开发、人脸识别、智能机器人、图像处理、语音技术!
当前位置: 首页 > 站长资讯 > 动态 > 正文

1-12月国内5G手机累计出货量1.63亿部

发布时间:2021-01-30 10:25:28 所属栏目:动态 来源:互联网
导读:因为关羽、张飞之前没有收到提案,所以返回一个尚无提案的响应。也就是告诉诸葛亮,不会再响应编号小于等于 1 的准备请求了,也不会通过编号小于 1 的提案。响应的时间点是 14 点和 15 点。 而赵云之前也没有收到提案,所以返回一个尚无提案的响应。也就是告

因为关羽、张飞之前没有收到提案,所以返回一个尚无提案的响应。也就是告诉诸葛亮,不会再响应编号小于等于 1 的准备请求了,也不会通过编号小于 1 的提案。响应的时间点是 14 点和 15 点。

而赵云之前也没有收到提案,所以返回一个尚无提案的响应。也就是告诉庞统,不会再响应编号小于等于 2 的准备请求了,也不会通过编号小于 2 的提案。响应的时间点是 16 点。

收到准备请求(第二次)
 

Netty 版本说明

Netty 的 3.x 和 4.x 为主流的稳定版本,而最新的 5.x 已经是放弃的测试版了,因此推荐使用 Netty 4.x 的最新稳定版。

2. 服务器端实现代码

按照官方的推荐,这里将服务器端的代码分为以下 3 个部分:

  • MyNettyServer:服务器端的核心业务代码;
  • ServerInitializer:服务器端通道(Channel)初始化;
  • ServerHandler:服务器端接收到信息之后的处理逻辑。

PS:Channel 字面意思为“通道”,它是网络通信的载体。Channel 提供了基本的 API 用于网络 I/O 操作,如 register、bind、connect、read、write、flush 等。Netty 自己实现的 Channel 是以 JDK NIO Channel 为基础的,相比较于 JDK NIO,Netty 的 Channel 提供了更高层次的抽象,同时屏蔽了底层 Socket 的复杂性,赋予了 Channel 更加强大的功能,你在使用 Netty 时基本不需要再与 Java Socket 类直接打交道。

服务器端的实现代码如下:
 

诸葛亮 VS 庞统

三国中有刘备集团(占据西蜀)、曹操集团(占据北边)、孙权集团(占据江南)。

诸葛亮和庞统作为提议者,向三个接受者进作战计划的提案。提案中有两个属性:

提案编号,每次军师进行提案,都会有个编号,这里用 n 表示。

提议值,也就是作战计划,这里用 v 表示。所以提案就是 [n, v]。

诸葛亮的作战计划是从北边进攻曹操,庞统的作战计划是从南边进攻曹操,而关羽、张飞、赵云先后收到了他们的作战计划,该听谁的呢?这里就是一个共识的问题。而 Paxos 算法达成共识分两个阶段。准备(Prepare)阶段和接受(Accept)阶段。

准备阶段

诸葛亮和庞统作为提议者,分别向所有的接受者(关羽、张飞、赵云)发送包含作战计划编号(提案编号)的准备请求,但不包含作战计划(提案值)。

发送准备请求

  • 提议者诸葛亮先发送编号为 1 的作战计划的准备请求,庞统发送编号为 2 的作战计划的准备请求。
  • 接受者关羽(节点 X)在8 点收到来自诸葛亮发送的作战计划准备请求,在10 点 收到来自庞统发送的作战计划准备请求。
  • 接受者张飞(节点 Y)在9 点收到来自诸葛亮发送的作战计划准备请求,在 11 点 收到来自庞统发送的作战计划准备请求。
  • 接受者赵云(节点 Z)在 12 点 收到来自庞统发送的作战计划准备请求,在13 点收到来自诸葛亮发送的作战计划准备请求。

(编辑:淮安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读