开源微服务最佳实践 | 学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习开源微服务最佳实践,介绍了开源微服务最佳实践系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【开源微服务最佳实践开源微服务最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/961/detail/14882


开源微服务最佳实践

 

内容介绍:

一、行业思考

二、微服务引擎

三、最佳实践:MSE+ASM双模微服务引擎


一、行业思考

1、微服务在云原生下的挑战

今年微服务发展新的技术发展层出不穷,包含服务治理、容器化K8S、服务网格等。更多的客户不满足追求系统的稳定,而是希望新技术的引入可以更多降本增效的价值。很多客户在风险规划体系时倾向于使用开源软件。但开源框架和中间件只解决研发成本不会直接有开箱集中的效果,并且还会带来以下三个挑战:

1稳定性 包括业务自身SLA保障、高可用、多活、容灾

2成本 包括开源框架自研成本、微服务组件运维成本

3效率 包括白天高峰发布、微服务集成效率

image.png

2、云原生微服务发趋势

1开源生态、标准化

开源降低了研发成本和效率,标准化使系统上云、换云、新技术的引入容易灵活。

(2)后端服务BaaS化 (注册中心、配置中心、MQ 、DB 、Redis)

BaaS是一种新型的云服务,作为应用开发的新模型可以降低开发者的成本,让开发者专注于具体的开发工作,本质上符合现在系统的发展趋势客户将三维系统从机房搬迁到云上,目的是让基础设施释放劳动力和降低成本,BaaS化的云服务带来了同样的收益

(3)基础能力与应用解耦、下沉(Java Agent,Sidecar)

微服务的初衷是为了加快业务的快速发展和单元复制,微服务化到了时间段,业务已经实现了微服务的设计原则,但是一些底层的技术基础能力,又存在很多耦合的问题,在集成和升级时出现相应的问题,因此技术组件的解耦和下沉成为了技术新的发展趋势。代表技术为 Java Agent 以及 Sidecar。

image.png


二、微服务引擎

微服务引擎(MSE):提供全托管微服务组件服务、无侵入的服务治理能力,帮助用户更方便、更稳定、成本更低的使用开源微服务技术栈构建微服务。包含一下几部分:

(1)治理中心

支持近5年 Spring Cloud 和 Dubbo 的版本,不需要修改代码、配置,并且镜像可以快速接入接入后提供服务目录服务测试、限流降级、无损下线,标签路由等能力

(2)配置中心

全托管 Nacos 服务

配置查询和版本管理·

默认高可用:多可用区部署、自动探活

丰富完善的监控报警

后续 ASM 更丰富、强大的配置能力将迁移至本产品。

(3)注册中心

全托管 Zookeeper/Nacos/Eureka 服务

默认高可用:多可用区部署、自动探活

丰富完善的监控报警

针对特殊组件,不仅可以微服务服务发现,也可以做其他分布式协调工作。

(4)微服务网关

托管 Zuul、Kong、Spring Cloud Gateway

丰富完善的监控报警,免运维

支持手动和自动弹性伸缩

微服务体系打通,实现南北及东西流量统一路由分发以及服务治理

image.png

产品优势:

(1)开箱即用

不修改代码、不修改配置、不修改镜像实现零成本接入

(2)云原生

Kubernetes 集群五分钟之内接入

(3)拥抱开源

支持 Spring Cloud、Dubbo 近五年所有版本,可以快速集成。

(4)全托管

免运维、高可用、提供99.95%的稳定性保障

image.png


三、最佳实践:MSE+ASM 双模微服务引擎

服务网格代表性的产品,在真正的落地过程中,方便性及管理能力有较大的缺失用户的学习和理解成本非常高,现有服务网格对Java,开源微服务框架通过MSE提供的无侵入式的治理能力也是能够解决耦合的方案,从性能稳定性、功能上看,javaagent 更加优秀。服务网格的价值和付出的成本目前在 java 体系中不成正比在其他场景下,服务网格还是比较好的选择MSE 结合阿里云现有托管式的服务网格MSE 的产品,形成一个双模微服务引擎的解决方案帮助客户更好的运营和管理微服务

MSE 提供无差异支持 java 体系微服务及 mesh 体系微服务平台。提供统一视图、可观测性、统一治理。基于 javaaqent 模式,业务方无感知,多语言微服务通过servicemeshsidecar 模式,业务方无感知。

结合微服务组件 BaaS 化(注册中心,配置中心,微服务网关,Istio 管控面)为微服务保驾护航,提供专业能力

image.png

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
30天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
45 0
|
1月前
|
运维 监控 Go
Go语言微服务实战与最佳实践
【2月更文挑战第14天】本文将深入探讨使用Go语言进行微服务实战中的最佳实践,包括服务拆分、API设计、并发处理、错误处理、服务治理与监控等方面。通过实际案例和详细步骤,我们将分享如何在Go语言环境中构建高效、稳定、可扩展的微服务系统。
|
30天前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
80 0
|
4天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
30天前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
61 1
|
30天前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
183 0
|
30天前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
772 0
|
30天前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
36 1
|
30天前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(五)OpenFeign的使用
36 0
|
30天前
|
负载均衡 算法 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(四)Ribbon的使用
23 0