• 使用函数计算自定义运行时快速部署一个 SpringBoot 项目 | 文末有礼


    作者: 谱一段风华笔墨

    什么是函数计算

    阿里云函数计算 FC 是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能,借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。

    开发步骤

    开通函数计算

    开通前需要您已注册阿里云账号并完成实名认证,进入函数计算官网函数计算:

    https://fcnext.console.aliyun.com

    如果您还未开通函数计算,需在函数计算开通页面勾选函数计算服务协议之后点击 “立即开通”,开通完成后会自动跳转至函数计算控制台。

    在这里插入图片描述

    新建服务

    在函数计算控制台点击 “服务及函数” 进入服务列表,在服务列表点击创建服务,填写服务的配置,点击 “确认” 即可创建服务。

    (注:开启日志和链路追踪功能可以更方便的进行代码调试、故障分析、数据分析和查看函数内部时间的消耗等;推荐开启,但可能会收取部分费用)。

    在这里插入图片描述

    新建函数

    在服务列表下点击创建的服务名称进入函数管理页面,点击 “创建函数”,在创建函数页面选择 “使用自定义运行时创建” 填写函数的相关配置,在运行环境中选择 Java 17 的示例模版函数。

    配置完成后页面下拉至底部点击 “创建” 即可部署一个 springboot 项目。

    在这里插入图片描述
    在这里插入图片描述

    自定义域名配置

    函数创建完成后直接在浏览器中直接打开请求地址,将会以附件的方式下载响应。

    这是因为 Http 触发器会自动在响应头中添加 Content-Disposition: attachment 字段,我们可以使用自定义域名避免该问题。

    进入域名管理页面点击添加自定义域名,在路由配置中选择自己创建的服务和函数,配置完成后,就可以在浏览器中输入配置的域名,可以看到页面显示的 Hello World! 内容。

    到此一个简单的 springboot 项目就部署配置完成了。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    开发

    导出代码

    继续进行项目开发,我们可以在函数计算控制台,进入到该函数的详情页面,在函数代码页使用在线 IDE 进行开发和调试,也可以在 “导出函数” 这里导出函数的代码,使用自己的代码编辑器进行开发。

    在这里插入图片描述

    代码结构

    在这里插入图片描述

    pom.xml:

    
    
    
        4.0.0
        
            org.springframework.boot
            spring-boot-starter-parent
            2.6.6
             
        
        com.example
        demo
        0.0.1-SNAPSHOT
        demo
        Demo project for Spring Boot
        
            17
        
        
            
                org.springframework.boot
                spring-boot-starter-web
            
    
            
                org.springframework.boot
                spring-boot-starter-test
                test
            
        
    
        
            
                
                    org.springframework.boot
                    spring-boot-maven-plugin
                
            
        
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    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);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    配置监听端口

    在 application.properties 配置文件中添加监听端口,这里的配置端口需要和函数配置的监听端口保持一致:

    在这里插入图片描述
    在这里插入图片描述

    总结

    本次体验,使用函数计算部署了一个 springboot 项目,总体来说过程很流畅,只需要在控制台点点就可以生成并部署好一个项目,对于新手来说非常的友好,省去一大堆传统部署项目时的环境搭建,安装依赖等等,可以真正的让我们做到只关心业务逻辑的开发!

    点击此处,查看产品更多信息~

  • 相关阅读:
    华为OD机考--TVL解码--GPU算力--猴子爬台阶--两个数组前K对最小和--勾股数C++实现
    SpringBoot学习之Redis下载安装启动【Windows版本】(三十六)
    [激光原理与应用-24]:《激光原理与技术》-10- 控制技术-调Q技术、Q开关、Q驱动器
    【无标题】
    为什么我不推荐去SAP培训机构参加培训?
    RCE远程命令执行web经典题型解答
    数据结构和算法之归并排序
    “前端”工匠系列(一):合格的工匠,究竟该搞什么 | 京东云技术团队
    【LeetCode】15. 三数之和
    AWS SAA C003 #33
  • 原文地址:https://blog.csdn.net/alisystemsoftware/article/details/126541748