关于阿里云:为什么我要迁移-SpringBoot-到函数计算

3次阅读

共计 2192 个字符,预计需要花费 6 分钟才能阅读完成。

作者:榴莲

为什么要迁徙?

咱们的业务有很多对外提供服务的 RESTful API,并且要执行很多不同的工作,例如同步连锁 ERP 中的商品信息到美团 / 饿了么等平台,在线开发票等。因为各种 API 和工作执行的不确定性,常常会因为资源有余导致服务不可用,然而自觉的扩容又很烧钱。整个团队每天都陷在不停的扩容,缩容之中 。要害是有时候稍稍慢了一些,就会对业务照成影响,导致被投诉。每天还要被其余业务部门催着做新性能。更难的是,因为咱们没有运维教训, 屡次被黑客把咱们原本就不多的机器用来挖矿。作为一个初创公司的研发团队,咱们的资源少,人手少,教训少,面对稳定性,安全性和业务的压力真的是十分苦楚。

在被前共事安利了函数计算当前,我发现这太有用了!迁徙的过程十分顺滑,迁徙的成果也大大超出了我的预期。上面是我感觉函数计算非常适合咱们的理由:

  • 默认弹性,能够轻松应答大量 API 申请和工作,不会再因为扩容不及时导致资源耗尽引起的业务不可用了!
  • 无流量时反对缩容到 0,省钱神器,再也不必买虚拟机和负载平衡了,对咱们来说降本成果杠杠滴!
  • 免运维,免去了虚拟机的运维老本!
  • 更平安,它不能被 SSH 登陆,而且也不会像虚拟机一样始终开着,等着被人扫描和攻破!
  • 零革新,无需批改代码,之前虚拟机上的 JAR 包间接就能够跑在函数计算上!

迁徙步骤

有三种应用形式,这里我具体讲一下怎么在管制台上操作。

  • 应用函数计算控制台进行迁徙。
  • 应用函数计算提供的 S 工具,通过命令行 + YAML 的形式进行部署,查看详情 1 [ 1]
  • 应用函数计算管制台上的利用核心,从 GitHub 等源代码库中主动构建并部署。CICD/GitOps 间接就有了,太香了!查看文末详情 2 [ 2]

1. 开明函数计算

拜访控制台 [ 3],点击“收费开明”将跳转到开明页面。

2. 创立服务

点击“服务及函数”,“创立服务”,输出“名称”后点击“确定”。

3. 对 JAR 包进行压缩,失去 ZIP 文件

留神!!!这里要对打包好的 JAR 包进行压缩,而后上传 ZIP 包!!!

备注:其实也能够间接上传 JAR 包,然而启动命令要写为 java org.springframework.boot.loader.JarLauncher 我集体不是很喜爱这种写法。我还是喜爱 java -jar gs-rest-service-0.1.0.jar 的写法。

如果你还没有可用的 JAR 包,请参考 SpringBoot 官网疾速开始文档 [ 4] 进行构建。

4. 创立函数

  • 在“函数治理”页面,点击“创立函数”,
  • 抉择“应用自定义运行时平滑迁徙 Web Server
  • 运行环境”抉择您须要的 Java 版本
  • 抉择“通过 ZIP 包上传代码
  • 启动命令”为您在虚拟机上启动 JAR 包的命令,例如:java -jar rest-service-initial-0.0.1-SNAPSHOT.jar.zip
  • 监听端口”为您的 JAVA 程序在虚拟机上监听的端口,例如:8080
  • 申请处理程序类型 ”抉择“ 解决 HTTP 请 求”
  • 点击“创立”

5. 测试函数

在函数详情页面的触发器列表中找到“公网拜访地址”。留神:因为相干规定,不能间接在浏览器中关上这个 URL,须要配置本人的域名能力在浏览器中拜访。

你能够通过 curl 命令进行测试。

你也能够通过函数详情页中的“测试函数”页签间接进行测试。

6. 应用本人的域名拜访函数

  • 点击“首页”,“域名治理”,“创立域名”,“增加自定义域名”
  • 复制页面中的“公网 CNAME”,在云解析 DNS 控制台 [ 6] 上为你的域名增加 CNAME 记录
  • 在路由配置中抉择您刚建好的服务和函数
  • 点击“创立”
  • 实现!当初能够通过本人的域名拜访服务了!

7. 更多进阶文档

配置 NAS 文件系统:

https://help.aliyun.com/docum…

配置 HTTPS:

https://help.aliyun.com/docum…

受权函数拜访其余服务:

https://help.aliyun.com/docum…

拜访 VPC 内的资源:

https://help.aliyun.com/docum…

拜访 RDS 数据库:

https://help.aliyun.com/docum…

拜访 Redis 缓存:

https://help.aliyun.com/docum…

更多疾速入门文档:

https://fcnext.console.aliyun…

迁徙后的成果

面对流量洪峰,咱们再也不会慌手慌脚了,函数计算主动会帮咱们扩容!很好的解决了咱们的 API 场景和不定时执行各种不同工作的场景。对咱们这种不懂 Docker,不懂 Kubernetes,没有运维人员,虚拟机扩容缩容对咱们来说都很难的小团队来说真是一大福利。同时,咱们再也不必买虚拟机和负载平衡了!缩容到 0 和按量付费的形式也极大的升高了咱们的老本!还有,咱们再也没有被黑客攻破,用咱们的钱来挖矿了!整体来说就两个字!真香!

参考链接:

[1] 详情 1:

https://github.com/devsapp/st…

[2] 详情 2:

https://fcnext.console.aliyun…

[3] 控制台:

https://fcnext.console.aliyun…

[4] SpringBoot 官网疾速开始文档:

https://spring.io/guides/gs/r…

[5] 云解析 DNS 控制台

https://dns.console.aliyun.com/

正文完
 0