云原生下的微服务实践 | 注册中心管理 & 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 能力](https://cs.console.aliyun.com/#/k8s/knative/component
),可以到这里查看文档获取帮助信息。

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 交流群:

934b9fd9dfc205e6b4a323d2181e3fdf2c10f9ac.jpeg

作者信息:

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

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

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4天前
|
关系型数据库 分布式数据库 数据库
【PolarDB开源】PolarDB与微服务架构的融合:灵活扩展与高效管理
【5月更文挑战第23天】阿里云PolarDB是适用于微服务的高性能分布式数据库,提供数据分片、水平扩展及高可用性解决方案。通过SQL或API实现弹性扩展,内置故障转移保障服务连续性,且兼容MySQL协议,易于集成微服务生态。通过Spring Boot示例展示了PolarDB的配置与集成过程,强调其在现代云原生应用中的重要角色。
15 1
|
2天前
|
Cloud Native 持续交付 云计算
构建未来:云原生架构在现代企业中的应用与实践
【5月更文挑战第25天】 随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云原生技术以其独特的弹性、可扩展性和敏捷性,成为推动企业技术创新的重要力量。本文将深入探讨云原生架构的核心概念,分析其在现代企业中的应用实例,并提出实施策略和最佳实践,以助力企业在激烈的市场竞争中占据先机。
|
2天前
|
存储 Prometheus 运维
【阿里云云原生专栏】云原生下的可观测性:阿里云 ARMS 与 Prometheus 集成实践
【5月更文挑战第25天】阿里云ARMS与Prometheus集成,为云原生环境的可观测性提供强大解决方案。通过集成,二者能提供全面精准的应用监控,统一管理及高效告警,助力运维人员及时应对异常。集成示例代码展示配置方式,但需注意数据准确性、监控规划等问题。这种集成将在云原生时代发挥关键作用,不断进化以优化用户体验,推动业务稳定发展。
12 0
|
4天前
|
缓存 负载均衡 中间件
微服务架构下的服务发现与注册机制
【5月更文挑战第23天】在微服务架构的动态环境中,服务实例可能会频繁地上下线。为了维护系统的高可用性和伸缩性,服务发现与注册机制成为了一个关键因素。本文将探讨服务发现与注册的重要性,分析不同的实现策略,并展示如何利用这些机制来优化后端服务的交互流程。通过深入解析服务发现的多种模式及其对系统设计的影响,我们将提供一个清晰的指导,帮助开发者构建更加健壮和灵活的微服务系统。
|
4天前
|
运维 监控 Cloud Native
云原生架构下的服务网格演进与实践
【5月更文挑战第23天】 随着云计算技术的不断成熟,云原生架构已成为推动企业数字化转型的关键动力。本文将深入探讨服务网格在云原生环境中的重要性,分析其在微服务管理、流量控制和安全性方面的创新应用。通过对服务网格的技术和实践案例的剖析,揭示其如何优化云原生应用的部署、运行和管理,为企业构建更加动态、可靠和高效的分布式系统提供策略指导。
|
5天前
|
安全 Cloud Native 数据安全/隐私保护
【阿里云云原生专栏】云原生安全挑战与对策:阿里云的安全防护实践
【5月更文挑战第22天】随着云原生技术推动企业数字化转型,安全挑战日益凸显:容器安全、微服务安全和数据安全成为关注点。阿里云通过容器安全沙箱、镜像安全扫描服务保障容器安全;使用API网关和RAM强化微服务安全;借助TDE和SSE保护数据安全。通过这些实践,用户可在享受云原生优势的同时确保业务安全。
122 0
|
6天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与实践
【5月更文挑战第21天】 随着数字化转型的加速,企业对于敏捷性、可扩展性和成本效益的需求日益增长。云原生技术以其独特的优势应运而生,成为推动企业IT架构现代化的重要力量。本文将深入探讨云原生架构的核心概念、关键技术以及如何在企业中实施云原生解决方案,以实现真正的弹性、自动化和持续交付。
|
6天前
|
Cloud Native 数据管理 关系型数据库
【阿里云云原生专栏】云原生数据管理:阿里云数据库服务的分布式实践
【5月更文挑战第21天】阿里云数据库服务在云原生时代展现优势,应对分布式数据管理挑战。PolarDB等服务保证高可用和弹性,通过多副本机制和分布式事务确保数据一致性和可靠性。示例代码展示了在阿里云数据库上进行分布式事务操作。此外,丰富的监控工具协助用户管理数据库性能,支持企业的数字化转型和业务增长。
176 1
|
7天前
|
Cloud Native 安全 持续交付
构建未来应用:云原生架构的演进与实践
【5月更文挑战第20天】 在数字化转型的浪潮中,云原生技术以其独特的弹性、可扩展性和敏捷性成为推动企业IT架构现代化的关键力量。本文将深入探讨云原生的核心概念、关键技术以及如何在企业环境中实施云原生架构。我们将从容器化技术的基本原理出发,解析微服务架构的设计原则,并讨论如何通过持续集成和持续部署(CI/CD)实现快速迭代。此外,文章还将涉及如何利用云平台的资源和服务优化云原生应用的性能和安全性。通过对云原生生态的深度剖析,本文旨在为开发者和企业提供一条明晰的路径,以构建和维护在不断变化的市场环境中能够持续创新的应用程序。
14 1
|
7天前
|
运维 Cloud Native Serverless
【阿里云云原生专栏】阿里云云原生实践:从容器化到Serverless的无缝过渡
【5月更文挑战第20天】本文介绍了如何在阿里云上实现从容器化到Serverless的平滑过渡。首先,通过阿里云容器服务(ACK)创建和管理容器集群,部署应用。接着,利用函数计算(FC)构建Serverless架构,编写和部署函数代码。最后,借助函数工作流(Fn)进行任务编排,实现容器化应用与Serverless应用的统一管理,从而提升应用弹性和可扩展性,降低运维成本,支持企业高效数字化转型。
232 3

热门文章

最新文章

相关产品

  • 函数计算