框架Left,网格Right,微服务之出路

简介: 云原生时代的微服务,在过去的时间:有坚守,亦有破局。服务框架依然在持续进化和奔向云原生,Service Mesh 在持续进步的同时依旧疑点重重。总体而言,微服务架构的演进并非一蹴而就,过于保守或激进都不是解决之道。 在过去的岁月中,以 Spring Cloud、Dubbo 为2大体系代表的服务框架依然在持续进化,持续发热,并加速融向云原生领域;然而,作为微服务体系及云原生中的“网红”:Service Mesh ,依然在未知中砥砺前行。由此,在面对云原生和微服务技术的蓬勃发展:一边是成熟演进的服务框架,一边是代表未来方向的 Service Mesh,企业的架构演进方向该何去何从?

 1、Dubbo

      作为阿里系的一枚重磅产品(无论你是否认为),2017 年 9 月,阿里巴巴宣布重启 dubbo 的开源维护,重启开源后,解决了积累很久的 pull request 和 Issue ,以及之前一些公司不得不开始自己维护 dubbo 的私有分支也逐步合入了主干。同时,与社区进一步的互动,也会激发 dubbo 团队对产品的灵感。

      目前 Dubbo 团队就是阿里巴巴内部负责服务框架的团队,我们在大流量、大规模集群、服务治理领域有着丰富的实践,这些经验已经在有序地回馈给社区。重启开源后发布的 2.7.x 版本带了了很多新的特性,比如 JDK8 支持,完整的异步支持,以及元数据的精简和抽象。在今年,我们启动了另外一个新的历程碑 —— Dubbo3.0,这也会带领 Dubbo 走向下一个阶段,即云原生微服务。

      Apache Dubbo 里程碑意义的版本中,做出以下重要调整:

   (1)服务模型调整:从基于“接口即服务”模型调整为与 Spring Cloud、Kubernetes 相同的服务模型

   (2)协议支持调整:增加了 HTTP/2(gRPC)作为通信协议的能力

   (3)云原生生态支持:融入K8S云原生生态

2、Spring Cloud

     作为Spring家族的产品,Spring Cloud 之于微服务体系,就像 Spring 之于 Java 开源框架,其地位举足轻重,无论是基于1.x还是2.x。在跨生态领域,Spring Cloud Alibaba 作为 Spring Cloud 与阿里系 OSS 生态融合的项目,在 2020 年也持续发展。Spring Cloud Alibaba 整合了 Sentinel、Nacos、Dubbo 等阿里微服务开源组件,旨在帮助开发者快速引入阿里系开源组件。它致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

     

      依托Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统.因此,基于阿里的强大的技术影响力,其已成为微服务解决方案的重要选择之一。它集成了阿里云的商业化组件,可以说天然支持云原生特性。

3、Service Mesh

       经过2020 年的洗礼, Istio依然仍在艰辛的路途中探索。

       2020 年,Service Mesh 阵营依旧在不断地分化:

     以Google 与 IBM 公司 在商标问题上的分歧,Istio 商标被 Google 捐献给 Open Usage Commons 组织,而非 CNCF。

      微软发布了自己的开源 Service Mesh 项目 —— Open Service Mesh,遵循 Istio 以外阵营制定的 SMI(Service Mesh Interface)规范。

      微服务 API 网关资深玩家 Kong 推出了自己的 Service Mesh 项目 —— Kuma,有趣的是 Kuma 选择了 Envoy 作为数据面,而非 Kong 网关核心内核 Nginx+OpenResty。

    Service Mesh 远古玩家 Nginx 也祭出自己新一代产品 —— NGINX Service Mesh(NSM),主打简化 Service Mesh,并顺势推出商业产品 Aspen Mesh。


      总之,云原生理念为微服务架构体系的演进带来了新的契机。无论基于服务框架的演进,还是Service Mesh的落地,对企业自身业务的架构更新以及各大云厂商的未来发展规划都有不小的挑战。在企业级微服务平台能力趋同的趋势下,苦练微服务能力“内功”,积极应对业务低侵入接入、大规模生产支撑带来的挑战,才是微服务架构演进的正确方向。

相关文章
|
1月前
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
85 17
微服务框架Dubbo环境部署实战
|
15天前
|
Kubernetes Java Android开发
用 Quarkus 框架优化 Java 微服务架构的设计与实现
Quarkus 是专为 GraalVM 和 OpenJDK HotSpot 设计的 Kubernetes Native Java 框架,提供快速启动、低内存占用及高效开发体验,显著优化了 Java 在微服务架构中的表现。它采用提前编译和懒加载技术实现毫秒级启动,通过优化类加载机制降低内存消耗,并支持多种技术和框架集成,如 Kubernetes、Docker 及 Eclipse MicroProfile,助力开发者轻松构建强大微服务应用。例如,在电商场景中,可利用 Quarkus 快速搭建商品管理和订单管理等微服务,提升系统响应速度与稳定性。
31 5
|
1月前
|
存储 Java Maven
从零到微服务专家:用Micronaut框架轻松构建未来架构
【9月更文挑战第5天】在现代软件开发中,微服务架构因提升应用的可伸缩性和灵活性而广受欢迎。Micronaut 是一个轻量级的 Java 框架,适合构建微服务。本文介绍如何从零开始使用 Micronaut 搭建微服务架构,包括设置开发环境、创建 Maven 项目并添加 Micronaut 依赖,编写主类启动应用,以及添加控制器处理 HTTP 请求。通过示例代码展示如何实现简单的 “Hello, World!” 功能,并介绍如何通过添加更多依赖来扩展应用功能,如数据访问、验证和安全性等。Micronaut 的强大和灵活性使你能够快速构建复杂的微服务系统。
61 5
|
29天前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
58 2
|
1月前
|
Cloud Native 安全 Java
Micronaut对决Spring Boot:谁是微服务领域的王者?揭秘两者优劣,选对框架至关重要!
【9月更文挑战第5天】近年来,微服务架构备受关注,Micronaut和Spring Boot成为热门选择。Micronaut由OCI开发,基于注解的依赖注入,内置多种特性,轻量级且启动迅速;Spring Boot则简化了Spring应用开发,拥有丰富的生态支持。选择框架需考虑项目需求、团队经验、性能要求及社区支持等因素。希望本文能帮助您选择合适的微服务框架,助力您的软件开发项目取得成功!
99 2
|
2月前
|
Cloud Native JavaScript API
一文读懂云原生 go-zero 微服务框架
一文读懂云原生 go-zero 微服务框架
|
2月前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo
|
2月前
|
负载均衡 Dubbo 应用服务中间件
框架巨擘:Dubbo如何一统异构微服务江湖,成为开发者的超级武器!
【8月更文挑战第8天】在软件开发中,微服务架构因灵活性和可扩展性备受欢迎。面对异构微服务的挑战,Apache Dubbo作为高性能Java RPC框架脱颖而出。它具备服务注册与发现、负载均衡及容错机制等核心特性,支持多种通信协议和序列化方式,能有效连接不同技术栈的微服务。Dubbo的插件化设计保证了面向未来的扩展性,使其成为构建稳定高效分布式系统的理想选择。
40 5
|
3月前
|
开发框架 中间件 API
ABP VNext框架基础知识介绍(2)--微服务的网关
ABP VNext框架基础知识介绍(2)--微服务的网关
|
2月前
|
API Go 数据安全/隐私保护
go-zero微服务框架的静态文件服务
【8月更文挑战第7天】`go-zero` 微服务框架支持多种静态文件服务实现方式。常用方法是利用 `Go` 标准库 `http.FileServer`。通过设置静态文件根目录并使用 `http.StripPrefix` 去除路径前缀,能确保 `/static/` 开头的请求正确返回文件。此外,结合 `go-zero` 的路由机制可更灵活地控制静态文件服务,例如仅在特定 API 路径 `/api/static` 下提供服务,从而实现精细化访问控制。

热门文章

最新文章

下一篇
无影云桌面