全是干货!云+社区沙龙online「架构演进」专场回顾

百家 作者:51CTO技术栈 2020-09-30 14:29:24

互联网的发展可谓日新月异,多样化的业务场景,催生了多样化的系统方案与架构选型,不同架构设计在各个领域大放异彩,百花齐放。


而随着业务的发展,系统的架构也不是一步到位的,没有银弹。当到了某个阶段,现有架构不再满足需求之时,就需要积极寻求破局,不断演进。


2020 年 9 月 14 日~25 日,云+社区(腾讯云官方开发者社区)联合贝壳找房,联袂推出的线上技术沙龙——架构演进,9 场直播分享,大咖云集,干货满满。


本期邀请 10 余位嘉宾,倾情奉献 9 场最新鲜、最劲爆的架构知识盛宴!分享包括:腾讯云 CBS 云硬盘架构揭秘、腾讯微服务平台架构演进、贝壳 OLAP 平台、腾讯云硬盘数据调度技术、贝壳质量保障体系、搜索推荐统一架构、服务网格架构、腾讯看点推荐系统等。


另有三位大咖同台,就“程序员如何提高架构能力?”这一开放话题,展开多维论述。


01

百微秒时延,腾讯云云硬盘 CBS 架构深度解密


随着云计算的逐步普及,越来越多用户在云上部署其核心业务。大型数据库、高性能 NoSQL、日志检索、DevOps 等 IO 密集型场景对云上存储提出了更高的要求。


腾讯云存储专家工程师王银虎在直播间为大家介绍道:如果想要用户认可云硬盘,那么云硬盘的性能必须不弱于本地盘,特别是在带宽、IOPS、延时这三个维度上有着较高的要求。


腾讯云云硬盘团队自主研发了最新一代存储引擎 HiStor,性能上实现了单路时延 150 微秒、单卷百万 IOPS 的超高性能。


在延时优化方面,腾讯云 CBS 云硬盘从分布式层面优化、接入端、存储侧和中间交互网络优化等四个维度出发,最终将延时优化到百微秒级别。


除此以外,王银虎还对 CBS 的存储结构、网络模型、架构演进等方面的内容做出了精彩的介绍,给出了他自己对于云存储领域的独到理解。

02

日调 1000 亿,腾讯微服务平台的架构演进


随着业务增长,许多中小型公司会面临业务增长体量较快、现有架构体系跟不上业务增长速度、微服务系统上线后变得不稳定等问题。


在第二场沙龙直播中,腾讯专家工程师刘智新为大家介绍了如何用开源组件搭建稳定运行大流量的微服务系统,以及如何实现微服务的划分,使微服务的系统和平台更为稳定。


在服务注册发现层面,腾讯云微服务平台突破了原生 Consul 的能力与限制,实现多租户和透明生成租户信息等功能。同时,也在性能层面逐步优化,让整个服务发现系统更加稳定。


根据 CAP 理论,CP 系统无法做到高可用的,所以需要尽可能的在别的环节来加强,腾讯云微服务从客户端、SDK 和 Access 层做了增强从而提高了整个系统的高可用性。


在直播的最后,刘智新还和大家探讨了稳定调用方面的学问,比如更细粒度的降级、应用升级等。

03

迈向更灵活,贝壳 OLAP 平台架构演进


贝壳是一家科技驱动的新居住服务平台,聚合了海量居住垂直品类服务商,为三亿多家庭用户提供全方位的品质居住服务。


随着贝壳业务模式越来越复杂,对数据驱动的需求也与日俱增,为贝壳 OLAP 数据分析平台带来了巨大的挑战。


为了满足贝壳日益复杂、多样化业务场景下多维数据分析需求,贝壳找房数据智能中心资深研发工程师肖赞为大家介绍了贝壳 OLAP 平台从早期基于 Hive+MySQL 的原始阶段,到基于 Kylin 单一引擎的平台化建设,再到支持多种不同 OLAP 引擎的灵活架构的演技历程。

在此经验基础上,肖赞还从 OLAP 引擎选型和实践的角度,对当前主流的 OLAP 引擎展开了对比和分析,给出了自己的诸多见解。


04

秒启万台主机,腾讯云云硬盘数据调度架构演进


腾讯云 CBS 云硬盘为腾讯云客户提供了⾼可靠、⾼可⽤和低成本的统⼀块存储服务。腾讯云存储专家工程师杨光超介绍了关于 CBS 调度系统的精彩内容。


随着 CBS 业务的快速增长和架构演进,最终抽象出一个统一的数据调度平台,主要涵盖三个场景:数据保护、云服务器批量生产和云盘在线迁移。

整个系统分为三层架构,第一层是业务中控层,中控是高可用服务,负责接受前端的业务请求,不管是打快照还是做回滚,以及云盘迁移,都会到我们的中控层,再转发任务给数据调度层。


数据调度层是集群模式,会把调度任务按照逻辑地址划为大小相同的数据块,并把块信息给到传输层,再由传输层节点完成了数据的搬迁功能。


直播间里,杨光超还对 CBS 数据调度系统的关键技术展开了详细论述,包括多版本 ROW 机制、快照、回滚流程、热点数据访问策略、系统水平扩展能力等方面都有精彩的描述。


05

SLA 4 个 9,贝壳高可用架构的质量保障体系


与传统电商场景不同,房产交易涉及到的环节非常复杂,过程中需要多类角色协同,跨部门,跨组织,甚至还要和政府打交道。


贝壳找房基础平台质量部总监项旭就为大家了介绍贝壳的业务特点:业务复杂,形态多变,技术多种多样,且形成微服务化。


这样的业务特点势必会带来很多挑战,比如:微服务下的量变质不变、历史债务协同非标的质量损耗、复杂业务下的测试数据,环境与回归、跨多领域质量解决方案等。


质量问题涉及各环节、各角色,系统全面且高可用的提升质量和效率就需要靠体系化建设。


接下来项旭又从理论、策略、细则这三个维度展开,详述贝壳高可用质量保障体系的建设。


包括建立规则-产研协同平台 Ke Ones、发布质量意识标准、研发统一的工具平台等。


经过一年多的建设,从 2019 年的测试研发比例 1:5 提升到了 1:9.2,故障率下降了 74%,SLA 达到 4 个 9,吞吐量增长 142%,收获了巨大的收益。

06

降本提效,贝壳搜索推荐架构统一之路


搜索和推荐是用户获取信息的两种主要方式,在贝壳也是帮助客户找到房子的主要手段,那么二者都有哪些相似和不同之处?是否可以使用同一套架构来实现?统一架构之后又能带来哪些收益呢?


贝壳搜索推荐部平台架构负责人高攀此次带来的就是关于这方面内容的技术分享。


搜索推荐两个系统的目的都是为了解决信息过载的问题,从贝壳的业务场景来看目的也是相同的,都是为了提升线上的商机转化率,进行房客的匹配。


从流程来看,二者都包含了几个核心模块:召回融合、模型排序、业务重排和推荐理由。


数据上都会用到几份核心数据:房源详情、房源特征、用户画像、用户行为特征等等。算法模型和平台工具上也是可以复用的。


既然它们的目的、流程、功能架构都是相通相似的,那么用同一套架构、同一个套代码来完成就可以大大提升团队的整体效率。


团队的工程和算法人员可以复用。代码、数据和特征模型也都可以复用,从而降低开发和维护成本。


接下来,高攀为大家详细剖析了贝壳搜索推荐统一架构,并重点介绍了中控服务、召回服务、重排服务的技术实现。

07

实现全托管,腾讯云服务网格的架构演进


Istio 现在是目前最流行的服务网格实现,它的流行主要体现在两个方面,一是社区非常的活跃,过去一年,Istio 在 GitHub 增长最快的开源项目排行榜上名列第四。另一方面 Istio 在业界有了越来越多的生产落地。


在此次沙龙的第 7 场直播中,腾讯云高级工程师钟华、苗艳强带来的是关于服务网格技术的精彩分享。


腾讯云服务网格 Tencent Cloud Mesh(以下简称 TCM)作为一个兼容 Isito 的服务网格平台,已经在腾讯内外部有诸多落地案例。


TCM 和腾讯云上其他的网络和云原生设施进行了深度集成,底层是直接暴露 Istio API, 完全兼容开源社区。


同时对 Istio 数据面的性能短板做了持续的优化,比如在内核态,开发了 mesh ebpf 插件来短路 iptables 带来的开销。


在用户态,通过优化和定制 Envoy 的遥测组件,显著的降低了 CPU 开销和请求延时。


另外还提供有全托管的遥测系统,以及全托管的控制面,优化了 Istio 多集群场景的中心化管理。整体可以帮助用户能低门槛的接入,高性能地落地。


在直播的前半程,钟华从网格模式(独立部署和全托管)、数据面、托管组件、CRD 管理方式、遥测体系等维度出发讲解,带大家了解了 TCM 的神秘面纱。


直播后半程,苗艳强结合 TCM 的典型落地场景,如发布变更/流量管理、多分支测试环境、控制面灰度升级等层面进一步展开分析,帮助大家理解 TCM 的能力和技术原理。

08

亿级用户,腾讯看点信息流推荐系统的架构挑战


腾讯看点信息流主要有三种形态:小视频、短视频、图文。QQ 浏览器用户破亿,点击曝光等相关流水每日达百亿左右,机器数接近万级。


看点信息流每天为亿级用户提供海量实时推荐服务,除了大并发/低延迟/高性能等传统架构挑战以外,还有哪些推荐系统特有的架构挑战难题,又该如何解决呢?


直播刚开始,腾讯看点独立端推荐研发中心总监彭默就抛出了这样的疑问,引发了观众们的思索。

对于推荐系统来说,特征越多算法效果越好。但特征系统的线上挑战非常大,以腾讯看点为例,每秒钟的峰值可达千亿个特征,换算成流量每秒能达到 TB 级。另外特征需要实时生成,做到高并发、高吞吐情况下的秒级返回。


在腾讯看点信息流推荐系统方案中,各个服务在使用特征时,通过 API、lib 库的方式调用,只需要查就可以,特征数据已通过后端的特征计算好,再 push 到各个机器上面。


这样做对内存的要求特别高,千万级的内容,单机显然存不下全部内容的特征,所以需要做优化。


因为对物品的计算是分片式,所以特征也可以做到分片式,单机内存的消耗就可以控制,此外,这样做还可以减少很多的跨网络调用。


除此以外,彭默还对看点信息流推荐系统涉及到的用户模型、online learning、内容过滤、提高召回开发率等层面展开了精彩的分享。


09

优秀程序员,如何提升架构能力?


本期在线沙龙的压轴专场,邀请到了腾讯云块存储与虚拟化总监马文霜、贝壳找房基础平台总经理&腾讯云最具价值专家(TVP)王超、同程艺龙机票事业群CTO&腾讯云最具价值专家(TVP)王晓波三位大咖,共同出席圆桌会议,探讨程序员如何提升架构能力这一开放话题。


三位大咖分别基于自身多年的从业经验,畅谈起架构演进史的发展。


王晓波认为架构史是从单体系统发展为现在的分布式系统,未来以数据驱动能力为主的系统架构将成为主流,侧重于海量数据的挖掘和实时应用。


王超也就这一话题表达了自己的观点,他认为架构演进史同样也分为三个阶段,首先是从关系数据库到分布式系统,其次是移动互联网的崛起,再到消费互联网和产业互联网的蓬勃发展。


马文霜也结合自己深耕多年的腾讯云云硬盘架构演进历程,谈起了他对于架构技术演进的看法。


最后大家一致认同,合格的演进应该来自真正的需求,当需求发生了变化、体验发生了变化,需要更多、更新、更好的体验的时候,架构也就会继续进一步的演进。


此外,三位大咖还就如何把控项目架构、如何提高架构能力等方面展开了多维论述。


客串主持的王晓波还独出新意,模拟出诸多面试场景让在场的各嘉宾急智解答,一时间妙语连珠,趣味横生。


此次技术沙龙挑选腾讯云和贝壳找房一线实践干货主题,邀请 12 位深扎行业技术领域的大咖在线分享。


沙龙活动期间不断收到来自直播间观众、技术社群中传递的热烈讨论和提问,收获了一片称赞。


正是源于同样的热爱,让我们在这段时间相约在云 + 社区沙龙直播间,一齐成长进步。


架构技术演进日新月异,每天都在发生巨大的变革,但无论什么时代,先进的知识始终是优质生产力,坚持、热爱的开发者们永远是推动技术发展、维持技术生态繁荣的最根本因素。


感谢国内的开发者,也感谢腾讯云云 + 社区能为广大开发者提供这样一个交流协作的平台。


腾讯云愿积极拥抱开发者,愿与开发者携手一起,共建属于架构技术更先进的未来。


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接
百度热搜榜
排名 热点 搜索指数