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

2021年值得学习的10种编程语言

发布时间:2021-01-30 10:27:30 所属栏目:外闻 来源:互联网
导读:Paxos 算法 Paxos 是分布式算法中的老大哥,可以说 Paxos 是分布式共识的代名词。最常用的分布式共识算法都是基于它改进。比如 Raft 算法(后面也会介绍)。所以学习分布式算法必须先学习 Paxos 算法。 Paxos 算法主要包含两个部分: Basic Paxos 算法:多个节

Paxos 算法

Paxos 是分布式算法中的老大哥,可以说 Paxos 是分布式共识的代名词。最常用的分布式共识算法都是基于它改进。比如 Raft 算法(后面也会介绍)。所以学习分布式算法必须先学习 Paxos 算法。

Paxos 算法主要包含两个部分:

Basic Paxos 算法:多个节点之间如何就某个值达成共识。(这个值我们称作提案 Value)

Multi-Paxos 算法:执行多个 Basic Paxos 实例,就一系列值达成共识。

Basic Paxos 算法是 Multi-Paxos 思想的核心,Multi 的意思就是多次,也就是说多执行几次 Basic Paxos 算法。所以 Basic Paxos 算法是重中之重。

三国中的 Paxos

三国中刘备集团,有两大军师:诸葛亮和庞统,都是非常厉害的人物,当他们有不同作战计划给多名武将时,如何达成一致?

角色

Paxos 中有三种角色:提议者、接受者、学习者。

让我们用更通俗的方式来讲解 Paxos 算法。让我们穿越回东汉末年,刘备集团的帐营中一同学习 Paxos 算法是怎么攻打曹操的。

刘备的帐营中人物介绍:

  • 主公一名:刘备,作为请求方或客户端。
  • 军师两名:诸葛亮、庞统,作为提议者。
  • 武将三名:关羽、张飞、赵云,作为接受者。
  • 文臣两名:法正、马良,作为学习者。

使用 Netty 替代传统 NIO 编程

NIO 的设计思路虽然很好,但它的代码编写比较麻烦,比如 Buffer 的使用和 Selector 的编写等。并且在面对断线重连、包丢失和粘包等复杂问题时手动处理的成本都很大,因此我们通常会使用 Netty 框架来替代传统的 NIO。

Netty 是什么?

Netty 是一个异步、事件驱动的用来做高性能、高可靠性的网络应用框架,使用它可以快速轻松地开发网络应用程序,极大的简化了网络编程的复杂度。

Netty 主要优点有以下几个:

  1. 框架设计优雅,底层模型随意切换适应不同的网络协议要求;
  2. 提供很多标准的协议、安全、编码解码的支持;
  3. 简化了 NIO 使用中的诸多不便;
  4. 社区非常活跃,很多开源框架中都使用了 Netty 框架,如 Dubbo、RocketMQ、Spark 等。

Netty 主要包含以下 3 个部分,如下图所示:

 


(编辑:淮安站长网)

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

    热点阅读