写点什么

微服务过微怎么办?字节跳动提供了一种合并编译的方案|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:3228416

评论

发布
暂无评论

牛市初期,Penpad 以 Fair Launch 方式推出首个资产 PEN

威廉META

扬帆启航!携手飞桨get开源贡献新技能!

飞桨PaddlePaddle

百度 开发者 开源社区 百度飞桨

Databend 开源周报第 134 期

Databend

第41期 | GPTSecurity周报

云起无垠

数据库有哪些分类呢?

小魏写代码

软件测试简历书写/面试的必备技能,你都会了吗?

霍格沃兹测试开发学社

分布式数据库 GaiaDB-X 金融应用实践

百度Geek说

关于应用架构约束治理的探讨

疯狂架构

架构演进 架构治理 Archunit 架构约束防腐

金三银四,聊一聊软件测试简历书写/面试的必备技能

测试人

面试 软件测试 简历 测试开发

2024上海国际自动驾驶技术展览会

AIOTE智博会

自动驾驶展 智能驾驶展

大模型时代下的视觉识别任务

百度开发者中心

人工智能 图像处理 图像 大模型

GaussDB跨云容灾:实现跨地域的数据库高可用能力

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

基于 Kyuubi 实现分布式 Flink SQL 网关

Apache Flink

你问我答,干货满满!|OpenTiny 挑战赛技术答疑直播来啦~

OpenTiny社区

开源 前端 低代码 组件库

云原生数据库 GaiaDB 支持新的管理工具啦

Baidu AICLOUD

云原生数据库

华为云时习知&成都大学附属医院,打造“互联网+医疗”标杆

华为云PaaS服务小智

云计算 软件开发 华为云

软件工程走向“现代化工厂”?谈谈大数据平台软件的企业级部署和运维

先锋IT

面试官:说说SpringAOP实现原理?

王磊

Java 面试

CodeFuse开源ModelCache

百度开发者中心

深度学习 大模型 人工智能、

实例详解如何构建动态SQL语句

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

从MySQL到ByteHouse,抖音精准推荐存储架构重构解读

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号 3 月 PK 榜

开源与自研的选择

流氓兔

开源 数字化转型 技术选型 软件研发 自主研发

Java IDEA 插件新升级,帮助生成 API 文档

Apifox

Java IDEA Apifox 接口文档 API

多任务一次搞定!selenium自动化复用浏览器技巧大揭秘

霍格沃兹测试开发学社

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