Springboot 之基于 Serverless 的订单应用

前言

这是一个 JAVA 开发的订单后台应用(没错!就是那个让无数大学生痛不欲生的订单后台系统),结合 Serverless 这一无服务器思想,尝试通过云函数 + API 网关 + 云数据库的组合来部署 Springboot 的成功之作。

```` 本文作者:Freeeeeedom


该应用提供了完整的用户登录验证、接口数据验证、订单流 (CRUD) 等强大的功能,而且在本地开发调试时也能模拟 API 网关调用云函数(本地 Java 开发云端部署不是问题),还兼容了云消息队列 CMQ 的调用,以便后续开发引入云中间件。

同时,这种部署方式也能让其他的 Springboot 很快地转换为云函数部署。

为响应国家「十四五计划」的环保计划,特地的研究了一下传说中的 **Serverless** 方案(省服务器 😄),于是便有了这次尝试。

## 语言和框架

- JAVA 天下第一**,当然 c/c++/c#/node/python/go/php/vb 这些也不错
- JAVA 的单体应用还能选什么呢?只能是 Springboot 啊

## 部署准备

1. 注册个腾讯云账号
2. 开通以下产品权限(云函数、API 网关、对象存储)
3. 财力允许的话还可以购买数据库服务(因为年少轻狂打折时我购买了这俩很长很长时间)

- mysql数据库
- redis数据库

![](https://img-blog.csdnimg.cn/20201123113916255.png)

## 部署方案

订单应用来说的话,必然是提供 restful 的接口,所以在统一 VPC 内采用了云函数 + API 网关的模式提供接口,于是就有了以下方案:

1. 应用主体部署在云函数
2. 使用 API 网关作为函数入口
3. 页面则是使用了对象存储部署
4. 数据库方面则使用了同一 vpc 下的云数据库(财力有限只尝试了 mysql、redis,理论上其他应该都可行)

## 尝试部署

要让 JAVA 工程部署到云函数上,首先了解什么是云函数(以下摘自微信开放文档)

云函数即在云端(服务器端)运行的函数。在物理设计上,一个云函数可由多个文件组成,占用一定量的 CPU 内存等计算资源;各云函数完全独立;可分别部署在不同的地区。开发者无需购买、搭建服务器,只需编写函数代码并部署到云端即可在小程序端调用,同时云函数之间也可互相调用。


云函数其实就是将业务拆分成函数粒度部署在云上,那么就写了个简单的 demo 部署到云函数上,并且配
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值