
文章插图
4 月 15 日-16 日,由 InfoQ 主办的 DIVE 全球基础软件创新大会通过云上展厅的形式成功召开 。在微服务 & 服务治理专场,来自字节跳动的基础架构部资深架构师罗广明带来了主题为《从 CloudWeGo 谈云原生时代的微服务与开源》的演讲,以下为主要内容 。
项目创造的思考与哲学
我们团队经常会被人问到,你们为什么创造一个新的项目?我认为这是一个哲学问题 。
纵观整个开源社区,每个时间段都会有各种各样的项目被重复地创造出来,这其中的大部分项目很快便销声匿迹了,只有一部分项目能够存活下来 。当旁观者看到这样一番景象时,渐渐地,越来越多的人停留于项目搜寻,而放弃了成为项目创作者的机会 。久而久之,我们开始忧虑下一代是否还会有新的项目可以使用?难道未来在同一领域,一个项目就能统一整个市场?
其实,在程序员的世界里,参考旧的项目来创造新的项目一点都不可耻 。创造不仅意味着思考、权衡与设计,更需要我们贡献项目的特殊与差异 。这其中涌现了很多后起之秀,正是他们促成了开源社区的多样性 。
“每一行代码都是一次精心的设计”是我们对优秀创造者的最佳赞誉 。而一项优秀的代码设计往往包含两个最基本的特性:正确性和可维护性 。同时,这两种特性恰恰又对应了两种不同的人格 。
第一种人格,设计者与实现者,其驾驭是相对简单的,只要功能实现,通过测试,运行正确就算完成了 。然而,第二种人格,阅读者和维护者,却要求更高的代码质量,更明晰的代码结构和更好的扩展性 。只有同时具备这两种人格,开发者才能游刃有余地创造出一个优秀的项目 。
优秀的项目被创造出来意味着什么呢?千千万万的用户可以评估并且使用它 。这也从侧面表明了开源本身可以避免更多项目被重复地创造出来 。
CloudWeGo 简介
CloudWeGo 是字节跳动基础架构团队开源出来的项目,它是一套可快速构建企业级云原生架构的中间件集合,它专注于微服务通信与治理,具备高性能、可扩展、高可靠的特点,且关注易用性 。
- 项目地址:https://github.com/cloudwego
- 项目官网:www.cloudwego.io
CloudWeGo 在第一阶段开源了四个项目:
- Kitex:高性能、强可扩展的 Golang RPC 框架
- Netpoll:高性能、I/O 非阻塞、专注于 RPC 场景的网络框架
- Thriftgo:Golang 实现的 Thrift 编译器,支持插件机制和语义检查
- Netpoll-http2:基于 Netpoll 的 HTTP/2 实现
除了这几个主要项目外,CloudWeGo 紧随其后陆续开源了 Kitex-benchmark、Netpoll-benchmark、Thrift-gen-validator、Kitex-examples 、Netpoll-examples 等项目 。
鉴于文章篇幅有限,下文将重点介绍 CloudWeGo 核心项目 Kitex 。
从演进历史来看,2014 年,字节跳动技术团队引入 Golang 解决长连接推送业务面临的高并发问题,两年后,内部技术团队基于 Golang 推出了一个名为 Kite 的框架,同时对开源项目 Gin 做了一层很薄的封装,推出了 Ginex 。这两个框架极大推动了 Golang 在公司内部的应用 。此后,围绕性能和可扩展性设计,字节跳动重构 Kite,并在次年 10 月完成并发布 Kitex,投入到内部应用中 。据悉,截至 2021 年 9 月,线上有 3w+ 微服务使用 Kitex,大部分服务迁移新框架后可以收获 CPU 和延迟上的收益 。
- 葫芦陶瓷罐有风水作用吗好吗
- 薛城风水大师
- 诀窍的英文 小窍门 英语
- 初中广播稿500字左右 初一广播稿500字左右摘抄稿
- 风水月亮代表什么星象
- 吴川风水群 吴川风水留题
- 怎么联系风水大师电话 风水地理专家联系电话微信号
- 超级有趣的冷知识 100个超级有趣的冷知识问答
- 山在风水中代表什么 酒在风水中代表什么意思
- 宗祠的风水如何 斜门宗祠风水讲究
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
