什么是函数计算
Cloud Native
阿里云函数计算 FC 是事件驱动的全托管计算服务。 使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。 函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能,借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。
开发步骤
Cloud Native
开通函数计算
开通前需要您已注册阿里云账号并完成实名认证,进入函数计算官网函数计算:
https://fcnext.console.aliyun...
如果您还未开通函数计算,需在函数计算开通页面勾选函数计算服务协议之后点击 “立即开通”,开通完成后会自动跳转至函数计算控制台。
新建服务
在函数计算控制台点击 “服务及函数” 进入服务列表,在服务列表点击创建服务,填写服务的配置,点击 “确认” 即可创建服务。
(注:开启日志和链路追踪功能可以更方便的进行代码调试、故障分析、数据分析和查看函数内部时间的消耗等;推荐开启,但可能会收取部分费用)。
新建函数
在服务列表下点击创建的服务名称进入函数管理页面,点击 “创建函数”,在创建函数页面选择 “使用自定义运行时创建” 填写函数的相关配置,在运行环境中选择 Java 17 的示例模版函数。
配置完成后页面下拉至底部点击 “创建” 即可部署一个 springboot 项目。
自定义域名配置
函数创建完成后直接在浏览器中直接打开请求地址,将会以附件的方式下载响应。
这是因为 Http 触发器会自动在响应头中添加 Content-Disposition: attachment 字段,我们可以使用自定义域名避免该问题。
进入域名管理页面点击添加自定义域名,在路由配置中选择自己创建的服务和函数,配置完成后,就可以在浏览器中输入配置的域名,可以看到页面显示的 Hello World! 内容。
到此一个简单的 springboot 项目就部署配置完成了。
开发
Cloud Native
导出代码
继续进行项目开发,我们可以在函数计算控制台,进入到该函数的详情页面,在函数代码页使用在线 IDE 进行开发和调试,也可以在 “导出函数” 这里导出函数的代码,使用自己的代码编辑器进行开发。
代码结构
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
DemoApplication:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
配置监听端口
在 application.properties 配置文件中添加监听端口,这里的配置端口需要和函数配置的监听端口 保持一致:
总结
Cloud Native
本次体验,使 用函数计算部署了一个 springboot 项目,总体来说过程很流畅,只需要在控制台点点就可以生成并部署好一个项目,对于新手来说非常的友好,省去一大堆传统部署项目时的环境搭建,安装依赖等等,可以真正的让我们做到只关心业务逻辑的开发!
欢迎关注我的公众号:敲代码的老贾,回复“领取”赠送《Java面试》资料,阿里,腾讯,字节,美团,饿了么等大厂