SAE微服务相关概念和能力

与传统的单体架构相比,微服务架构作为流行的开发架构,在研发效率和可扩展性方面都具备优势。应用采用微服务架构后,虽然解耦了冲突域,提升了迭代和运行效率,但同时也增加了分布式环境的运维难度。Serverless 应用引擎 SAE(Serverless App Engine)作为微服务架构向Serverless化转型的实践,不仅增强了微服务的诸多能力,还降低了学习、调试与运维成本等,为企业微服务转型提供助力。通过本文,您可以了解与SAE微服务相关的概念与能力,以及常见问题的解决方案。

概念和能力索引

一级分类

二级分类

注册中心

使用说明应用配置

配置中心

使用说明应用配置

微服务开发

IDE自动部署端云互联

服务治理

服务列表无损下线无损上线微服务灰度限流降级

应用监控

应用监控

更多信息

微服务FAQ

视频教程

注册中心

使用说明

为了让微服务的应用可以快速部署到SAESAE提供了“Serverless”版的Nacos作为注册中心,适用于使用Nacos1.X和2.X客户端的微服务应用。您可以参见在应用中配置SAE内置Nacos,将您的微服务应用部署到SAESAE注册中心的使用说明如下。

  • 选择SAE内置Nacos后,SAE通过自动注入相关环境变量以及借助于Java Agent修改字节码的技术,支持自动修改程序的注册中心地址。因此,您无需对程序做任何修改即可将其直接部署到SAE

  • 不适用于使用非Nacos注册中心的程序,相关逻辑完全由您的程序控制。

  • 该注册中心适用于快速体验或者小规模生产环境,如果您的微服务应用实例总数超过30个,推荐您使用自建注册中心或者MSE注册中心。

[返回顶部]

应用配置

应用配置如何生效,请参见使用SAE内置Nacos

[返回顶部]

配置中心

使用说明

与注册中心一样,也提供了“Serverless”版的Nacos作为配置中心,适用于使用Nacos1.X和2.X客户端的微服务应用。您可以参见在应用中配置SAE内置Nacos,使用SAE的配置中心。SAE配置中心的使用说明如下。

  • 选择SAE内置Nacos后,SAE通过自动注入相关环境变量以及借助于Java Agent修改字节码的技术,支持自动修改程序的配置中心地址。因此,您无需对程序做任何修改即可将其直接部署到SAE

  • 不适用于使用非Nacos配置中心的程序,相关逻辑完全由您的程序控制。

  • 该配置中心的控制台由阿里云应用配置管理(Application Configuration Management,简称ACM)提供,虽然作为独立产品,它已经进入下线状态,但是在SAE中支持继续使用。建议您直接使用MSE提供的Nacos 2.0配置服务。更多信息,请参见Nacos版本特性

[返回顶部]

应用配置

应用配置如何生效,请参见使用SAE内置Nacos。控制台如何管理配置,请参见分布式配置管理

[返回顶部]

微服务开发

IDE自动部署

相比于每次重新打包部署,IDE一键部署可以大大减少您的部署时间,并提升研发效率。

具体操作,请参见使用Alibaba Cloud Toolkit自动化部署微服务至SAE

[返回顶部]

端云互联

采用微服务架构后,您的应用数会增多。在极端情况下,本地开发联调需要启动所有相关的微服务应用。针对该痛点,您可以借助阿里云Cloud Toolkit插件提供的端云互联能力。例如,让您的本地Consumer直接连接到SAE中部署的Provider,从而无需在本地启动Provider,大大减少开发调试成本。

具体操作,请参见使用Cloud Toolkit实现端云互联(IntelliJ IDEA)

[返回顶部]

服务治理

服务列表

对于使用内置Nacos的应用,SAE提供基础的服务列表查询能力。如果您使用自建注册中心或者MSE注册中心,可以登录对应的控制台查询,无需在SAE控制台查看。

具体操作,请参见查询服务列表

[返回顶部]

无损下线

因为Consumer客户端存在缓存,无法及时收到微服务Provider的下线通知,所以通常需要从注册中心摘除Provider实例,等待Consumer缓存刷新。针对上述情况,SAE借助MSE的无损下线将该功能做了产品化的集成。

关于该功能不适用的场景以及相比较于开源Spring Cloud和开源Dubbo优势的更多信息,请参见配置无损下线

SAE中配置无损下线的具体操作,请参见设置微服务无损下线

[返回顶部]

无损上线

微服务的Provider服务只要注册到注册中心即可被Consumer调用,但此时,Provider可能还需要更进一步的初始化,例如数据库连接池的初始化等。因此,对于流量比较大的微服务应用,推荐您开启无损上线功能。

具体操作,请参见设置微服务无损上线

[返回顶部]

微服务灰度

SAE不仅支持应用生命周期托管,还提供了微服务应用发布态的灰度能力。

具体操作,请参见管理灰度规则(Java)灰度发布微服务

[返回顶部]

限流降级

无论是微服务应用还是单体应用,在面对一些突发流量,例如秒杀场景时,应用可能会突然崩溃。如果是微服务应用,可能还会造成雪崩效应,因此有必要去做一些保护措施。SAE集成阿里云应用高可用服务(Application High Availability Service,简称AHAS),能够方便地配置和管理限流降级规则。

具体操作,请参见限流降级

[返回顶部]

应用监控

微服务架构下,如果没有配套的监控系统,不利于发现问题和诊断问题。SAE集成 应用实时监控服务 ARMS(Application Real-Time Monitoring Service),提供了应用大盘、JVM监控、慢调用监控、调用链分析和告警等能力,尽可能降低企业落地微服务架构的门槛。

更多信息,请参见应用监控

[返回顶部]

更多信息

微服务FAQ