当前位置: 首页 > 网络应用技术

春季启动无服务器实际战斗系列“体系结构章节”开始|速度输入功能计算

时间:2023-03-05 22:37:11 网络应用技术

  简介:如何在无服务器中运行Spring Boot应用程序?

  作者|Xiliu(阿里巴巴云功能专家)

  Spring Boot是基于Java Spring框架的套件。它被预装了一系列春季组件。开发人员可以创建可以创建独立操作的独立操作。

  在Cloud Native系统中,大量平台可以运行Spring Boot应用程序,例如虚拟机,容器等。但是最有吸引力的是在无服务器中运行Spring Boot应用程序。我将分析的优势和缺点Springboot应用程序通过五个章节,例如Spring Boot无服务器,来自体系结构,部署,监视,性能和安全性。

  为了使分析更具代表性,我选择了e -Commerce应用购物中心,其中包括Github上的许多星星,这是本系列文章的第一篇文章。本文从体系结构的角度分析了Spring Boot应用程序的无服务器化。

  购物中心是一组电子商务系统,包括基于Spring Boot + Mybatis的前端购物中心系统和背景管理系统。前台购物中心系统包括主页门户网站,产品推荐,产品搜索,产品搜索,产品显示,,购物车,订单流程,会员中心,客户服务,帮助中心和其他模块。背景管理系统包括商品管理,订单管理,会员管理,促销管理,操作管理,内容管理,统计声明,财务管理,财务管理,权威管理,设置和其他模块。

  购物中心的体系结构如下图所示,分为网关层,应用程序层和数据存储层。请求首先通过网关到达Spring Boot应用程序服务。网关实现了负载平衡,流量控制和其他的功能功能。应用层包含3个弹簧启动应用程序和1个前端应用程序:

  购物中心使用各种数据库,例如MySQL,Redis,MongoDB,ElaisticEarch。主要业务数据存储在MySQL中,缓存数据存储在REDIS中,用户行为分析数据存储在MongoDB中,并且搜索数据存储在Elasticsearch.spring.spring.spring.spring.spring.spring.spring中。引导应用服务使用RabbitMQ实现异步通信。

  功能计算是目前唯一被选为Forrester领导者的唯一国内FAA产品。这是由事件驱动的完整 - custard驱动的无服务器计算服务。开发人员不需要管理基础架构,例如服务器。用户上传代码包或容器镜像后,该功能计算将自动准备计算资源并以灵活和可靠的方式运行代码。

  产品计算的优点总结为:

  功能计算提供了全面的观察和问题诊断功能,但其最突出的功能是内置的栅极层容量,可以达到0和快速自动望远镜的收缩。

  这些功能计算得出的这些特征使其适用于诸如Spring Boot之类的Web应用程序。使用功能计算,开发人员只需要专注于Springboot的应用程序逻辑的实现,而不再担心构建,部署和监视操作环境。

  购物中心是一个非常标准的3层架构Web应用程序。将其转换为无服务器体系结构非常容易。架构如下所示。从网关服务的功能计算和应用程序应用程序自动计算,开发人员只需要上传应用程序代码即可。

  该应用程序实例在功能计算平台上运行,可以自由访问其他服务。因此,它与MySQL,Redis,RabbitMQ和其他服务等服务的访问方法相同。

  该函数计算已构建 - 在日志集合和显示功能中。开发人员计算函数计算的阿里巴巴云日志服务的日志存储。用于标准输出的日志将自动收集日志服务查询和显示。开发人员还可以将日志提交到其日志处理系统中,但是他们需要进行一些其他配置。在此示例中(请参阅Alibaba的末尾云日志服务网站),我们将使用阿里巴巴云日志服务来处理应用程序日志。

  功能计算还提供了一系列工具来帮助开发人员通过Jenkins CICD工具发布应用程序。我们将在后续文章中进一步显示。

  在Alibaba Cloud函数计算平台上演示Web应用程序之前,我将介绍以下概念:

  1.服务

  由对应于Micro -Service的函数计算得出的服务资源,可以创建多个功能。这些功能共享服务级配置,包括日志,权限,VPC网络访问配置等。从总体上讲,开发人员根据业务场景设计微服务架构,以创建每个微服务的服务。为了满足需求。例如,某些逻辑被计算出密度类型,可以将其分为另一个函数。它配置了不同的实例规范以满足性能要求并优化成本。根据微服务的概念,服务下的功能数量不应太多。

  2.功能

  函数是运行开发人员代码的基本单元。函数的粒径可能非常好。例如,相应的1个API也可以更厚,对应于一组API。不同的功能配置不同的实例规范。当功能计算提供多种语言时,它还提供自定义运行时/自定义容器和语言。如果您只是您使用功能来计算片段代码,您可以使用相关语言运行。在我们的情况下,由于无缝迁移Springboot应用程序,我们将选择自定义容器来运行。购物中心项目支持购物中心的自动包装作为容器图像,因此只需要将图像上传到阿里巴巴云容器镜仓库并指定有关该功能的相关信息。

  3. HTTP触发器

  在配置了该功能的HTTP触发器后,可以通过HTTP请求调用该函数。匹配的无服务器开发器工具的功能计算将为HTTP触发器生成测试域名。开发人员可以轻松调试和运行Web应用程序。

  本文是阿里巴巴云的原始内容。