文章插图
这是一整套自研的组件,以腾讯云polaris为核心,实现 注册中心、配置中心、服务路由、限流 等等 。
目前相对来说腾讯集团内部使用较多,外界案例较少 。
2.3 小结Spring Cloud Netflix虽然不再维护 , 但是Spring Cloud依然火热,SCA目前看可能会成为国内最佳实现选择 。
3、Spring Cloud与云原生3.1 特性差异首先,Spring Cloud认为自己还是比较符合云原生的
from https://github.com/spring-cloud/spring-cloud-commons:但是Spring Cloud 和目前最火热的云原生Service Mesh体系还是有非常大的差异 。
Cloud Native is a style of application development that encourages easy adoption of best practices in the areas of continuous delivery and value-driven development. A related discipline is that of building 12-factor Applications, in which development practices are aligned with delivery and operations goals?—?for instance, by using declarative programming and management and monitoring. Spring Cloud facilitates these styles of development in a number of specific ways. The starting point is a set of features to which all components in a distributed system need easy access.
可以从以下四个方面的对比

文章插图
(表格来源:https://medium.com/codex/a-spring-cloud-compatible-service-mesh-6ce58c571012)
前面谈到了,Spring Cloud体系实际上是定义了一套编程模型(规范),包括服务注册发现、负载均衡、熔断降级等等 。
但是这里有些内容是否可以应用无关,下沉到基础设施中?
在云原生环境下,是可以的 。
也就是Spring Cloud定义的部分规范,其实在云原生环境下可能略显冗余了,Service Mesh可以做到应用无关 。
当然,Spring Cloud能做到Service Mesh做不到的一些事情 , 比如 接口级别的治理、更细粒度的链路追踪 等等 。
另外,跨语言也是Service Mesh的一大杀器 。
云原生环境下,容器化运行 , 多云部署,使得微服务不在关注到底是什么技术栈,python、c++、Nodejs都可以非常容易在云原生环境下运行 。
但是Spring Cloud只适合java生态 , 并且侵入到java应用程序代码中,对于多语言是比较无力的 。(其实这里也是 容器化 后,对java语言统治力的一种冲击)
3.2 成熟度从成熟度来说 , Service Mesh的istio + envoy的组合目前已经不少大中厂的实践案例,但是跟Spring Cloud比起来,还是差不少 。
2022 年 9 月 24 日,由云原生社区主办的第一届 Service Mesh Summit 在上海成功举办,从大会内容上,我们可以看到,Service Mesh在 易用性、通用性、学习成本上,都还是比较高的 。
市场在关注服务网格时更加得理性 , 而服务网格本身也更加“务实”,以实现快速平稳落地为出发点,解决落地过程中的各种问题,比如性能、资源占用、跨集群、多协议支持、功能扩展等等 。解决这些问题,或者坚持在 Istio/Envoy 体系上继续优化;或者转投其他的实现,更换数据面代理 , 如 MOSN、Pipy、APISIX、Linkerd Proxy;再或者引入其他的技术来解决 , 如 eBPF、WASM、RDMA、DPDK 等等 。
4、路在何方4.1 只把k8s作为容器编排调度?目前java为主的微服务体系还是比较完整的,所以即使使用了k8s,也可以仅仅把k8s用作容器编排,不需要对接istio的服务治理能力 。
Spring Cloud全家桶肯定能满足java体系下的微服务一站式设计与实现,这点毋庸置疑 。
当然,问题主要还是在云原生下 , 多语言的治理能力会有所缺失 。
另外,流量管理上,和knative、seldon等平台打通会比较麻烦,它们都是直接对接istio进行流量管理的 。
4.2 Spring Cloud 的路?Mesh体系下 , 由于天然支持HTTP调用 , 因此Spring Cloud的调用接入还是比较方便的,也有Spring Cloud Kubernetes项目做了注册中心的打通 。
核心的痛点在于对统一控制面的服务治理的接入 。
对于Spring Cloud来说,就是要实现Proxyless体系 , 但是目前官方社区没有看到这方面的特别探索 。
倒是Spring Cloud Alibaba的服务治理组件Sentinel有一些变化 。
Sentinel 的历史
- 2012 年 , Sentinel 诞生 , 主要功能为入口流量控制 。
推荐阅读
- 羊了个羊第四关怎么通关
- 英雄联盟手游超武乾坤虹影劫怎么获取
- 金铲铲之战花好月圆传送门怎么获取
- 哈利波特:魔法觉醒魔咒尖子生罗恩回响单排卡组怎么组合
- 光与夜之恋晴空漫野谈活动怎么玩
- 云顶之弈黯灵四炮阵容怎么搭配
- 华为freebuds4i使用方法_华为freebuds4i怎么重新配对
- 迪奥999口红怎么分辨是不是正品?迪奥999真假鉴别
- 2021我的世界末影龙蛋怎么孵化(我的世界末影龙蛋要怎么孵)
- 末影龙蛋怎么孵化(末影龙)