函数计算搭建 Serverless Web 应用(二)- 自定义域名

简介

阿里云 函数计算(Function Compute) 是事件驱动的全托管计算服务,是阿里云的 Serverless 计算平台。基于函数计算构建应用,您无需管理服务器等基础设施,而是专注于应用逻辑的开发,大幅提高开发效率。

文章 函数计算搭建 Serverless Web 应用(一)- HTTP 触发器 中阐述了 Web 应用(Serverless web backend) 是函数计算很重要的一个使用场景。相比于传统的在服务器上搭建 web 应用,函数计算无需您管理服务器等基础设施,只需编写代码并上传,函数计算会为您准备好计算资源,以 弹性、 可靠 的方式运行您的代码,实现毫秒级别弹性伸缩,轻松应对峰值压力。

HTTP 触发器为用户提供一个形如 <account_id>.<region>.fc.aliyuncs.com/<version>/proxy/<serviceName>/<functionName>/[action?queries] 的默认的 endpoint,但是用户希望可以通过自定义域名对外提供服务,原有的 Web 应用可以通过自定义域名进行访问,迁移到函数计算后,只能通过默认 endpoint 访问,实在强人所难。

因此函数计算在 HTTP 触发器后推出自定义域名的功能。

自定义域名

绑定自定义域名可以允许用户通过自定义域名访问 FC 的函数,配合 HTTP 触发器使用,为使用函数计算搭建 Web 应用提供便利。

您可以在函数计算上绑定自定义域名,并设置不同路径到不同服务的不同函数,然后就可以通过自定义域名访问不同的函数了,您的 HTTP Request 会原封不动地传递给函数,FC 不会对您的 HTTP Request 进行任何处理。

例如,您拥有一个域名为 api.app.com 的网站,从成本和弹性扩容角度考虑,您希望将 Web 服务迁移至函数计算,并且不影响外部服务,也就是对外提供服务的链接不变,那么您可以为您的应用绑定自定义域名。

 

流程对比:

流程自定义域名绑定前自定义域名绑定后
部署阶段1.编写应用代码并部署到用户服务器
2.为域名备案 
3.设置 DNS 解析到用户服务器 IP
4.利用 web 框架设置路径和服务的对应关系
1.在函数计算为应用编写函数并设置 HTTP 触发器 
2.域名在阿里云备案或接入阿里云备案 
3.DNS 解析到 FC 地址:<accountID>.<region>.fc.aliyuncs.com 
4. 在 FC 绑定域名,并设置路径与函数的对应关系
访问阶段1.访问 api.app.com/login 
2.DNS 解析到用户服务器 IP 
3.api.app.com/login 访问用户服务器的服务
1.访问 api.app.com/login 
2.DNS 解析到 FC 地址 
3.api.app.com/login 访问部署在 FC 的函数

使用流程

  • 创建 HTTP 触发器并且编写函数 ;

    • 搭建过程请参考 HTTP 触发器示例。
  • 绑定自定义域名

    • 步骤一: 域名需要在阿里云备案或接入阿里云备案;

      • 备案请参考文章 阿里云备案 。
    • 步骤二:域名需要解析到您的 endpoint 上,即需要设置域名的 CNAME 到您对应区域的 endpoint,先设置 CNAME 再到函数计算进行绑定;

      • 域名解析请参考文章 设置域名解析;
      • 例如:您的域名为 app.com,您的 accountID 为 12345,区域为上海,需要设置 app.com 的 CNAME 为 12345.cn-shanghai.fc.aliyuncs.com
    • 步骤三:在函数计算绑定自定义域名,并设置不同的路径到不同函数。

      • 同一域名绑定的函数必须在同一区域,可以属于不同服务
      • 例如,您可以设置路径 “/a”  的请求到 service1 的 function1 执行,设置路径 “/b” 的请求到 service2 的 function2 执行;
      • 只有设置了 HTTP 触发器 的函数才可以通过自定义域名的请求触发执行。

路由匹配规则

您需要在自定义域名处设置路径和函数的对应关系,即请求的路径不同可以触发不同函数执行。函数计算支持精确匹配和模糊匹配,具体规则如下:

  • 支持精确匹配和模糊匹配。

    • 精确匹配是设置的路径和到来的请求完全一致才可以匹配,例如 /a 触发服务 s1 下的 f1(以下统一简写成 s1/f1),那么路径为 /a/ 的请求无法触发 f1 的执行。
    • 支持通配符 *,且只能放到路径的最后,比如  /login/* 表示路径前缀为 /login/ 的请求,/login/* 对应 s2/f2,那么 /login/a/login/b/c/d 都会触发 f2 的执行。
  • 匹配顺序为:精确匹配 -> 模糊匹配
  • 匹配优先级为:最长前缀匹配

示例:
域名为 api.app.com,设置的路由匹配规则如下:

PathServiceNameFunctionName
/s1f1
/*s2f2
/logins3f3
/login/as4f4
/login/*s5f5

最终的匹配结果:

RequestURIMatchedServiceNameMatchedFunctionNameMatchedPath
api.app.coms1f1/
api.app.com/users2f2/*
api.app.com/logins3f3/login
api.app.com/login/as4f4/login/a
api.app.com/login/a/bs5f5/login/*
api.app.com/login/bs5f5/login/*

总结

绑定自定义域名可以允许用户通过自定义域名访问 FC 的函数,配合 HTTP 触发器使用,可以快速搭建性能稳定弹性可扩容的 Web 应用,可以说是十分方便了。

您在使用过程中遇到任何问题都可以随时 联系我们,函数计算团队所有工程师都会在群里实时进行答疑,没错,所有工程师,任何问题,随时联系。

期待您的使用~~


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全面升级 | 阿里云中间件推出3款新品和3项产品新特性,加速企业中台落地

自2015年年底&#xff0c;阿里巴巴对外宣布全面启动2018年中台战略&#xff0c;构建符合DT时代的更具创新性、灵活性的“大中台、小前台”组织机制和业务机制后&#xff0c;承载中台战略的企业级互联网架构已在各行业快速复制&#xff0c;帮助各行业客户进行业务创新&#xff0…

Apache JMeter 字体、字体大小修改

jmeter.properties jsyntaxtextarea.font.familyHack jsyntaxtextarea.font.size20

AliOS Things 电源管理框架使用说明

一、电源管理框架简介 电源管理框架的目的在于节约CPU的功耗。传统上&#xff0c;当操作系统处于空闲状态时&#xff0c;比如所有用户任务和系统任务处于阻塞状态&#xff0c;将执行idle task。idle task的通常做法是一个while(1)空循环&#xff0c;从汇编视角看是不断执行跳转…

i 智慧 | 深度广度并举,AWS容器服务再推利器!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 晶少责编 | 阿秃出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;据晶少了解&#xff0c;国庆假期后的首个工作日&#xff0c;AWS就在中国区域放出了一款“重量级”容器服务&#xff0c;名为 AWS Fargate…

阿里巴巴研究员刘国华:阿里巴巴智能运维体系建设

导语&#xff1a;在2018年开放数据中心峰会&#xff08;Open Data Center Summit 2018&#xff09;开幕式上阿里巴巴研究员刘国华发表了《阿里巴巴智能运维体系建设》的主题演讲。演讲中&#xff0c;刘国华介绍了智能化给阿里巴巴未来基础设施带来的三大价值&#xff1a;数据驱…

Jmeter5 语言中文

文章目录1. 临时调整2. 永久中文1. 临时调整 2. 永久中文 默认启动中文 进入安装目录&#xff1a;apache-jmeter-5.1.1\bin\ 找到 jmeter.properties&#xff0c;打开 搜索“ languageen ”&#xff0c;前面带有“#”号 去除“#”号&#xff0c;并修改为&#xff1a;language…

13岁小孩都跟我抢Python了,完了!

以下来自一位程序员母亲和工作人员的对话。程序员妈妈&#xff1a;您好&#xff0c;可以帮我推荐一本适合我家小孩看的编程书籍吗&#xff1f;兔子&#xff1a;可以的呀&#xff0c;《Scratch从入门到精通》&#xff0c;这本书适合小孩学习&#xff0c;您可以先看一下哦~程序员…

Nacos服务发现控制台预览

Nacos是阿里巴巴中间件部门最近开源的一款用于服务发现和配置管理的产品。在既0.1版本发布基本功能和0.2版本发布与Spring生态结合的功能后&#xff0c;0.3版本将释放全新的控制台界面。配置管理功能相关的控制台&#xff0c;将会由阿里云商业产品ACM控制台改造而来&#xff0c…

阿里巴巴高级技术专家至简:聊工程师思维

为什么想到写这篇文章&#xff1f;作者是想通过对工程师思维的分析和解读&#xff0c;让工程师能正确对待那些在现实工作中看上去与本职岗位无关&#xff0c;却对团队效能影响极大的一些点和一些事。 至简&#xff1a;阿里巴巴高级技术专家&#xff0c;是集团Service Mesh方向的…

SoapUI 5.4.0 中文乱码

测试案例&#xff1a; <soapenv:Envelope xmlns:soapenv"http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus"CustomNamespaces"><soapenv:Header/><soapenv:Body><cus:getUser><cus:in0><![CDATA[测试中文乱222码]…

IDEA的基本使用:让你的IDEA有飞一般的感觉 | CSDN 博文精选

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 琦彦责编 | 阿秃转自 &#xff5c; CSDN 博客1.设置maven在File->settings->搜索maven Mavan home directory--设置maven安装包的bin文件夹所在的位置 User settings file--设置setting文件所在的位置 Local repo…

Apache JMeter 测试webservice接口

文章目录Apache JMeter 测试webservice接口流程一、设置基础组件1. 添加一个线程组2. HTTP信息头管理器3. HTTP请求4. 添加一个察看结果树5. 添加一个聚合报告二、配置基础组件2.1. 找到SoapUI 请求头信息2.2. 设置http头管理器2.3. 接口信息同步三、发送测试3.1. 发送请求3.2.…

函数计算搭建 Serverless Web 应用(三)- 三分钟搭建 Web 应用

简介 阿里云 函数计算(Function Compute) 是事件驱动的全托管计算服务&#xff0c;是阿里云的 Serverless 计算平台。基于函数计算构建应用&#xff0c;您无需管理服务器等基础设施&#xff0c;而是专注于应用逻辑的开发&#xff0c;大幅提高开发效率。 函数计算搭建 Serverl…

备战双 11!蚂蚁金服万级规模 K8s 集群管理系统如何设计?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 沧漠责编 | 阿秃导读&#xff1a;Kubernetes 的出现使得广大开发同学也能运维复杂的分布式系统&#xff0c;它大幅降低了容器化应用部署的门槛&#xff0c;但运维和管理一个生产级的高可用 Kubernetes 集群仍十分困难。本文…

移动互联网+智能运营体系搭建=你家有金矿啊!

每个企业都有许多的数据&#xff0c;但能否将数据转化成商业价值&#xff0c;是企业非常关心的问题。阿里巴巴曾自嘲是一家坐在数据的金矿上啃着馒头的企业&#xff0c;前几年集团积累了很多的数据&#xff0c;但这些数据并没有真正应用起来&#xff0c;受限于几个原因&#xf…

Apache JMeter 测试webservice接口 中文乱码

文章目录1. http请求编码设置utf-82. jmeter.properties修改默认编码1. http请求编码设置utf-8 2. jmeter.properties修改默认编码 找到apache-jmeter-5.2.1\bin\jmeter.properties文件 在jmeter.properties文件中找到 #sampleresult.default.encodingISO-8859-1 替换为 samp…

【实操手册】如何把一场直播录制下来?

许多用户使用直播服务时&#xff0c;需要把正在直播的视频录制下来进行存储或方便后续的回看。为了满足用户需求&#xff0c;阿里云视频直播服务提供了直播录制功能&#xff0c;本文将对这两种形式的录制方法进行简单介绍。 一、按场景录制 针对不同的场景进行录制配置 • 按…

搞不清边缘计算几款产品差异?动动小手点这里!

最近阿里云新上了一款产品&#xff0c;边缘节点服务&#xff08;简称ENS&#xff09;&#xff0c;随着产品运营推广不断深入&#xff0c;偶尔会遇到用户关于ENS产品与其他几款产品的疑惑&#xff0c;典型问题比如&#xff1a; ENS是部署在CDN位置&#xff0c;用户是不是可以直…

Apache JMeter 压测webservice接口

文章目录一、压测设置和参数说明二、服务台控制监控三、查看结果树四、查看聚合报告一、压测设置和参数说明 压测设置说明线程数并发数量&#xff0c;能跑多少量。具体说是一次存在多少用户同时访问。Rame-Up Period(in seconds)表示JMeter每隔多少秒发动并发。理解成准备时长…

阿里云自研新一代企业云数据库POLARDB背后的技术

从2008年到2018年&#xff0c;阿里巴巴的数据库技术已经发展了10年的时间&#xff0c;10年的时间从AliSQL到RDS&#xff0c;再到自研POLARDB&#xff0c;阿里巴巴数据库技术得到了极大的提升。那么在阿里云自研新一代企业云数据库POLARDB背后有哪些技术呢&#xff1f;本文中&am…