1.P2P架构副作用

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:
1.1 Gossip通信开销

Gossip消息的通信开销是P2P分布式系统带来的第一个副作用。有一篇关于Gossip通俗易懂的文章《Life in a Redis Cluster: Meet and Gossip with your neighbors》。Redis为集群操作的消息通信单独开辟一个TCP通道,交换二进制消息:

  • PING/PONG:Cluster的心跳,每个结点每秒随机PING几个结点。结点的选择方法是:超过cluster-node-timeout一半的时间还未PING过或未收到PONG的结点,所以这个参数会极大影响集群内部的消息通信量。心跳包除了结点自己的数据外,还包含一些其他结点(集群规模的1/10)的数据,这也是“Gossip流言”的含义。
  • MEET/PONG:只有MEET后的受信结点才能加入到上面的PING/PONG通信中。

关于Gossip的问题不可避免,我们只能通过参数调整和优化,在通信效率和开销之间找到一个平衡点。因为笔者还未搭建过大规模的Redis Cluster集群,关于集群的性能和参数调优还不能给出建议,留到积累足够经验再做整理吧。






本文作者:geelou
本文来自云栖社区合作伙伴rediscn,了解相关信息可以关注redis.cn网站。
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
3月前
|
存储 前端开发 JavaScript
React闭包陷阱产生的原因是什么,如何解决
react闭包陷阱产生的原因是由于在React组件中使用了异步操作(如定时器、事件监听等)时,闭包会保留对旧状态的引用,导致更新后的状态无法正确地被获取或使用。
48 0
|
3月前
|
前端开发 JavaScript 数据安全/隐私保护
第十一章 使用高阶函数和非高阶函数对组件进行优化
第十一章 使用高阶函数和非高阶函数对组件进行优化
|
4月前
闭包的理解 使用场景 优缺点 如何避免闭包
闭包的理解 使用场景 优缺点 如何避免闭包
15 0
|
5月前
|
存储 JavaScript 前端开发
闭包是什么?有什么特性?对页面有什么影响?
闭包是什么?有什么特性?对页面有什么影响?
22 0
|
10月前
|
缓存 前端开发 JavaScript
React 中的状态管理和副作用处理解决方案 :Hook
在现代 Web 前端开发中,构建复杂的用户界面已成为一项重要任务。随着应用程序规模和复杂性的增加,状态管理和副作用处理变得愈发关键。为了应对这些挑战,React 引入了 Hooks Pattern(钩子模式),这是一种用于管理组件状态和处理副作用的技术。本文将详细介绍 Hooks Pattern 的概念、优点和缺点,适用场景,开源实现方案,以及在知名项目中的应用
88 0
|
11月前
|
Rust 前端开发 JavaScript
对比编程语言的四种错误处理方法,哪种才是最优方案?
对比编程语言的四种错误处理方法,哪种才是最优方案?
66 0
|
11月前
生成器运行时机导致的难以察觉的 bug
生成器运行时机导致的难以察觉的 bug
43 0
|
设计模式 自然语言处理 JavaScript
闭包的原理、优点和缺点浅析
闭包指的是那些引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。- 《Javascript高级程序设计(第四版)》 注意:匿名函数不是闭包 一个函数和对其周围状态(lexical envi
|
前端开发 JavaScript
彻底搞清高阶函数与高阶组件的关系
大家知道在React和Vue中都存在高阶组件。尤其是在React应用更为普遍一些。其实高阶组件的定义来源于高阶函数。首先我们先看看什么是高阶函数。
237 0
|
缓存 前端开发 JavaScript
2022 React 最速上手指南(十三)—— 内联处理函数 & 异步数据 & 条件渲染
2022 React 最速上手指南(十三)—— 内联处理函数 & 异步数据 & 条件渲染
238 0