❝开头还是介绍一下群如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题有需求都可以加群群内有各大数据库行业大咖可以解决你的问题。加群请联系 liuaustin3 共3400人左右 1 2 3 4 5 6 7 8 9(1 2 3 4 5 6 7 8群已经爆满 9群 300开10群PolarDB专业学习群110)其实作为PolarDB的布道师至少去年给我颁发了一个奖章。咱们不能白让人阿里云给颁发一个这样的奖白颁。作为一个使用4年POLARDB 快5年的人我特别想写一件事情就是今天的题目 POLARDB 太垃圾我怼了回去。这事情是怎么回事一个同学他们公司也上了POLARDB具体的我没有问可能从什么渠道知道我这边有一个POLARDB的群然后他就加了我说刚开始用POLARDB 有一些东西还要学习。但是某天直接微信留言POLARDB SERVERLESS 真垃圾我有点丈二和尚摸不着头脑我想问问吧怎么回事问明白后原来是他在生产主机上使用了SERVERLESS因为之前测试的结果都比较好也满足他们的需求。但是但是但是出问题了他在一个上午应该是上午打开了SERVERLESS 也就是我们常说的弹性然后就出事了链接中断了几次我没有详细的问我想应该是一个通病就是业务中有的程序没有重试的功能。导致业务中断了然后我就看到我微信里面的那句话PolarDB太垃圾。当然我也没有客气我直接回怼其实你应该看看文档如果看完文档这话你就说不出来了。那么这篇文章就是给那个说PolarDB 垃圾的同学写的。我想你一定是对PolarDB有什么误会对Serverless有什么误会。首先你先入为主的认为PolarDB 开启了serverless是不会闪断的这点我非常理解估计你之前做过测试也并未发现这个闪断的问题。https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/faq-20?spma2c4g.11186623.help-menu-2249963.d_6_0_5.61c629cfZZeQs8官方文档我看上面这段子如果本地弹升资源不足无法继续进行纵向弹升则将触发跨机弹升机制集群将被迁移至资源更为充足的机器上。跨机弹升能力默认开启这段文字说的非常的明确如果本地资源不足是会发生数据库迁移的迁移必然闪断你之前在测试库操作没有遇到闪断很可能就是你所操作的主机他的本地资源充足。而不幸的是这次你的生产主机所在的物理主机他的资源不足那么他就要迁移迁移后就会发生闪断30秒内可能有1-2次 1-2秒的闪断。其实在我们大致得普通的业务场景系统重连就可以了如果是严苛的情况那么我们可以选择晚上打开serverless或者业务低峰期打开就可以了。所以麻烦阅读一下PolarDB的说明书serverless本身的打开就需要一次后面就不需要打开了所以就一次的闪断被你遇到了当然这并不能说明 PolarDB很垃圾只能说明你自己做事不认真。既然我今天说你了我也不白说你我给你一个新的技术方案关于serverless本身有没有可能我们打开serverless 他资源不足也不闪断。我的回答是完全可以你看你的闪断问题的确有解决方案他不是不能解决。解决方案是什么呢 无感秒切他要解决的就是你刚才提到的 serverless 打开时资源不足导致的切换数据库节点造成的闪断。PolarDB的无感秒切无感秒切的原理是什么他咱们就在数据库节点切换的时候他让业务无感也就是业务根本在数据库切换的过程中根本不会报错。对根本不报错。当然他能解决的场景也并非serverless的打开场景他要面对的是数据库的版本升级数据库配置升降配以及由于硬件的原因导致的节点切换。说到这里可能还没有明显提出无感秒切 和 没有这个功能的PolarDB之间的差异“当只读节点未开启热备时主备切换过程中可能会出现2030秒左右的闪断因此在切换前请务必确保应用具备重连机制当只读节点开启了热备功能时主备切换将在310秒内完成。 热备节点规格需要与主节点规格保持一致。”所以要不要这个无感秒切的功能在PolarDB上我的回答是要。其中用到了一种技术叫 voting disk无感秒切和非无感秒切的区别好了要详细了解这项技术看图具体的信息我们明天继续说。小结任何一项新技术他都需要耐心的理解和学习很多错误都是已有的经验导致的误会。最后特别感谢阿里云谭万路同学多次对信息正确性的核实。