背景

最初, 是因为对 Serverless 这一概念感兴趣, 所以开始试用阿里云函数计算,使用过程中感受到了函数计算快速、按需付费和弹性伸缩等方面的优势,随后我在天气预报、发送短信等场景下开始了更深的体验,并开始接触 EDAS Serverless。

初次尝鲜

  • 看文档
  • 安装,填写服务基本信息,选择规格,支持集群扩容


用户测评 | EDAS Serverless 上手体验_环境变量


  • 支持镜像、War包和Jar包三类部署方式


用户测评 | EDAS Serverless 上手体验_上传_02


  • 提供了启动命令、环境变量、Hosts绑定和应用健康检查等实用的设置


用户测评 | EDAS Serverless 上手体验_环境变量_03


  • 支持实时日志和监控大盘


用户测评 | EDAS Serverless 上手体验_上传_04


  • 可添加私网SLB访问,这点很强大


用户测评 | EDAS Serverless 上手体验_环境变量_05


上手实战

配置完后,我开始把博客迁移过来,EDAS Serverless 中支持Dubbo和原生Spring Cloud之后,我弄了一个简单的架构图:


用户测评 | EDAS Serverless 上手体验_上传_06


项目目录图如下,核心框架是 SpringBoot+MyBatis+Dubbo


用户测评 | EDAS Serverless 上手体验_上传_07


操作步骤如下:

  • 创建了三个命名空间分别为开发、UAT和生产环境


用户测评 | EDAS Serverless 上手体验_上传_08


  • 创建对应 VPC 网络空间


用户测评 | EDAS Serverless 上手体验_环境变量_09


  • 创建应用


用户测评 | EDAS Serverless 上手体验_jar包_10


  • 可以看到我发布的服务和消费的服务


用户测评 | EDAS Serverless 上手体验_上传_11


  • 为了让项目能够给到大家使用,我设置了应用访问, 就是负载均衡SLB


用户测评 | EDAS Serverless 上手体验_jar包_12


为了快速的访问一个web-api直接使用公网SLB访问, 但是降低个人使用成本,我选择了私有SLB地址,那么这时候我的服务该怎么访问呢, 这里选取了阿里云API网关,极速和这个弄到一块,这是我的API:


用户测评 | EDAS Serverless 上手体验_上传_13


  • 在定义API的时候


用户测评 | EDAS Serverless 上手体验_环境变量_14


  • VPC_NAME是环境变量


用户测评 | EDAS Serverless 上手体验_环境变量_15


数据这块因为成本原因,我使用的阿里云的容器服务 ,自建的MySQL、Redis和Nacos。

总结

经过实践,我发现EDAS还有自己的轻量级注册中心特性,连注册中心都省掉了,曾经的手动扩容的时代终结了。当然,我觉得EDAS Serverless 还可以更强大,以下是我的建议:

1、应用的版本管理,应用可以支持应用全生命周期管理包含(失败版本自动回滚, 灰度发布等);

2、和云效的整合,自动化到云端,因为这几天因为频繁上传Jar包耗费了很多时间;

3、应用的链路追踪,应用的配置管理、限流等微服务需要有的功能加进来。

以上 3 条建议已被 EDAS 产品和研发团队采纳。