内容简介:以下对 DBLE 3.21.10.0 版本的 Release Notes 进行详细解读。 文章主要分为以下四部分内容: 一、DBLE 项目介绍 二、新版本主要更新解读 三、完整 Release Notes 四、LTS 版本更新 一、DBLE 项目介绍 DBLE 是企业...
以下对 DBLE 3.21.10.0 版本的 Release Notes 进行详细解读。
文章主要分为以下四部分内容:
- 一、DBLE 项目介绍
- 二、新版本主要更新解读
- 三、完整 Release Notes
- 四、LTS 版本更新
一、DBLE 项目介绍
DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持;
-
DBLE 官方项目:
<span>https://github.com/actiontech/dble</span> </li> <li style="text-align:left"> <p style="margin-left:0; margin-right:0"><span>DBLE 官方文档(已更新):</span> <p style="margin-left:0; margin-right:0"><span>https://actiontech.github.io/dble-docs-cn</span> </li> <li style="text-align:left"> <span>新版本 DBLE 下载地址及 Release Notes:</span> <span>https://github.com/actiontech/dble/releases</span> </li>
二、新版本主要功能更新解读
本次发版 3.21.10.0 是 DBLE 今年的第三次发版。
新版 DBLE 新增&重构功能 3 个,修复缺陷 7+ 个,和旧版本的不兼容项调整 0 处。
致谢:
- 感谢以下人士对社区的贡献:@13611582598, @mwhei , @lenovore, @jmbkeyes
- 感谢 Github 用户提供的优质 issue,star 突破 860!
- 感谢 QQ 群(669663113)和微信群内朋友提供的有效反馈,群用户突破千人!
主要更新:
1、支持单个 dble 脱离/回归集群
在部分场合下,集群状态下的 dble 可能需要临时断开和集群中心(如zookeeper)的连接。
典型的应用场景是:集群中心需要进行升级/维护时。
在版本<3.21.10 , 唯一的方式是配置修改为单机版并重新启动 dble;需要加回来时,改会原来的配置并重启 dble 。但这对业务影响很大,通常在生产环境下难以接受。
dble提供了一个脱离集群的指令,可以在不重启的情况下,临时断开和集群中心的连接,让 dble 以一个 伪集群模式 的单实例方式运行。等运维工作结束后,还可以重新加入集群。
详情请见文档对应章节
2、新的流量控制
在之前的 dble 版本中,当进行大文件 load 以及大结果集查询的过程中,都有可能由于数据的发送不及时造成数据在 dble 内存中堆积,当条件足够的时候甚至有可能造成 dble 服务的 OOM ,进而影响服务的稳定运行。
在最初 2.20.04 中由社区开发者@ssxlulu提供了对于这部分流量控制的实现,通过连接级别的写队列长度,进行数据加载/获取的负反馈调节,从而实现在数据 load 和大结果集查询过程中的内存使用情况稳定,在此基础上,我们又做了一些改进。
无论当前端连接写回客户端过慢造成积压(比如中间件和客户端之间网络不好可能会造成此现象)或者是后端已读取但未处理的 MySQL 数据积压过多(比如 dble 所在机器 cpu 性能不够),都可以停止从后侧数据库读取,减轻 dble 本身的压力。
详情请见文档对应章节。
三、完整 Release Notes
特性:
- [#2866] 支持单个 dble 脱离/回归集群. 更多详细信息,请参见 doc 。
- [#2844] 支持默认的分片模式 [alpha 功能]。更多详细信息,请参见doc 。
- [#2845] 新的流量控制:添加后端读取水位。更多详细信息,请参见doc 。
主要缺陷修复:
- [#11] EPollArrayWrapper.epollWait 可能导致 100% CPU。
- [#2896] show @@dbInstance 命令,READ_LOAD 和 WRITE_LOAD 始终显示为 0 。
- [#2747] fakeMySQLVersion 不支持 MariaDB 10.x,感谢@lenovore 报告此问题。
- [#2750] 支持`add/truncate/dop partition` , 感谢@13611582598 报告此问题。
- [#2611] 优化er表问题,感谢@jmbkeyes 报告错误。
- [#2828] 三表join,结果可能有误,感谢@mwhei 报告 bug 。
- 有时复杂的查询可能会导致内存泄漏。
和旧版本的不兼容项:
无
四、LTS 版本更新
对于 LTS 的版本,有小版本发出,修复一些 bug:
3.20.07.7
-
执行 dbGroup @@disable name ='dbGroup1';偶现 hang 住
-
连接创建失败时,连接数统计的问题导致的连接泄漏
-
mysql 实例从 disable 到 active 状态后,dble 不可用
-
有时复杂的查询可能会导致内存泄漏
3.20.10.7
-
执行 dbGroup @@disable name ='dbGroup1';偶现 hang 住
-
连接创建失败时,连接数统计的问题导致的连接泄漏
-
mysql 实例从 disable 到 active 状态后,dble 不可用
-
有时复杂的查询可能会导致内存泄漏
-
[#2873]set autocommit=true 的问题
-
9066 端口执行 show @@connection.sql 报错
3.21.02.4
-
执行 dbGroup @@disable name ='dbGroup1';偶现 hang 住
-
连接创建失败时,连接数统计的问题导致的连接泄漏
-
mysql 实例从 disable 到 active 状态后,dble 不可用
-
有时复杂的查询可能会导致内存泄漏
-
[#2873]set autocommit=true 的问题
-
管理端口执行 show @@connection.sql 报错
-
集群环境下 dble 执行 ddl 语句 hang 住
-
show @@dbInstance 命令,READ_LOAD 和 WRITE_LOAD 始终显示为 0
3.21.06.2
-
执行 dbGroup @@disable name ='dbGroup1';偶现 hang 住
-
连接创建失败时,连接数统计的问题导致的连接泄漏
-
mysql 实例从 disable 到 active 状态后,dble 不可用
-
有时复杂的查询可能会导致内存泄漏。
-
[#2873]set autocommit=true 的问题
-
管理端口执行 show @@connection.sql 报错
-
集群环境下 dble 执行 ddl 语句 hang 住
- show @@dbInstance 命令,READ_LOAD 和 WRITE_LOAD 始终显示为 0
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 分布式锁原理——redis分布式锁,zookeeper分布式锁
- 漫谈分布式系统(十):初探分布式事务
- 漫谈分布式系统(十):初探分布式事务
- 漫谈分布式系统(二十三):分布式数据仓库
- 分布式系统中的BASE 和 ACID、幂等性、分布式锁、分布式事务与异步消息处理
- 分布式ID系列(4)——Redis集群实现的分布式ID适合做分布式ID吗
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法分析
Mark Allen Weiss / 冯舜玺 / 电子工业出版社 / 2016-8 / 89.00元
本书是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书中内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书把算法分析与C++程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。一起来看看 《数据结构与算法分析》 这本书的介绍吧!