你真的会在函数计算FC上部署springboot云上博客吗

简介: Serverless中文名称为无服务器模式的一种云原生开发模型,可以让程序员专注于构建整个应用逻辑和运行程序,而不需要进行服务器的操心。这一部分可以理解成这样,程序员减少了不必要的工作,然后将服务器外包给各个云开发商,比如说我们现在用的众多云(阿里云微软云、亚马逊和Google云服务等)开发人员可以通过将产品开发的打包到容器当中然后进行部署即可。

Serverless中文名称为无服务器模式的一种云原生开发模型,可以让程序员专注于构建整个应用逻辑和运行程序,而不需要进行服务器的操心。这一部分可以理解成这样,程序员减少了不必要的工作,然后将服务器外包给各个云开发商,比如说我们现在用的众多云(阿里云微软云、亚马逊和Google云服务等)开发人员可以通过将产品开发的打包到容器当中然后进行部署即可。

无服务器框架的特点有点像是节能电梯,用的时候启动,不用的时候就休息,也就是通过这种流量的方式进行计费。值得一提的这种外包的无框架服务,涵盖了负载平衡、安全补丁、容量管理、扩展、日志和监控等任务。我们现在大多采用的是功能即服务的一种驱动计算模式,所有的东西只需要程序员将编写逻辑,部署到云平台管理的容器中然后按需执行,这部分最大的特点就是让客户(程序员)有更大的权限实现应用的自定义。

阿里云函数计算是什么?

很多人看到这个问题时,尤其是一些新人,对他们来说都是大问题。函数计算是事件驱动的全托管计算服务。这里和传统最大的区别之一就是不需要任何基础设施,只需要一个可以上网的笔记本,不需要复杂昂贵的本地设备客户端设备。我们可以直接将本地编写的代码上传到云端,通过函数计算可以快速使用阿里云服务完成应用场景的快速搭建。

流程:

整个工作流程基本上是通过开发者将编写的应用按照桉树计算支持的开发语言,通过函数控制台或者Serverless Devs上传,通过事件触发和函数计算调用API进行出发。在此过程执行期间,函数计算根据用户的需求,进行自动扩容,整个过程公开透明。

创建服务的整个流程:

现在有体验活动,我们可以免费体验整个流程,整个的规格达到了40GB/秒,大家如果感兴趣可以去阿里云社区进行体验。链接的话放在这里:

https://developer.aliyun.com/topic/serverless2022

进入这个界面点击免费开通实现千万产品免费订购即可

创建服务的整个流程其实比较简单,主要通过5个步骤即可完成,具体的操作步骤如下:

1.打开后台的函数计算FC点击左侧任务栏中的服务即函数或者创建服务

2.点击创建服务

我们可以根据名称和描述正常填写内容来创建服务内容。值得注意的是,当您选择打开日志功能和链路跟踪功能时,这里的一切都将被获取和收集。在高级选项中,我们可以选择服务角色,默认状态是阿里云服务RAM角色role收集你的资源。因为是首个应用,所有一切都没有开通,所以会提示日志服务还没有开通,我们立即开通即可。

这里的日志服务可以通过以下链接进行查看:

https://sls.console.aliyun.com/lognext/profile

然后我们在进一步及逆行函数计算FC创建过程中,需要我们再次授权,就可完成一个服务的创建

在应用创建中我们可以进行选择其中的一个进行创建:

在创建应用中我们需要进行文件管理的权限开通:NAS文件系统(阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。兼容POSIX 文件接口,可支持数千台计算节点共享访问,可以挂载到弹性计算ECS、神龙裸金属、容器服务ACK、弹性容器ECI、批量计算BCS、高性能计算EHPC,AI训练PAI等计算业务上提供高性能的共享存储,用户无需修改应用程序,即可无缝迁移业务系统上云。)

同样每一个应用在创建的过程中的时候就会有不同的而角色快捷创建,这是提供的模板和场景的情况下

接下来是应用程序的创建,我直接通过GitHub绑定,方便以后的管理

等几秒钟就能完成部署了,非常方便快捷

我们可以通过我们建好的通过域名进行访问,然后我们下载相关的工具可以在本地进行:

我们可以在后台看到我们所创建的一系列函数,可以查看运行环境、调用次数等等。这样一个简单的应用场景就部署好了,后期我们可以通过填充式的代码来完成相应的程序编写。

开发步骤


1.开通函数计算

开通前需要您已注册阿里云账号并完成实名认证,进入函数计算官网函数计算https://fcnext.console.aliyun.com如果您还未开通函数计算,需在函数计算开通页面勾选呢函数计算服务协议之后点击立即开通,开通完成后会自动跳转至函数计算控制台。

2.新建服务

在函数计算控制台点击 "服务及函数" 进入服务列表,在服务列表点击创建服务,填写服务的配置,点击确认即可创建服务,注:开启日志和链路追踪功能可以更方便的进行代码调试、故障分析、数据分析和查看函数内部时间的消耗等(推荐开启,但可能会收取部分费用)。


3.新建函数

在服务列表下点击创建的服务名称进入函数管理页面,点击创建函数,在创建函数页面选择 "使用自定义运行时创建" 填写函数的相关配置,在运行环境中选择Java 17的示例模版函数,配置完成后页面下拉至底部点击创建即可部署一个springboot项目。




4.自定义域名配置

函数创建完成后直接在浏览器中直接打开请求地址,将会以附件的方式下载响应。这是因为 Http 触发器会自动在响应头中添加 Content-Disposition: attachment 字段,我们可以使用自定义域名避免该问题,进入域名管理页面点击添加自定义域名,在路由配置中选择自己创建的服务和函数,配置完成后,就可以在浏览器中输入配置的域名,可以看到页面显示的Hello World!内容,到此一个简单的springboot项目就部署配置完成了。

5.开发

  • 导出代码

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

  • 代码结构

  • pom.xml
<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="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/><!--lookupparentfromrepository--></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>DemoprojectforSpringBoot</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
packagecom.example.demo;
importorg.springframework.boot.SpringApplication;
importorg.springframework.boot.autoconfigure.SpringBootApplication;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.RequestParam;
importorg.springframework.web.bind.annotation.RestController;
@SpringBootApplication@RestControllerpublicclassDemoApplication {
publicstaticvoidmain(String[] args) {
SpringApplication.run(DemoApplication.class, args);
    }
@GetMapping("/")
publicStringhello(@RequestParam(value="name", defaultValue="World") Stringname) {
returnString.format("Hello %s!", name);
    }
}


  • 配置监听端口

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

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
10月前
|
安全 Java 持续交付
如何实现上传jar直接部署成功,这篇文章直接带你上手springboot实现jar包热更新!
本文详细讲解了在Spring Boot应用中实现Jar包热更新的实践方法。通过自定义类加载器(`HotClassLoader`),动态加载和卸载指定目录下的Jar包,结合Spring Bean动态注册机制,使新加载的类能够被Spring容器管理。同时,提供了文件上传接口,方便用户手动触发Jar包更新。文章还强调了安全性、依赖管理和线程安全等注意事项,并给出了测试步骤和总结,帮助开发者高效实现热更新功能,减少服务中断和提升开发效率。
|
5月前
|
人工智能 Serverless API
函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代
函数计算计费方式历经三阶段演进:从按请求计费,到按活跃时长毫秒级计费,再到按实际资源消耗分层计费。背后是资源调度、安全隔离与开发体验的持续优化。尤其在AI时代,低负载减免、会话亲和等技术让计费更贴近真实价值,推动Serverless向“按需使用、按量付费”终极目标迈进。
|
5月前
|
人工智能 Serverless API
函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代
在 AI 时代,函数计算一直坚持走向“让开发者只关心业务逻辑,云厂商自动完成一切资源管理与调度”的愿景,最终让计算像水、电一样随时可得、按实际使用价值付费。
|
10月前
|
人工智能 运维 安全
函数计算支持热门 MCP Server 一键部署
云上托管 MCP 搭建 AI Agent 将成为趋势。函数计算 FC 目前已经支持开源 MCP Server 一键托管,欢迎体验。
1368 113
|
7月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
744 13
|
10月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
600 70
|
7月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
316 0
|
7月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
593 0
|
7月前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
700 0
|
10月前
|
Serverless Python
借助 serverless 将 MCP 服务部署到云端
本文介绍了如何将 MCP 服务通过 SSE 协议部署到云端,避免本地下载和启动的麻烦。首先,使用 Python 实现了一个基于 FastMCP 的网络搜索工具,并通过设置 `transport='sse'` 启用 SSE 协议。接着,编写客户端代码测试服务功能,确保其正常运行。随后,利用阿里云函数计算服务(FC 3.0)以 Serverless 方式部署该服务,包括创建函数、配置环境变量、添加依赖层以及部署代码。最后,提供了客户端测试方法和日志排查技巧,并展示了如何在不同工具(如 Cherry-Studio、Cline 和 Cursor)中配置云端 MCP 服务。
1571 11
借助 serverless 将 MCP 服务部署到云端

热门文章

最新文章