51CTO首页
AI.x社区
博客
学堂
精品班
直播训练营
企业培训
鸿蒙开发者社区
WOT技术大会
AIGC创新中国行
IT证书
公众号矩阵
移动端

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?

fatherlaw
发布于 2022-9-21 10:42
浏览
0收藏

Hello 大家好,我是阿粉,在了解什么是 Serveless 架构之前,我们先看下传统的项目发布和部署的流程是什么样子的。

物理机

最初的时候每个公司如果想发布自己的应用,则需要建设自己的机房,然后购买服务器主机,组装路由器交换机和网络,网络通了过后还要安装 ​​Linux​​​ 系统以及安装各种软件,最后将开发完成的 ​​Java​​​ 项目打包放到 ​​Tomact​​​ 容器里面或者以 Jar 包的形式运行起来对外服务。这个过程好一点的公司是通过 ​​Jenkins​​​ 等 ​​CICD​​ 的方式来完成的,但是更有很多公司是通过人工手动拷贝的方式来进行的。这种方式很容易出错,而且也不方便回滚,更无法应对高峰期的缩扩容。每次升级部署的时候都是一个很艰巨的任务,如果说业务初期这种方式还是可以的,不需要多大的成本,但是当我们的业务发展到一定程度的时候,需要开发的部署的服务越来越多的时候就不行了。

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区

简单的形式如上图所示,在自建机房的时候还是要考虑很多细节问题的,比如机房温度往往都较高所以要安装空调;然后如何保证机房长期不断电,毕竟机房如果断电服务将不可用。

云主机

物理机的机房建设对于很多公司来说不会考虑,因为并没有相应的能力去建设。所以很多公司往往采用的是购买云主机的方式来部署服务,云主机的方式与物理机的区别就是不用自己去搭建机房,不用考虑机房的建设和机器的维护,这些都是云厂商负责。国内知名的云厂商有阿里云,腾讯云,华为云等。根据自己服务的要求我们可以选择购买对应配置的云主机,自有选择内存和硬盘以及带宽等配置。

虽然说云主机解决了我们不用建设机房的问题,但是在整个过程中我们依然需要关注服务器的状态,内存是不是不够了,磁盘是不是不够了,高峰期的时候需要及时购买服务器去扩容,低峰期的时候又不能立马退掉机器,对于我们开发或者运维的同学来说还是要对服务器进行管理。

对于很多公司来说目前的服务部署都是基于云主机的,通过购买云主机自建各种组件的集群用于支持自己的服务器,这无疑更加增加了对服务器的维护成本以及人力成本。

Serveless 架构

既然上面的架构都有缺点,那有没有一种方式可以免去开发同学和运维同学的一些烦恼呢?答案是肯定的,随着云原生开发模型的诞生 ​​Serveless​​ 架构被大家广泛提出。

Serveless 无服务器架构是一种云原生开发模型,可使开发人员专注构建和运行应用,而无需管理服务器。

​Serveless​​ 架构中文是无服务器架构 ,是一种基于云原生的开发模型,虽然说的是无服务器但是并不代表不需要服务器,只是表示的是开发人员不需要关注服务器,只需要关注应用的构建即可。对于服务器可以做到透明,整个服务器的管理和维护完全由云厂商来负责,开发人员只需要将自己的应用打包到容器中即可对外提供服务。

同时在收费的方面也有了很大的变化,不管是上面自己搭建机房亦或是购买云主机,在服务不使用的时候依然会产生相应的费用,但是,基于云原生的 ​​Serveless​​ 方式,只有在服务被使用的时候才会产生计费,无请求的时候是不会产生任何费用的。另外对于服务的扩容和缩容由于是基于云原生的容器部署的,所以可以做到即时动态扩容和缩容来适配流量的峰值情况。

​Serveless​​ 架构还有以下优点

  1. 降低运营和开发成本;
  2. 自动扩缩容;
  3. 更简单的架构和高效的性能;

​Serveless​​​ 架构的产品通常分为两类,分别是 ​​BaaS​​​ 后端即服务,另一种是 ​​Faas​​​ 功能即服务。​​BaaS​​​可以让开发人员访问各种第三方服务和应用,可以使用很多云厂商提供的服务,包括认证,加密,数据库等;不过我们经常提到的 ​​Serveless​​​ 通常指的是 ​​FaaS​​​。​​FaaS​​ 模型下我们通常还是正常的编写业务逻辑,只不过是可以完全运行在云厂商提供的容器里面。

FaaS 功能即服务

​FaaS​​ 是一种事件驱动计算模型,开发人员正常的编写业务逻辑,部署到云厂商的容器中,然后按需执行。容器是由云厂商提供的,无状态的,并且能随停随启的基于事件驱动的,在需要的时候自动运行。

对于我们开发人员来说,实现了 ​​Serveless​​​ 架构过后,我们的整个架构就变了,以一个简单的 ​​web​​ 应用为例,在我们以前的架构简化成下面这边样子

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区

但是当我们切换到 ​​Serveless​​ 架构的时候,整个架构就变成了下面这个样子

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区


可以看到整个架构已经处于服务器不可见的状态了,对于开发人员不需要关心具体的服务器了,只需要关注自己的业务逻辑就行,统一的接入,安全,认证和调度都交给了云厂商。

前面讲的都是原理部分,下面通过实践阿粉带大家一起看下 ​​Serveless​​​ 应用要怎么玩,我们通过腾讯云来演示 ​​Serveless​​ 的玩法。

实现 Serveless 架构的 Hello World

首先我们打开腾讯云,找到 ​​Serveless​​ 下面的云函数,点击进去过后会提示让我们进行授权,直接点击前往授权,并且同意就好了,如下图。

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区


前往授权

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区


直接同意就好了

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区


授权完成过后,我们新建应用,通过自定义创建,当然也可以选择模板创建,阿粉这边就自定义创建了,直接点击完成就好,一个基于 ​​Python​​ 的云函数就创建好了。

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区


前面提到 ​​FaaS​​​ 是基于事件的,所以我们需要创建触发,这里我们创建一个基于 ​​API​​ 的触发方式,创建完成过后系统会生成一个地址,复制这个地址,当浏览器去执行就好了。

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区


作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区


执行完成过后,我们看下日志查询,会看到有相应的日志输出了,这是默认的代码输出的,我们可以把 ​​Python​​​ 脚本调整下,直接输出 ​​Hello world​​,如下图,调整完成过来点击部署,再次访问原先的地址就可以了。

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区

结果如下:

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区

作为 Java 开发程序员,你知道什么是 Serveless 架构吗?-鸿蒙开发者社区

总结

阿粉今天给大家介绍了什么 ​​Serveless​​,以及通过腾讯云带大家实践了一下云函数的创建,更多的玩法大家可以自行解锁。

分类
其他
标签
Java
已于2022-9-21 10:42:24修改
收藏
回复
举报
回复
    相关推荐
    • Java 程序员月薪三万,需要技术达到什么水平?
      lingyuli • 5736浏览 • 0回复
    • 什么Java、Python会成为程序员最害怕的编程语言?
      卫斯理 • 1.1w浏览 • 0回复
    • 程序员技术选型:写Go还是Java
      桃太郎 • 9583浏览 • 0回复
    • 《鸿蒙夜话》第十三期——"低代码开发"会抢走程序员的饭碗
      鸿蒙开发者社区官方账号 • 2.0w浏览 • 64回复
    • Java后端程序员,想学习鸿蒙开发
      冯小牛 • 7761浏览 • 3回复
    • 《鸿蒙夜话》第十七期——听说过程序员圈“女装大佬”的文化
      鸿蒙开发者社区官方账号 • 2.6w浏览 • 69回复
    • #轻聊# 程序员们,是否喜欢“新生代农民工”这个称号?
      鸿蒙活动小助手 • 1.2w浏览 • 20回复
    • 【1024程序员节】为什么有些程序员下班比你早?
      ThingJS数字孪生引擎 • 1.1w浏览 • 0回复
    • 程序员嘉年华”《Hi3861驱动开发入门》直播答疑帖
      软通动力HOS • 9538浏览 • 1回复
    • 作为后端程序员 Linux 应该掌握到什么程度?
      fatherlaw • 2755浏览 • 0回复
    • 【有奖投票】程序员的国庆假期?
      鸿蒙活动小助手 • 7909浏览 • 70回复
    • ArkUI框架,更懂程序员的UI信息语法
      HarmonyOS开发者 • 6988浏览 • 5回复
    • 知道什么 SpringBoot 的 Web 类型推断
      skyyoung • 2124浏览 • 0回复
    • 知道什么 @Component 注解的派生性
      lzhlzh263 • 2267浏览 • 0回复
    • 在央企做程序员什么体验?
      rcshi • 2308浏览 • 0回复
    • 作为程序员,我们不能只管上线,不管线上!
      WilliamGates • 886浏览 • 0回复
    • 程序员真的热爱编程
      joytrian • 634浏览 • 0回复
    • 国内 600 万的程序员,其中 Java 程序员就超过了 200 万,如何看待这一情况?Java 还有未来
      xbkong • 736浏览 • 0回复
    • 作为一个老程序员,想对新人说什么
      pivoteic • 713浏览 • 0回复
    fatherlaw
    这个用户很懒,还没有个人简介
    帖子
    视频
    声望
    粉丝
    最近发布
    • 一套过滤器,让你的代码高处不胜寒! 2022-09-21 10:43:46发布
    • 对比授权机制,你更想用哪种? 2022-09-21 10:43:35发布
    热门推荐
    鸿蒙认证 | 免费学免费考 5回复
    高大尚诶 ~ come on!用命令行方式在Gitee协作比赛项目 4回复
    Deveco studio 无法真机debug 2回复
    利用OpenHarmon 轻量系统 实现 检测驾驶员是否佩戴安全带 1回复
    OpenHarmony系统应用之输入法预上屏使用介绍 1回复
    相关问题
    写文章对程序员很重要吗? 16回答
    oceanbase是spanner架构吗? 1回答
    为什么选用Ts/ArkTS作为开发语言 ,而不是java? 1回答
    传统行业.net程序员,如何自学像微服务,docker,redis,rabbitmq,ddd等技术栈以及思想? 1回答
    如何创建Toast窗口,你知道吗? 1回答
    社区精华内容

    目录

      深圳SEO优化公司自贡网站优化按天计费哪家好文山网站优化按天计费公司包头营销网站报价朔州网站制作多少钱白城关键词排名包年推广推荐淮北模板推广多少钱南山网站搭建贵港网站改版公司永湖网站开发报价宿迁网站建设设计多少钱怀化网站建设报价爱联百度竞价价格思茅百度标王三明网络推广推荐衡水外贸网站设计佛山至尊标王报价丽水网站推广系统推荐东莞外贸网站设计价格上海阿里店铺运营哪家好上饶seo排名推荐绍兴网站制作设计哪家好北京SEO按天收费哪家好荆州网站seo优化报价晋城建设网站报价同乐网站seo优化深圳阿里店铺运营阜新网站seo优化滁州阿里店铺托管公司池州百度爱采购济南网站建设多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

      深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化