写点什么

微服务过微怎么办?字节跳动提供了一种合并编译的方案|QCon

  • 2024-01-16
    北京
  • 本文字数:1424 字

    阅读完需:约 5 分钟

大小:713.65K时长:04:03
微服务过微怎么办?字节跳动提供了一种合并编译的方案|QCon

随着业务规模的迅速扩张和复杂度提升,微服务架构已逐渐成为业界普遍采纳的先进策略。然而,在长期实践与演进的过程中,微服务粒度过细的现象日益突出,带来了种种问题,比如微服务分割过细导致的基础资源配置开销加剧,交互过程中链路增多引起的时延上升问题,以及服务治理开销过大等等。因此,当前针对单体架构与微服务架构的选择这一议题,又在经历着新一轮的审视与论证。

 

那么,有没有一种方案,可以既拥有单体的性能,又拥有微服务的研发效率呢?

 

字节跳动基础架构团队提供了一种方案——合并编译的方案,通过这种方式,可以使得服务拥有单体的性能和微服务的研发效率。目前该方案已在字节跳动内部多个业务线中使用,接入核心超过百万核,在不影响研发效率的情况下,带来数十万核的性能收益。

 

QCon全球软件开发大会(北京站)2024 的「单体 vs 微服务」专场,字节跳动后端研发工程师尹旭然将以《大规模微服务破局之道:合并编译》为题,把方案落地经验分享出来。据了解,尹老师主要负责合并编译方向和开源 HTTP 框架 CloudWeGo-Hertz 的研发,主要关注后端服务架构与技术。目前合并编译是字节跳动解决微服务过微问题上的主要解决方案之一,Hertz 也是字节跳动内部最大的 HTTP 框架。



我们不希望你错过这个演讲,因为——

  • 这个方案是业界已经大规模落地的,微服务过微的治理方案之一,在落地过程中有较多的经验,摸着前人的肩膀过河,机会难得

  • 核心负责人亲临现场,你既能听到方案的详细情况,又能与他面对面交流,互相启发新的思路,探索下一代后端服务架构

  • 通过这个方案,你会知道,单体和微服务并不是绝对的,服务可以灵活的选择单独部署与合并部署

 

尹旭然老师也表示,方案落地也不是没有痛点,一是理念普及是最大的难点,需要让业务的同学接受这种形态,了解哪些是真正的需求,哪些是不需要关注的点,二是相关生态(DevOps、监控、服务网格、PaaS 等)都需要支持,牵涉部门多。但这些问题都不是无解的,在交流过程中,尹老师分享了他们的做法。

 

“在业务接受上,我们主要有两个动作。第一点是自上而下的宣传,我在内部的平台上发表了很多文章,也有很多的分享,通过多次触达,让用户慢慢地理解这个事情。宣传的时候鼓励用户从更高维度的视角来看,跳出微服务的思维。合并之后就是一个单体服务,单体需要的哪些能力和微服务肯定是不一样的。第二点,我们也会用一些例子,找一些核心服务,在明白了这种架构形态之后接入,为我们做一些背书。随着核心服务接入的越来越多,业务接受起来也变得更加容易。第三点是打铁还须自身硬,合并编译听了很多业务的建议,对业务提到的能力也能够做到快速的补齐,慢慢的口碑也就上来了。”

 

目前,该方案在业务侧得到了正向反馈,“大家都能够明白这件事情带来的收益,也明白接入后研发模式带来的变化。尤其是收益这方面,取得了超出预期的收益,大家的反馈普遍还是非常不错的。”


此外,QCon 全球软件开发大会(北京站)将作为 InfoQ 2024 年首场会议,推出了全新主题——全面进化,并围绕着技术、产品、组织的全面进化策划了大模型场景化落地、大模型产品设计、大模型推理加速、高质量架构、单体 vs 微服务、可观测、性能优化、下一代生产力工具、开源产品的商业闭环、最新编程语言、数据质量与治理、大前端前沿技术、自研 OS 时代的大终端等超多精彩专题。全年会议 7 折特惠购票,仅限 1 月,咨询购票可联系票务经理 17310043226 。


目前大会议题同步征集中,点击此处了解详情,期待与各位开发者现场交流。



2024-01-16 17:3237720

评论

发布
暂无评论
发现更多内容

第11周学习总结

赵龙

跨过语言银河,构筑智能鹊桥:百度NLP的十年、今夕与未来

脑极体

安全系列之——主流Hash散列算法介绍和使用

诸葛小猿

hash 散列函数 md5 sha1 murmurhash

一起学MySQL性能优化

xcbeyond

MySQL 性能优化 MySQL性能优化

微服务的基建工作

看山

微服务 基础设施 签约计划第二季

架构师训练营第11周作业

Bruce Xiong

游戏夜读 | 什么才值得纪念?

game1night

一次开零售店的经历(2)

石云升

零售店

架构师训练营第十一周总结

张明森

区块链承兑商支付系统开发,USDT支付软件搭建

13530558032

一次开零售店的经历(1)

石云升

零售店

论商品促销代码的优雅性

架构师修行之路

第11周作业

赵龙

架构师第十一周作业及总结

傻傻的帅

ArCall 升级丨新增多项功能,可支持多人在线语音

anyRTC开发者

音视频 WebRTC 直播 RTC

开源流数据公司 StreamNative 推出 Pulsar 云服务,推进企业“流优先”进程

Apache Pulsar

Apache Pulsar 消息系统 消息中间件

区块链数字钱包定制开发,数字货币钱包开发费用

13530558032

云算力挖矿平台APP,一站式云算力挖矿系统开发

13530558032

银行热衷拿区块链专利 背后有何意图

CECBC

区块链 银行

有益思考一则:框架性思维

石君

学习 方法论

沟通是一门艺术

石云升

情绪控制 沟通艺术

智能化转型将加速数字经济变革

CECBC

人工智能 数字经济

架构师训练营 -- 第11周作业

stardust20

Apache 软件基金会顶级项目 Pulsar 达成新里程碑:全球贡献者超 300 位!

Apache Pulsar

Apache Apache Pulsar 消息系统 消息中间件

第二周作业

Vincent

极客时间 作业

第二周学习总结

Vincent

极客时间 极客大学 作业

永续合约交易系统源码开发,合约交易所开发

13530558032

悬挂引用是如何被Rust消灭的?

袁承兴

rust 内存模型 指针 引用 泛型

Spring系列篇:Spring容器基本使用及原理

简爱W

架构师训练营第十一周作业

张明森

微服务编程范式

看山

微服务 范式 签约计划第二季

微服务过微怎么办?字节跳动提供了一种合并编译的方案|QCon_字节跳动_QCon全球软件开发大会_InfoQ精选文章