写点什么

《云原生的本手、妙手和俗手》——2022 全国新高考 I 卷作文

作者:步尔斯特
  • 2022 年 6 月 08 日
  • 本文字数:1700 字

    阅读完需:约 6 分钟

《云原生的本手、妙手和俗手》——2022全国新高考I卷作文

2022全国新高考I卷高考作文



题目:《云原生的本手、妙手和俗手》

作者步尔斯特


今天的公交格外拥堵,也许是因为高考吧。


每天回家的路上,总会看一些技术圈的天下大事,刚刚看到一个话题:Java 大军,真的开始把目光从 Spring Cloud 转向云原生系的 k8s + Istio 了么?


乍一看,有一丝不解,Java 大军?Spring Cloud?Kubernetes?Service Mesh?这四个技术栈放在一起,真的能擦出火花?


此时,一束余辉射在旁边老奶奶那粉嘟嘟的小脸上,我顿悟了,也许提出这个问题的人,本意并不是这样。


他或许是在问“微服务的最佳落地方案?”,亦或是“以 Kubernetes 为核心的云原生发展趋势?”...


这篇文章就像高考一样,它并不会直接带给你具体的技术知识,但是可能会改变你,成为你的灯塔。


也许你看完没有一丝收获,会骂骂咧咧的走开,但是你不得不承认,当你看到这里的时候,你会有一种想要读完这篇文章的冲动,所以,我尽可能写的简短,不必浪费你太多时间。


不论是云原生还是上述的话题,不得不说到微服务。什么是微服务?把大服务拆成小服务,不就是微服务喽!


微服务肯定是大趋所向了,小而专一,松耦合,语言无关。可问题随之而来,服务治理是个难点:系统复杂性增加、分布式一致性问题、数据一致性问题、服务通信成本增加、服务依赖、性能监控...


本手


所谓本手,便是掌握了事物的发展规律,要顺势而为,要懂规则,且大可不必明理。


以 Spring Cloud 系列为代表的侵入式微服务解决方案,应该是 Java 开发者广为熟知的。


从上图就可以看出 Spring Cloud 项目是完全可以部署在 Kubernetes 上的。


侵入式框架是从开发者的角度来衡量的,所以同时会增加开发者的学习成本。


Java web 开发从 Servlet、SSM、SpringBoot,再到 Spring Cloud Netflix 和现在的 Spring Cloud Alibaba,还有后续的 Spring Cloud Kubernetes 等,这种变化是与时俱进的。


Spring Cloud 系列和 Kubernetes 虽然在各自的领域处理的问题不一样,但是他们无疑都是伟大的技术。

云原生时代的这个风口,他们完全可以手牵手乘浪而行。


妙手


何为妙手?妙手便是在正确掌握了规律的基础上充分发挥自己的主观能动性,一鼓作气,再而衰,三而竭,彼竭我盈,故克之。


Service Mesh 作为微服务的另一种架构哲学,以 Istio 作为代表的非侵入式微服务解决方案,目前为止用的企业还蛮多的。


这一类的框架都是基于边车的设计思想(Sidecar),完全松耦合。


Spring Cloud 系列提供了一整套微服务的解决方案,但是 Kubernetes 都有相对应的替代者,而且是从更高的维度来解决问题,可以说是降维打击。


  • 服务注册与发现 Spring Cloud 系列主流的解决方案是 Nacos + Spring Cloud LoadbalancerKubernetes 提供了 Service

  • API 网关 Spring Cloud 系列主流的解决方案是 Spring Cloud GatewayKubernetes 提供了 Ingress

  • 配置中心 Spring Cloud 系列主流的解决方案是 NacosKubernetes 提供了 ConfigMaps

  • 熔断限流 Spring Cloud 系列主流的解决方案是 SentinelKubernetes 可以结合 ServiceMesh 来做


再来看看 Istio 的亮眼之处


  1. 便于流量控制和监测及安全机制

  2. 与 K8s 完美兼容

  3. 使用高性能的 Go 语言开发

  4. 支持多种高级快速的网络协议

  5. Sidecar 默认 Envoy 并自动注入

  6. 容错机制完善

  7. 集成了用于监测的可视化界面

  8. Jaeger 作为跟踪机制集成

  9. 具备权限认证功能

  10. Sidecar 代理具有缓存功能

  11. 完全免费


由此看来,在云原生的体系中,相对于 Kubernetes + Spring Cloud,Kubernetes + Istio 的微服务解决方案代表着未来。


俗手


说完了本手和妙手,让我们来说说俗手,俗手乃是忽视了规律,胡乱地发挥主观能动性。


一个月前,我的好朋友狗蛋和我诉苦,说他的领导执意要将微服务架构从 Spring Cloud 转为 Istio,连一个过渡期都没有。


真是绝绝子啊,盲目跟风,难道不考虑一下成本问题?


上述提到的 SideCar 容器,随着业务越来越复杂,所消耗的资源也越来越大,甚至会超过业务容器。

看过一份数据,对比 Spring Cloud,基本每个 Pod 增加 3GB 内存,每秒 RT 增加 0.8,CPU 增加 50%到 80%。姑且不说 Service Mesh 带来的技术复杂度,这数据如果被中小企业的技术总监看了,不得虎躯一震?


非侵入式框架所带来的最大问题就是性能问题,内存、CPU 的损耗都是值得深入思考的,盲目的跟随主流,最终只会让自己受苦。


找年轻漂亮的有用么?找到适合自己的才是幸福的真谛。

发布于: 4 小时前阅读数: 12
用户头像

步尔斯特

关注

还未添加个人签名 2022.05.07 加入

还未添加个人简介

评论

发布
暂无评论
《云原生的本手、妙手和俗手》——2022全国新高考I卷作文_云原生_步尔斯特_InfoQ写作社区