全托管:MSE+SAE 微服务应用全托管解决方案

简介: 进入新世纪互联网时代后,以腾讯和阿里为代表的社交电商巨头开始面临流量和复杂度大增的挑战。此时的研发团队相较于之前已经明显扩大,并开始实践 SOA /微服务架构,比如阿里的 HSF。


全托管:MSE+SAE 微服务应用全托管解决方案


——毕衫

阿里云 SAE 研发负责人


一、微服务架构的优点和痛点

image.png

微服务架构的诞生背景经历了几个阶段:


互联网早期主要是门户时代,大部分应用都是单体应用,主要的挑战在于单纯的技术挑战,研发团队相对较小。


进入新世纪互联网时代后,以腾讯和阿里为代表的社交电商巨头开始面临流量和复杂度大增的挑战。此时的研发团队相较于之前已经明显扩大,并开始实践 SOA /微服务架构,比如阿里的 HSF。


进入移动互联网时代后,人们的生活全面互联网化,不仅是巨头企业,越来越多的互联网公司也开始面对流量和复杂度爆发,而且研发团队进一步扩大。此时除了研发效率的要求,微服务架构也成为了比较普适性的需求,许多新的词汇被提出,比如微服务架构,比如开源的解决方案Spring Cloud、Spring Cloud Alibaba等。

今天,我们已经进入了全面数字化阶段。面对社会全面数字化的转型,流量和复杂度的挑战愈发普遍,团队规模大,效率要求高,使得微服务架构再一次发挥了它的优势。


微服务架构到底有什么样的优点和缺点?

image.png

单体架构的缺点比较明显,共享代码库比较容易冲突,边界不清、模块耦合,团队效率低。

而微服务架构正好解决了以上问题,它的核心手段就是拆分:解耦研发态,解耦部署态,最终达到释放团队效率的效果。

image.png

微服务解决了单体架构的很多问题,除此之外,它还能解决哪些问题?

上图中蓝色部分是业务系统(业务应用),灰色部分是引入了微服务技术架构以后,研发团队需要解决的各种技术复杂度问题,包括网关 CI/CD 微服务的框架、配置中心、注册中心、限流降级、压测工具、监控系统、告警系统、服务治理等,甚至还需要处理 K8s 、IaaS 本身的运维复杂度。


微服务虽然解决了研发效率问题,但随着团队的扩大以及技术复杂度的增高,它也带来很多额外开销。因此很多公司会设立 10 人以下的团队专门解决这类开销问题,包括 v5 框架、运维基础设施等。然而,这类团队的工作成果是否能得到公司的认可依然存疑。

image.png

阿里云 MSE+SAE 微服应用全托管解决方案能够完美解决以上问题。从网关到微服务套件到资源和 K8s 的托管以及监控、CI/CD ,都可以全套交给云原生解决方案。

image.png

SAE 其实是 serverless 的新形态, All on Serverless 覆盖的场景从微服务到 web 应用到前端全栈等场景。它底下的基础设施是 serverless 化的,用户无须关心;在应用层,它提供了应用管理、微服务治理和运维配套。


基于此,低门槛的微服务架构转型有了最佳实践。

image.png 

上图左侧灰色部分是原先采用微服务架构开发模式下需要处理的一些复杂度,右侧代表采用 MSE+SAE 的微服务全托管解决方案以后需要处理的复杂度。可以看到用户几乎只须专注于业务的开发,无须再关心其他问题。


MSE+SAE 的微服务全托管解决方案具有以下几个特性:


1.微服务治理增强。

image.png

MSE+SAE 的前提下 SAE 平台直接提供了 agent 注入到用户的应用中,用户无需去感知 agent 存在,jar 包可以直接部署到 ACE 平台,实现 0 升级成本。借助 agent 能够实现以下能力,包括无损发布、离群摘除、服务测试、限流降级、故障注入等。


2.前后端全链路灰度

image.png

在微服务场景下,全链路灰度是比较典型的诉求,流量从浏览器打到用户的微服务网关,再打到消费者,最后打到提供者。在提供了 agent 的背景下, SAE 可以基于用户 ID 或其他cookie 来达到指定灰度路由的效果。


3.CloudToolkit 端云调用

image.png

在微服务场景下,开发者可能有 10-20 个应用,如果需要在本地开发,将这些应用全量启动,是难以实现的工程。而 MSE+SAE 借助于阿里云 CloudToolkit 的能力,达到了本地和云上环境微服务联调的效果,本地只需启动统一的 consumer provider ,即可直接和云上环境进行互通,流量直接转到本地,达到了最大化简化微服务开发的效果。


4.强大的应用监控&诊断

image.png

包括 Metrics 、Tracing Logging 

image.png

那么,从原先的平台迁移到MSE+SAE 平台,是否需要修改整体架构?

MSE+SAE作为弹性资源池降本,流量从外部的负载均衡或用户的 Nginx 进入。用户如果原先采用了 ECS 则在常态化的流量下依旧可以继续打到 ECS 弹性流量可以打到 SAE。 适用于弹性时间极短或峰值流量和常态流量差异较小、或想从 ECS 迁移到 SAE 过渡方案的用户。

 

相关文章
|
5月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
648 30
|
6月前
|
运维 Kubernetes 测试技术
应用多、交付快,研发运维怎么管?看云效+SAE 如何一站式破局
通过在云效中创建 SAE 服务连接并关联集群,团队可将应用环境直接部署到 SAE,实现从代码提交、镜像构建到 SAE 部署的自动化流水线。该集成打通了研发与运维的壁垒,特别适用于应用数量多、团队规模大、交付节奏快的组织,助力企业实现敏捷、可靠的持续交付。
|
11月前
|
Kubernetes 数据可视化 Java
SAE 实现应用发布全过程可观测
本文聚焦阿里云Serverless应用引擎(SAE)用户在发布过程中的痛点,如“发布效率低、实例启动过程不透明”等问题。通过分步骤可视化解决方案,帮助用户明确问题、理解原因并最终解决,提升SAE平台使用体验。文章详细剖析了发布过程慢、信息透出不足及实例启动黑盒等痛点,并提出通过可观测、可解释和可优化的策略解决问题,同时展示了具体实现效果与后续优化规划。
614 68
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
335 2
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
895 3
|
数据库 开发者 微服务
微服务架构下的数据一致性挑战与解决方案
在当今的软件开发领域,微服务架构因其灵活性和可扩展性而受到广泛青睐。然而,这种架构风格也带来了数据一致性的复杂问题。本文将深入探讨微服务环境中数据一致性面临的挑战,并提出一系列解决策略。我们将以实际案例分析如何应用这些策略,并讨论它们在不同场景下的利弊。文章旨在为后端开发者提供一套实用工具和方法,帮助他们在设计和实现微服务时确保数据一致性。
463 26
|
Java Nacos Sentinel
Spring Cloud Alibaba:一站式微服务解决方案
Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。
2931 13
Spring Cloud Alibaba:一站式微服务解决方案
|
人工智能 安全 Java
微服务引擎 MSE:打造通用的企业级微服务架构
微服务引擎MSE致力于打造通用的企业级微服务架构,涵盖四大核心内容:微服务技术趋势与挑战、MSE应对方案、拥抱开源及最佳实践。MSE通过流量入口、内部流量管理、服务治理等模块,提供高可用、跨语言支持和性能优化。此外,MSE坚持开放,推动云原生与AI融合,助力企业实现无缝迁移和高效运维。
632 1
|
运维 监控 Java
为何内存不够用?微服务改造启动多个Spring Boot的陷阱与解决方案
本文记录并复盘了生产环境中Spring Boot应用内存占用过高的问题及解决过程。系统上线初期运行正常,但随着业务量上升,多个Spring Boot应用共占用了64G内存中的大部分,导致应用假死。通过jps和jmap工具排查发现,原因是运维人员未设置JVM参数,导致默认配置下每个应用占用近12G内存。最终通过调整JVM参数、优化堆内存大小等措施解决了问题。建议在生产环境中合理设置JVM参数,避免资源浪费和性能问题。
1122 3
|
运维 负载均衡 Serverless
Serverless 应用引擎使用问题之如何将应用部署到多个实例中,并利用SLB来分发请求负载
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

相关产品

  • 微服务引擎