框架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的落地,对企业自身业务的架构更新以及各大云厂商的未来发展规划都有不小的挑战。在企业级微服务平台能力趋同的趋势下,苦练微服务能力“内功”,积极应对业务低侵入接入、大规模生产支撑带来的挑战,才是微服务架构演进的正确方向。

相关文章
|
3月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
189 3
|
2月前
|
分布式计算 Java 持续交付
如何选择合适的微服务框架
如何选择合适的微服务框架
41 0
|
3月前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。
|
4月前
|
Dubbo Java 应用服务中间件
微服务框架Dubbo环境部署实战
微服务框架Dubbo环境部署的实战指南,涵盖了Dubbo的概述、服务部署、以及Dubbo web管理页面的部署,旨在指导读者如何搭建和使用Dubbo框架。
314 17
微服务框架Dubbo环境部署实战
|
4月前
|
Kubernetes Java Android开发
用 Quarkus 框架优化 Java 微服务架构的设计与实现
Quarkus 是专为 GraalVM 和 OpenJDK HotSpot 设计的 Kubernetes Native Java 框架,提供快速启动、低内存占用及高效开发体验,显著优化了 Java 在微服务架构中的表现。它采用提前编译和懒加载技术实现毫秒级启动,通过优化类加载机制降低内存消耗,并支持多种技术和框架集成,如 Kubernetes、Docker 及 Eclipse MicroProfile,助力开发者轻松构建强大微服务应用。例如,在电商场景中,可利用 Quarkus 快速搭建商品管理和订单管理等微服务,提升系统响应速度与稳定性。
119 5
|
4月前
|
存储 Java Maven
从零到微服务专家:用Micronaut框架轻松构建未来架构
【9月更文挑战第5天】在现代软件开发中,微服务架构因提升应用的可伸缩性和灵活性而广受欢迎。Micronaut 是一个轻量级的 Java 框架,适合构建微服务。本文介绍如何从零开始使用 Micronaut 搭建微服务架构,包括设置开发环境、创建 Maven 项目并添加 Micronaut 依赖,编写主类启动应用,以及添加控制器处理 HTTP 请求。通过示例代码展示如何实现简单的 “Hello, World!” 功能,并介绍如何通过添加更多依赖来扩展应用功能,如数据访问、验证和安全性等。Micronaut 的强大和灵活性使你能够快速构建复杂的微服务系统。
148 5
|
4月前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
84 2
|
4月前
|
Cloud Native 安全 Java
Micronaut对决Spring Boot:谁是微服务领域的王者?揭秘两者优劣,选对框架至关重要!
【9月更文挑战第5天】近年来,微服务架构备受关注,Micronaut和Spring Boot成为热门选择。Micronaut由OCI开发,基于注解的依赖注入,内置多种特性,轻量级且启动迅速;Spring Boot则简化了Spring应用开发,拥有丰富的生态支持。选择框架需考虑项目需求、团队经验、性能要求及社区支持等因素。希望本文能帮助您选择合适的微服务框架,助力您的软件开发项目取得成功!
230 2
|
5月前
|
Cloud Native JavaScript API
一文读懂云原生 go-zero 微服务框架
一文读懂云原生 go-zero 微服务框架
|
5月前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo

热门文章

最新文章