事件源(Event Sources):事件的生产者,可能是 HTTP 请求、消息队列的事件等,通过同步或异步的方式去触发函数。 触发器(Trigger):函数的 REST 呈现,通常是 RESTful URL。当事件源将事件推/拉到触发器时,FaaS 平台会查找触发器和函数的映射关系,从而启动该函数实例,以响应被推/拉到触发器的事件。 FaaS 控制器(FaaS Controller):FaaS 平台的核心组件,管理函数的生命周期、扩容和缩容等。可以将函数实例缩容为 0,同时在收到对函数的请求时迅速启动新的函数实例。 函数实例(Function Instance):执行函数的环境,包含函数代码、函数运行环境(如 JRE、Node.js)、上下文信息(如函数运行的配置,通常以环境变量注入)。一个函数实例可以同时处理 1 个或 N 个事件(取决于平台的具体实现)。函数实例通常内置可观测性,将日志和监控信息上报到对应的日志和监控服务中。 函数编程模型(Programming Model):通常表现为函数的编码规范,如签名、入口的方法名等。函数的编程模型一般会提供同步/异步/异常处理机制,开发者只需要处理输入(事件、上下文),并返回结果即可。 BaaS 平台:函数通常是无状态的,其状态一般存储在 BaaS 服务中,如 NoSQL 数据库等。函数可以基于 REST API 或 BaaS 服务提供的 SDK 来访问 BaaS 服务,而不用关心这些服务的扩容和缩容问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。