9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

做业务架构,全局观很重要

  • 2021-07-12
  • 本文字数:2298 字

    阅读完需:约 8 分钟

做业务架构,全局观很重要

采访嘉宾 | 吕倩


今天的互联网,用户是本源。为了满足不断变化的用户需求、更好地解决业务发展痛点,很多企业选择了以业务战略为中心的业务架构,并不断优化和升级。


小红书作为一个生活方式社区,业务逻辑是保证用户能够生产足够的内容,并通过内容联动和交流,最后激发更多的创作分享行为。作为年轻人的聚集地,想法多变是小红书用户的主要特点,这也导致小红书在业务架构上经常面临优化和升级。为此,InfoQ 采访了小红书社区平台架构负责人吕倩,来聊聊业务与架构的那些事儿。


架构升级史即业务发展史


小红书的架构升级史就是其业务发展的缩影。从最初的单体服务到 16 年的微服务,再到 18 年的容器化、中台化,背后转变的推动力就是业务的发展和用户体量的增长。


“最开始,我们是想快速上线,可以立刻为用户服务。但随着用户量增多,单体架构难以支撑,我们改成了微服务。再到后面,我们发现业务越来越多,很多服务是可以通用的,团队要做的就是将其中台化。在水平扩容方面,我们便开始进行容器化,这也为后来做云原生打下了很好的基础。”吕倩说道。



小红书社区架构演进


2020 年上半年,小红书对资源耗费大、单机 QPS 承载不高的网关架构做了升级。这次升级的方向就是提高资源利用率和性能,同时应对日益增长的流量。小红书选择按功能模块将其拆成不同组,先打基础再做业务。“整个过程中,架构、业务和产品的同学一起沟通、改进和验证,架构升级是一个团队协作的事情。”吕倩说道。


如今业务迭代越来越快,意味着开发时间短,而用户量在不断快速增长,稳定性成为企业普遍面临的挑战。在研发服务上,小红书研发团队也会进行优先级划分,划分的依据依然是用户。用户核心主链路上的开发优先级最高,其次是网关等,以用户优先的系统也要求企业有很强的保障机制。


在吕倩看来,可观测性是稳定性治理的第一步。一套敏捷可靠的监控报警平台可以帮助研发人员及时发现问题。



小红书监控报警技术栈演进


在高可用方面,小红书目前在做双活架构,未来也会探索多活架构,保证在像机场断电、火灾等极端场景下服务器仍可稳定运行。当然部署双活架构后,也会伴随着更复杂的流量调度、故障切换等问题出现,这些都需要解决。


现在,面对像双十一这样的高并发场景,很多企业已经轻车熟路。在这种情况下,小红书通常会事先做流量预估,并做预扩容和压力测试等,如果遇到计划之外的流量,则利用消息队列去“消峰填谷”,同时要建立流控、熔断、降级等机制应来保障后端的服务。最新数据显示,目前小红书月活用户已超 1 亿,系统完全可以支撑得起该级别体量。


在升级过程中,很多时候都是“边换轮子边跑”的状态。吕倩表示,在上线改造过程中,要保证新业务可以直接在底层架构上开发。新业务优先到新架构上做,老业务再逐步迁移,最后形成一个完整的架构升级。


吕倩总结了升级过程中需要注意的三点:了解现在遇到的问题,统一大家的诉求;有明确的规划,使大家行动一致,并有序进行;改造验证,这对用户体验很重要。


做业务架构,全局观很重要


架构迭代速度快似乎正在成为国内互联网企业的一个“特色”。一方面,国内互联网变化太快,用户需求和业务需求一直在变,并且变化速度非常快,这导致系统的迭代更新也要非常快。另一方面,国外企业更看重标准化,从提需求到测试、发布等,整个流程更加规范,但同时也会使流程更加繁琐且耗时更长。


“只有跑得足够快,才能跟上用户需求。”吕倩说道。


但面对成千上万种不同的业务需求,架构师们并没有统一的模型可以套用。很多人会选择“先做再说”。虽然业务逻辑可能千差万别,但吕倩认为技术却是通用的。比如高流量、高并发等技术痛点是很多企业都在面临的问题,对应的,云原生等这样的技术解决方案也可能是通用的。“技术本身是通用的,只是反映到业务上会各有不同的侧重点。”


无论搜索还是推荐,最终的落脚点还是内容。在对通用问题的处理上,小红书将一些通用化能力通过中台进行打包,并以接口形式支持外部系统,以此来避免很多重复性工作,快速支持业务发展。


吕倩表示,小红书提出中台化的目标除了保护核心数据,更重要的就是做标准化,让核心系统更加稳定和高可用,并且能够支撑业务迭代,让业务跑得更快。


但是,这里也存在一个矛盾:作为底层服务,改变接口会带来相关业务的一系列改变,这就要求接口不能有太大的改变,但用户需求和相关业务的变化是很快的,不变又无法跟上企业发展需求。既要保证新业务能够快速上线,又要保证业务能够平稳地水平扩展,成为当前企业在业务架构上普遍面临的难点。


那么,如何做到架构升级又快又稳呢?在吕倩看来,架构师需要有清晰的思路,明白哪些事情是需要优先解决的,哪些是可以稍往后放的。


“虽然架构师优先要紧跟业务需求、解决当前迭代痛点,但架构师不能只顾当下的问题,还要有前瞻性和全局观,走进用户和业务,了解当前业务的问题及未来可能的变化,提前做技术储备。”


面对快速变化的业务,企业在进行着大大小小的升级,有的可能一两个月就可以搞定,有的则可能要半年。吕倩表示,如果升级周期较长,架构师在设计的时候就要把思维放在这个周期之后,也就是说要预先去规划这个周期之后的事情。


在吕倩看来,业务预测并不简单,要预测业务发展基本方向。同时为计划之外的新业务出现,提前可以做库表、组件等接口的预留,保证系统可以轻松扩容等。


各大企业都在做业务闭环,链路越拉越长,导致不同的业务系统越来越多。吕倩表示这虽然会对底层架构产生一定的影响,但将不同的业务系统融合起来就会形成一个整体的生态体系,生态化也会降低事情的复杂度。


但如何构建业务生态系统,这涉及到了企业重要的发展规划问题,这对架构师来说会是一个巨大的挑战。


嘉宾介绍:


吕倩,小红书社区平台架构负责人


活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2021-07-12 09:314154

评论 7 条评论

发布
用户头像
说着一些无用的,放之四海而皆准的大原则
2022-06-01 10:00
回复
用户头像
一个不懂架构的编辑,写了一篇架构的文章,还有一群看戏的
2021-09-28 16:42
回复
用户头像
水文吧,脱离业务太久的大佬,只能讲大道理了的感觉
2021-07-20 12:13
回复
用户头像
就是,说了一堆废话
2021-07-19 16:25
回复
用户头像
看完觉得好像说了什么,又好像什么也没说。
2021-07-17 10:45
回复
用户头像
这也太水了
2021-07-13 08:40
回复
用户头像
所以业务架构还是讳莫如深,能否发出来分享的?
2021-07-12 12:06
回复
没有更多了
发现更多内容

「可视化案例Vol.3」数字孪生可视化园区,开启园区智慧管理新篇章

ThingJS数字孪生引擎

物联网 可视化 数字孪生

阿里云弹性计算对视觉计算的思考与实践

阿里云弹性计算

Metaverse 视觉计算

PlatoFarm生态进展不断,通缩推动PLATO价值提升

西柚子

PlatoFarm生态进展不断,通缩推动PLATO价值提升

小哈区块

web前端培训Vue3 setup() 启动函数的原理

@零度

前端开发 Vue3

全网最细的短网址系统设计与实战

清风

MySQL redis 布隆过滤器 Java EE

高级Java面试经验总结:多家大厂简历优化+面试题目+面经+薪酬等

Java架构追梦

Java 程序员 面试 后端开发

WorkPlus助力深i企打造移动数字化底座

WorkPlus

基于Elasticsearch生长的SREWorks数据化运维体系

阿里云大数据AI技术

分布式 SRE 数据化运维

DeepMind爆发史:决定AI高峰的“游戏玩家”|深度学习崛起十年

OneFlow

人工智能 深度学习 DeepMind AGI

“数聚赋能”,让实时数据中台成为惠企、惠民政策服务应用的源头活水

tapdata

数据中台 数字政务 实时数据 智慧政务

基于云效AppStack实现环境管理 | 开箱即用

阿里云云效

阿里云 研发管理 研发 应用交付 环境管理

Android C++系列:vector最佳实践

轻口味

c++ android 4月月更

不面试别看!字节跳动2022年Java架构师岗面试题(试行版)发布

Java架构追梦

Java 程序员 java面试 后端开发

新思科技连续六年获评Gartner魔力象限领导者殊荣

InfoQ_434670063458

新思科技 应用安全 Gartner

低代码之火,何以燎原?

WorkPlus

【国产】ETL自动化调度运维管理平台 TASKCTL 8.0 分布式部署

TASKCTL

Docker DevOps 国产开源 大数据运维 TASKCTL

博云首批通过欧拉技术测评,联合解决方案通过验证

BoCloud博云

新闻

直播回顾:SIMD 指令集在 OpenJDK 中的现状与未来 | 龙蜥技术

OpenAnolis小助手

Java Openjdk simd arm 龙蜥社区

如何做好部门知识管理

小炮

首版架构师全栈”成长笔记“一经发布就获得一致好评,我不允许你没看过

Java架构追梦

Java 程序员 java面试 后端开发

Tapdata Cloud 2.1.4 来啦:数据连接又上新,PolarDB MySQL、轻流开始接入,可自动标记不支持的字段类型

tapdata

SaaS 云数据库 Real Time DaaS polarDB DaaS

多商户商城系统如何对接电商收付通?

CRMEB

看端点科技如何以行业实践探索企业数字化转型新路径

科技热闻

浅谈商业模式---《北大-真格创业课》笔记(30/100)

hackstoic

商业模式 创业公司

ImageKnife组件,让小白也能轻松搞定HarmonyOS图片开发

HarmonyOS开发者

HarmonyOS ArKUI 3.0

2022,「大厂云」还在找新着力点

ToB行业头条

服务器与普通台式机的对比及发展趋势

Finovy Cloud

gpu 云服务器 GPU服务器 GPU算力

极光笔记 | DSP高并发应用实践

极光JIGUANG

后端 DSP

移动开发平台|助力企业安全高效搭建高质量移动应用

WorkPlus

算法交易的最佳编程语言是什么?

非凸科技

rust 编程语言 交易系统 策略

  • 扫码添加小助手
    领取最新资料包
做业务架构,全局观很重要_语言 & 开发_褚杏娟_InfoQ精选文章