微博作为大家常用的社交平台,其背后技术团队一直默默“打怪升级”,让使用体验越来越好。可这技术升级背后却有不少门道和挑战。
架构升级挑战
架构升级成本巨大,2 - 3年才能进行一项重大改造,选了一个就得放弃其他。这就像在岔路口做艰难抉择。比如微博的研发团队,做选择时得考虑架构的独特性、领先性和扇出效应,选错了可能就错失很多发展机会,就像下棋走错一步,后面可能步步受限。
围绕独特场景改造
微博团队选择架构改造方向围绕“极端热点”场景。微博常有热门话题流量暴增情况,像明星官宣、重大新闻发布时,流量瞬间猛涨。团队做Web和数据库自动化扩缩容,都是为应对这种场景,使得在极端热点下微博能稳定使用,不会崩溃,给用户流畅的体验。
具备异地多活技术能力
到2020年底,微博云原生和资源云技术发展,使其有了全站范围低成本做异地多活的能力。异地多活技术复杂,很多企业都想实现,但成本高。微博突破技术难题实现它,不仅增强容灾能力,还为业务的稳定发展提供保障,后续即使某个地区出现问题,也能快速切换,不影响用户使用。
成本与容灾的平衡
刘道儒认为,异地多活如今不只是技术问题,更是成本和容灾能力的平衡。就像在花钱和安全间找中间点。一味追求高容灾可能投入大量成本,成本控制太严又怕遇到灾害时无法应对。微博得考虑好花多少钱、能承受多大风险,在两者间权衡,找到最合适的方案。
老服务与老资源维护难题
微博有十多年迭代历史,众多业务线和新老服务并存。老服务和老资源维护就像整修旧房子,问题不少。老系统和技术可能不适应新需求,改造起来难度大、成本高,但不改造又会影响整体性能。例如部分老的代码逻辑复杂,修改时牵一发而动全身,研发团队得小心翼翼,谨慎处理好老与新的衔接。
技术语言体系的应用困境
微博核心用Java语言,但随着广告和推荐体系发展,C++语言架构应用场景增多。不过C++技术体系完备性因建设时间短、团队分散等难以满足业务需求。就像新装备不完备就上战场,会影响战斗效果。研发团队得加快完善C++技术体系,让它能更好适应业务,提升整体工作效率。
看到这里,你觉得微博在未来技术升级中,最大的挑战会是什么?要是你认可文章,请点赞和分享给身边人。