到底谁才需要Service Mesh?(二)

简介: 到底谁才需要Service Mesh?(二)

3.谁需要ServiceMesh


既然Service Mesh这么好,是不是可以无脑上呢?就实际情况来看,不是的。


为什么呢?


Service Mesh在服务治理上,其实并没有更多的“功能性”新特性,比较吸引人的基础特性包括:


  • 天然的云原生组件
  • 能够独立升级与演进
  • 语言无关性


但在一个相对成熟的生产环境中,就目前来看,无论是Dubbo、spring cloud 或者是 自研的微服务框架,都已经相对成熟了,治理能力都比较完善,很少需要去升级或者扩展。


尤其是在服务注册与发现的核心功能不变情况下,一些扩展升级基本不需要所有后端服务都去升级适配。


那么基于“能够独立升级与演进” 的特性就不是那么有说服力了,至少是没有那么大的“业务价值”去驱动的。


那么到底谁才适合引入Service Mesh?


1)云原生基础的新企业(新生产线)


一切从零开始,就基于云原生技术栈的新企业,是非常适合直接引入Service Mesh的 。


云原生天然的服务注册发现、服务治理、云原生可观测,统统围绕Service Mesh展开,业务开发将能更好地专注于业务迭代,而不再需要关注这些业务无关的基础架构的迭代。


当然,一些深入了解云原生技术栈的基础架构维护者是必不可少的。


2)技术栈多样化的成熟企业


那对于一个相对成熟的企业来说,微服务框架、配置中心、全链路追踪系统等,都已经比较成熟,治理能力都比较完善,很少需要去升级或者扩展。


因此,要引入Service Mesh,大部分是基于「技术栈多样化」的需求。


所谓「技术栈多样化」,包括:

  • 业务场景特性不同。比如web项目使用Java、后台高性能计算服务使用go/c++、业务请求量波动剧烈的业务使用Faas、前端微服务使用nodejs等。
  • 一些特殊的招聘需求。


「技术栈多样化」带来的复杂架构,给传统微服务框架带来了巨大挑战,客户端模式(语言强绑定)的微服务框架已经无法满足这样的复杂需求了。

1.png


因此,在云原生架构下,Service Mesh的「语言无关性」的特点,给予了异构应用程序的更多可行性,让用户可以快速的编排出复杂环境、复杂依赖关系的应用程序。


4.小结


本文围绕“什么是Service Mesh”、“为什么需要Service Mesh”两个主题,对ServiceMesh进行了综述性的分享。


最后,根据生产落地中的实际情况,思考了真正适合Service Mesh落地的场景。

期望能对大家有所启发。

目录
相关文章
|
Kubernetes 网络协议 网络安全
提升你的云技能:深入了解CKA认证之k8s升级秘籍!
提升你的云技能:深入了解CKA认证之k8s升级秘籍!
431 0
|
域名解析 SQL 前端开发
如何使用CMS来搭建一个网站?
在如今的时代,拥有一个网站成为每一家企业展现形象、拓展业务、传递信息的重要途径。网站在互联网上吸引潜在客户、合作伙伴。对于大多数希望自行建设网站的企业来说,内容管理系统(CMS)成为了理想选择。
517 8
|
存储 监控 Java
使用Java实现实时数据处理系统
使用Java实现实时数据处理系统
215 11
|
10月前
|
机器学习/深度学习 存储 数据可视化
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
|
存储 C语言
【C语言】“void” 如何在 C 语言中开创无限可能
`void`是C语言中的一个特殊关键字,具有多种用途。它可以表示没有返回值的函数、没有参数的函数参数列表、以及通用指针类型等。
799 5
|
Java 测试技术 持续交付
Java一分钟之-Spring Cloud Contract:契约测试
【6月更文挑战第16天】Spring Cloud Contract是微服务契约测试框架,通过DSL定义接口行为,使用WireMock生成存根进行独立开发验证。常见问题包括契约编写不清晰、未集成到CI/CD和契约版本控制混乱。例如,定义一个`GET /greeting`返回JSON响应的契约,Spring Cloud Contract会自动生成测试代码,帮助确保服务间接口一致性,提升开发效率和系统稳定性。
436 7
|
XML Java 测试技术
【Java优化实战】「微基准系列」带你脚踏实地的进行开发和使用JMH测试和提升应用程序和服务指南
【Java优化实战】「微基准系列」带你脚踏实地的进行开发和使用JMH测试和提升应用程序和服务指南
439 1
|
运维 Linux Shell
运维:Linux服务器崩了怎么办,快来看看这份”急救命令指南“吧!
当服务器出现问题,如崩溃、内存耗尽或CPU使用率过高时,运维工程师需要保持冷静,并通过一系列Shell命令来诊断和解决。首先,检查是否有异常SSH登录活动,查看`/etc/passwd`和`.bash_history`文件,以及用户最近的登录信息。接着,监控网络连接和端口,使用`netstat`和`lsof`命令找出资源占用高的进程,并查看进程启动时间和详细信息。同时,排查可能的恶意文件,检查定时任务和服务配置以确保没有异常启动项。最后,分析系统日志,如`/var/log`目录下的各种日志文件,找出潜在问题。通过这些步骤,可以有效定位和解决服务器故障。
|
存储 算法 物联网
MCU的最佳存储方案CS创世 SD NAND
MCU的最佳存储方案CS创世 SD NAND
232 7
|
消息中间件 存储 监控
解析RocketMQ:高性能分布式消息队列的原理与应用
RocketMQ是阿里开源的高性能分布式消息队列,具备低延迟、高吞吐和高可靠性,广泛应用于电商、金融等领域。其核心概念包括Topic、Producer、Consumer、Message和Name Server/Broker。RocketMQ支持异步通信、系统解耦、异步处理和流量削峰。关键特性有分布式架构、顺序消息、高可用性设计和消息事务。提供发布/订阅和点对点模型,以及消息过滤功能。通过集群模式、存储方式、发送和消费方式的选择进行性能优化。RocketMQ易于部署,可与Spring集成,并与Kafka等系统对比各有优势,拥有丰富的生态系统。
1344 4

热门文章

最新文章