如果几亿人改微信号,腾讯扛得住吗?
即将开播:6月19日,互联网银行架构师魏生谈互联网开放银行实施路径的探索与思考
你改微信号了吗?6 月 5 日,微信官方微博和公众号,同时发消息称,最新的微信安卓版,支持修改微信号。
如一位网友所预测,消息很快登上热搜,看来这一功能是很多人的痛。
微信号就是微信 ID,即便有人跟你的微信昵称一样,但是微信 ID 仅此一份。就好比,世界上会有和你重名的人,但绝对不会有和你身份证号码一模一样的人。
不同于身份证号码,是按照地域和出生年月设置的,微信号是可以随心设置的,于是微信号就成了生日墙、表白墙以及代表着各种含义的自留地:有人用前任名字缩写作为微信号,有人用生日作为微信号。假如现女友问他微信号的字母是啥意思,场面估计会很尴尬。
图 | 来源 “微信派” 公众号
所以,很多用户早就呼吁张小龙,赶紧上线修改微信号的功能。不过目前,微信 iOS 版还未上线该功能。再就是,微信号每年只能修改一次。所以,就算改也得想好再改。
对于用户来说,修改微信号就是动动手指的事,但对于上线该功能的微信工程师,可就没有这么简单。
修改微信号,本质就是增删
知乎科技博主、前百度 Web 服务工程师霄池告诉 DeepTech,用户在修改 App ID 时,从最通俗的角度来讲,后台需要执行一次删除操作,一次增加操作。
对微信号最经常的操作,不是修改、而是查询。而为了优化查询,后台肯定有一套索引机制(B 树或者是 Hash 表)。
在增删操作时,为了保证那些同时进行的查询操作的正确性,要将数据锁住(让某些查询操作暂停),这一步骤也叫加锁,这一步骤通常会用到 Java 语言,通常还得借用一些中间件、数据库和第三方组件。
应对高并发三大法门
原理已经搞清楚,那么在目前,就算不是所有安卓用户都要改微信号,但以微信的体量,百万级用户同时修改微信号,并非没有可能。
这时就涉及到高并发,高并发很好理解,比如鹿晗当初公布恋情,导致微博瘫痪,这就是没有处理好高并发的后果。当时是“十一”,处理该瘫痪的微博程序员小哥,愣是婚礼进行到一半,不得已抱着电脑修 Bug。
图 | 新浪程序员婚礼上修 Bug
所以,高并发指的是:大量用户在同一时间点、同时访问同一 API 接口或者 URL 地址。严格意义上来说,大量用户同时修改微信号,也存在高并发风险。
但是,解决起来也并不难。霄池告诉 DeepTech,应对高并发写入的第一种办法通常是分片。比如将微信号散列并杂凑之后(即 Hash、哈希),根据开头数字的不同,把微信号存放于几个不同的数据库服务器里,就能有效缓解压力。
当然这么做的时候,要考虑到查询操作的逻辑,即根据散列和杂凑之后的开头数字,去不同的服务器里查询。
此外,分片做法还有个好处,就是可以动态上下服务器,从而最大程度降低宕机可能性。
第二种办法是限流,好比地铁早高峰时,工作人员会举出小牌牌、让乘客分批走一样。对于海量用户同时修改微信号,可以用一个消息队列、去抹平波峰。这一般也需要和运营同事来配合,比如声称修改 ID 需要 1-2 个工作日的审核。
第三种办法,对用户体验比较好的方式,就是多准备几台服务器。现在服务器的价格,也比较低廉,微信完全可以在发布改名公告之前,提前准备好上百台服务器。
值得关注的是,微信的多数功能,以往一般是先对 iOS 用户开放,因为只有 iPhone 用 iOS,适配上比较简单。这现在有些新功能,微信也会先对安卓用户开放。看来微信也是有意端平一碗水。最后问问你,你改微信号了嘛?
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
数字化转型时代IBM致力于成为企业多云管理的优秀伙伴
即将开播:6月19日,互联网银行架构师魏生谈互联网开放银行实施路径的探索与思考 即将开播:4月29日,民生银行郭庆谈商业银行金融科技赋能的探索与实践--> 多云世界正在迅速成为众多企业内部的新常态。特别是2020年初,随之而来的新冠疫情,加速了企业上云的进程。据统计,有98%的企业计划到2021年使用混合多云环境。IDC的研究也证实了这一点,预计到2024年,90%的全球1000强组织将建立多云管理的战略,包括使用能够跨公有云和私有云进行统一管理的工具。 实现一致性的管理和运维是企业多云管理的首要诉求 当企业中的用户主动采用来自不同云供应商的基础架构和解决方案时,挑战便随之而来。在混合多云的环境中,多家供应商并存、多个云的连接和管理,以及合规、安全等问题亟需解决。 研究人员进行的一项调查结果表明,企业业务被“云绑架”的主要原因如下: 47.7%的受访者表示:不同的云管理工具之间缺乏集成点; 41.1%的受访者表示:云端软件与本地软件不兼容; 31.8%的受访者: 无法将企业的云数据移动到企业内部系统或是另一种云环境。 IT架构的纷繁复杂,给IT运维和管理造成了很大的阻力。横跨多个云平台...
- 下一篇
苹果到底该不该禁?工程院院士发声:应该限制售卖苹果手机
即将开播:6月19日,互联网银行架构师魏生谈互联网开放银行实施路径的探索与思考 即将开播:4月29日,民生银行郭庆谈商业银行金融科技赋能的探索与实践--> 众所周知,作为我们国产手机之光的华为被美国打压和封锁了两年时间,每次华为遭受一次针对的时候,看似四面楚歌,却总能化险为夷,甚至完成一次技术的飞跃!而同样身为美国通信行业的苹果和高通却在我国仍然如鱼得水,毫不夸张的说,苹果能有今天超万亿的市值,中国市场贡献很大,而国内对此,也进行了一场关于该不该禁售苹果讨论的拉锯战!对此,中国工程院院士终于发声:应该限制售卖苹果手机! 这位院士就是曾经以一己之力将联想发展壮大的我国计算机技术专家倪光南院士!他表示:美国对我们的国产品牌进行疯狂打压和封锁,是对于未来我们会赶超美国科技的一种恐惧,从而对我国核心科技产业进行封锁,所以我们不能一味的被动挨打,应该主动出击,以其人之道还治其人之身,美国不是制裁我们的华为吗?我们就限售他们的苹果! 而对于院士的建言,国内也分成了两派,反对派认为,苹果在国内的相关产业链极为庞大,如果禁售,会导致很多人失业,而且,当前国内经济还在复苏,所以这样做得不偿失!其实反对者...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8安装Docker,最新的服务器搭配容器使用