云原生下的微服务实践 | 注册中心管理 & Serverless 编排

简介:

本文整理自阿里云容器平台技术专家冬岛和阿里云高级工程师草谷的直播分享。

微服务注册中心治理的难点

微服务架构的一个核心理念就是让微服务之间解耦,每一个微服务都可以独立的横向扩展,但这也带来了一定的复杂性。

例如,当业务达到一定的规模之后,微服务的数量和单个微服务实例的数就会变的很多,从而导致微服务注册中心需要管理很多服务地址,同时还需要给所有的上下游提供服务注册和服务发现的能力。这无疑增加了微服务注册中心的维护难度。同时,微服务架构对注册中心的性能和稳定性提出了更高的要求,这给注册中心的运维开发人员,带来了不少的挑战。

此外,在服务升级的过程中需要手动的做灰度的迭代。而传统的部署模式存在一个很大的弊端,就是需要提前准备好资源并部署好应用,传统的部署模式不能很好的根据业务的实时请求做自动弹性,那么这部分提前准备的冗余资源就是极大的浪费。

可见,托管一个基于微服务架构的业务需要解决注册中心的问题,还需要解决应用实例弹性和流量管理的问题,最好还能让资源按需使用、按量付费。

针对上面的这些问题,今天我们给大家带来两款云产品:阿里云微服务引擎 MSE 和 阿里云容器服务 Knative。MSE 给您带来稳定可靠的注册中心服务,让您免去运维注册中心的烦恼。Knative 给您带来云原生应用 Serverless 编排的能力,让您的应用可以按需使用、按量付费,节省您的 IaaS 成本。

微服务引擎 MSE

MSE,是 Microservice Engine 的缩写,名字叫微服务引擎,顾名思义,是解决微服务领域问题的一款产品。

微服务引擎地址:
https://www.aliyun.com/product/mse

他是微服务注册中心和配置中心的一个免运维全托管平台,可以提供给用户独享型的实例集群,并且带有丰富的管理页面。

目前,它支持多种主流的微服务引擎,例如 ZooKeeper,Nacos,Eureka,完全兼容开源引擎标准接口。也可以在阿里云官网首页搜索栏中搜索关键字 MSE,也可进入产品介绍页。

MSE 主要应用在以下 3 个场景:

  • 作为微服务的注册中心,提供微服务应用的服务注册和发现功能。这个是微服务引擎应用最广泛的场景,也是大家最为熟悉的场景;
  • 为分布式应用提供一个中心化的配置管理功能。比如将应用的 DB 链接信息存储在配置中心里;
  • 为分布式应用中提供一致性协调的功能。例如基于 MSE 完成一个分布式锁。

1

Knative (云原生的应用 Serverless 编排引擎)

Knative 是一款基于 Kubernetes 的应用 Serverless 编排引擎。Knative 一个很重要的目标就是制定云原生、跨平台的应用 Serverless 编排标准。Knative 是通过整合容器构建(或者函数)、工作负载管理(弹性)以及事件模型这三者来实现的这一应用 Serverless 标准。Knative 社区的主要贡献者有 Google、Pivotal、IBM、Red Hat。可见其阵容强大。阿里云容器服务已经提供了 Knative 能力,可以到这里查看文档获取帮助信息。

2

Knative Serving 核心能力就是其简洁、高效的应用托管服务,这也是其支撑 Serverless 能力的基础。Knative 提供的应用托管服务可以大大降低直接操作 Kubernetes 资源的复杂度和风险,提升应用的迭代和服务交付效率。当然作为 Severlesss Framework 就离不开按需分配资源的能力,阿里云容器服务 Knative 可以根据您应用的请求量在高峰时期自动扩容实例数,当请求量减少以后自动缩容实例数,可以非常自动化的帮助您节省成本。

Serving 还提供了强大的流量管理能力和灵活的灰度发布能力。流量管理能力可以根据百分比切分流量,灰度发布能力可以根据流量百分比进行灰度,同时灰度发布能力还能通过自定义 tag 的方式进行上线前的测试,非常便于和自己的 CICD 系统集成。

MSE + Knative 实操演练

这部分请请大家尽量看视频,直接感受 Knative 对应用 Serverless 编排的效果。

knative-mse-实操演练,详情请点击这里

小结

MSE 作为一款云产品可以给您提供稳定、可靠的注册中心服务。相对于您自建注册中心而言,MSE 有专业的人员帮助您管理集群,并且可以做到费用比您自建集群使用的 ECS 要低。与此同时还提供了丰富的运维、监控能力,是您注册中心上云的最佳选择。

Knative 作为最流行的云原生应用 Severlesss 编排引擎,其中一个核心能力就是其简洁、高效的应用托管服务(MicroPaaS),这也是其支撑应用 Serverless 能力的基础。Knative 提供的应用托管服务(MicroPaaS) 可以大大降低直接操作 Kubernetes 资源的复杂度和风险,提升应用的迭代和服务交付效率。当然作为应用 Severlesss 编排引擎就离不开按需分配资源的能力,阿里云容器服务 Knative 可以根据您应用的请求量在高峰时期自动扩容实例数,当请求量减少以后自动缩容实例数,可以非常自动化的帮助您节省成本。

希望 MSE + Knative 能在微服务上云过程中帮您减少成本、提升效率。



福利放送

《Knative 云原生应用开发指南》电子书下载地址,点击传送门

欢迎加入 Knative 交流群:

作者信息:

冬岛,阿里云容器平台技术专家,2014年 深度参与了阿里巴巴全面容器化、连续多年支持双十一容器化链路。专注于容器、Kubernetes、Service Mesh 和 Serverless 等云原生领域。致力于构建新一代 Serverless 平台。当前主导阿里云容器服务 Knative 相关工作。

草谷,阿里云高级工程师,目前负责阿里集团内软负载分布式组件TaoKeeper,商业化产品MSE,分布式服务注册中心及高可用架构领域的相关工作。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
4月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1922 10
|
9月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
513 12
|
11月前
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
782 17
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
265 32
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
11月前
|
监控 Cloud Native Java
基于阿里云容器服务(ACK)的微服务架构设计与实践
本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。
|
算法 NoSQL Java
微服务架构下的接口限流策略与实践#### 一、
本文旨在探讨微服务架构下,面对高并发请求时如何有效实施接口限流策略,以保障系统稳定性和服务质量。不同于传统的摘要概述,本文将从实际应用场景出发,深入剖析几种主流的限流算法(如令牌桶、漏桶及固定窗口计数器等),通过对比分析它们的优缺点,并结合具体案例,展示如何在Spring Cloud Gateway中集成自定义限流方案,实现动态限流规则调整,为读者提供一套可落地的实践指南。 #### 二、
396 3
|
消息中间件 运维 API
后端开发中的微服务架构实践####
本文深入探讨了微服务架构在后端开发中的应用,从其定义、优势到实际案例分析,全面解析了如何有效实施微服务以提升系统的可维护性、扩展性和灵活性。不同于传统摘要的概述性质,本摘要旨在激发读者对微服务架构深度探索的兴趣,通过提出问题而非直接给出答案的方式,引导读者深入
242 1
|
Cloud Native API 持续交付
云原生架构下的微服务治理策略与实践####
本文旨在探讨云原生环境下微服务架构的治理策略,通过分析当前面临的挑战,提出一系列实用的解决方案。我们将深入讨论如何利用容器化、服务网格(Service Mesh)等先进技术手段,提升微服务系统的可管理性、可扩展性和容错能力。此外,还将分享一些来自一线项目的经验教训,帮助读者更好地理解和应用这些理论到实际工作中去。 ####
237 0

相关产品

  • 函数计算