第3期:微服务架构正在被滥用

2022-11-19

冬天了

前几天马斯克发了一条推特向用户道歉,称 Twitter 在多个国家访问慢是因为首页时间线有 1000 多个 RPC 请求,然后有 Twitter 员工和马斯克争论导致被开除。

这里不讨论谁对谁错,来说一下所提到的 RPC,也就是微服务架构。目前大多数互联网大厂的服务都建立在微服务架构上,像 Twitter 这种一个首页要调用 1000 次 RPC 请求其实也没那么离谱,哪怕用户点击一个登录按钮发送的 HTTP 请求,后面可能就会有几十上百次的 RPC 请求在各个微服务间流转。

但大家都是如此就是对的吗?首先声明服务化不等于微服务,微服务架构中服务数量较多,且单个服务的规模较小。微服务架构要解决的是单体应用的复杂及难维护的问题,而在编程中解决复杂问题方法是抽象、封装和复用,服务化是符合这个逻辑的,但微服务架构的巨量服务带来了复杂调用关系,并且每个服务的开发者都需要考虑向后兼容,以保证整个调用链不会出问题,从而进一步提升了架构的复杂度。

对于大公司而言,微服务架构运行起来没什么问题,也解决了一些问题,但背后付出大量的人力物力来维护这套看似稳健实则脆弱的架构;对小公司而言纯属浪费人力物力,业务本身消耗的服务器资源可能还不如这套基础架构消耗的多。或许我们需要一套更好的架构了。


技术

Ant Design 5.0 正式发布

Ant Design 发布了 5.0 正式版,设计进行了升级,并带来了全新 Design Token 模型,降低开发者的拓展成本,同时将 Less 切换为基于 Emotion 的 CSS in JS 方案,另外新增了几个组件,也放弃了对 IE 浏览器的支持。

Nuxt 3.0 正式版发布

Nuxt 是一个基于 Vue 的框架,类似于 React 生态中的 Next.js 框架,但服务端能力较弱。经过漫长的开发历程,终于发布了 3.0 正式版,鉴于它在 RC 版中多次进行 break change,对其表示不看好。

Regex Learn

Regex Learn 是交互式的正则表达式学习课程和工具,免费开源。同时提供了 Cheatsheet 和 Playground 以供参考和练习。

Notion AI

Notion 发布了他们的新产品 Notion AI,它可以用来写文章、写新闻稿、写诗,也可以用来语法和拼写检查、翻译等,目前还处于测试阶段。

开源

开源美术字体 Smiley Sans

Smiley Sans 得意黑是一款在人文观感和几何特征中寻找视觉平衡的现代窄斜体,其工程文件完全开源,支持 100 多种语言,并且可免费商用。

TMT

高通骁龙 8 Gen 2 平台

高通在 2022 骁龙技术峰会上发布了骁龙 8 Gen 2 芯片,采用台积电 4nm 制程工艺,将会用于明年的旗舰智能机上。除了常规的性能升级,最大的亮点是 Adreno GPU 首次引入了对硬件级移动光追技术的支持,更早几天发布的联发科天玑 9200 同样也带来了硬件级光追技术,虽然还比不上电脑端的光追技术,但对游戏体验能够带来一些提升。

另外英伟达已经将光追技术应用到 VR 领域,不知道高通会不会将移动光追技术应用到后续发布的 XR 芯片中。

高通骁龙 AR2 Gen 1 平台

同样是在骁龙技术峰会上,高通发布了其第一代 AR 平台 - 骁龙 AR2 Gen 1 平台,它作为高通 XR 产品一部分,主要用于为智能眼镜提供 AR 体验。支持多达九个并发的摄像头,支持 Wi-Fi 7,采用 4 纳米工艺制造,相较于 XR2 芯片,功耗降低 50%,已有多家厂商表示对该平台感兴趣,或许明年会有一大波基于该平台的 AR 眼镜发布。

Oryon

还是在骁龙技术峰会上,高通公布了新一代定制 ARM 内核 Oryon,它是对标苹果 M 系列芯片、用于 PC 处理器的内核。目前 PC 处理器除了苹果的 M 系列芯片为 ARM 架构,其他均为 X86 架构,高通的 Oryon 内核一方面是为了摆脱对 ARM 公版架构 的依赖,另一方面或许能给 PC 处理器行业带来新的竞争,让 Intel 能多挤点牙膏。