数据API 案例 开发者 关于
掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
新闻动态 > 媒体报道

使用 OpenWhisk 自建 Serverless 服务

在尝试了使用 AWS 开发 Serverless 应用之后,我便想尝试使用 OpenWhisk 框架来搭建自己的 Serverless 服务。

Apache OpenWhisk(http://openwhisk.org/)是一个由IBM和Adobe驱动的开源项目,它是一个健壮的FaaS平台,可以部署在云或数据中心内。相比其他serverless项目,OpenWhisk是一个健壮的、可扩展的平台,支持数千并发触发器和调用。

OpenWhisk 简介

其系统架构如下所示:

OpenWhisk 流处理流程

对应的组件的功能如下:

  • Nginx 暴露HTTP(S)端点给客户端。

  • Controller 充当系统的守门员、系统的协调者,它将决定请求最终采取的路径。

  • CouchDB 护和管理系统的状态。

  • Consul 作为系统每个组件可访问的单一数据源。 同时,consul还提供服务发现功能,使控制器发现调用操作的实体。

  • Apache Kafka 用于构建实时数据管道和流应用程序。

  • Invoker 使用 Scala实现,它是处理执行过程的最后阶段。

  • Docker, 几乎所有的 OpenWhisk 组件都打包和部署为容器。

macOS 搭建 OpenWhisk 环境

官网的指引很简单,但是中间还是遇到一些环境问题。

首先 clone 代码

  1. git clone --depth=1 https://github.com/apache/incubator-openwhisk.git openwhisk

然后于是虚拟机的目录:

  1. cd openwhisk/tools/vagrant

接着执行 hello 命令

  1. $./hello

  2. ./hello: line 8: vagrant: command not found

便提示 vagrant 没有安装。Vagrant 只是一个虚拟机管理和配置工具,为了安装 vagrant,还需要先安装 virtualbox 虚拟机:

  1. brew cask install virtualbox

然后安装 vagrant,顺便也 可以安装 vagrant-manager

  1. $ brew cask install vagrant vagrant-manager

  2. ==> Satisfying dependencies

  3. ==> Downloading https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.dmg

  4. ######################################################################## 100.0%

  5. ==> Verifying checksum for Cask vagrant

  6. ==> Installing Cask vagrant

  7. ==> Running installer for vagrant; your password may be necessary.

  8. ==> Package installers may write to any location; options such as --appdir are ignored.

  9. Password:

  10. ==> installer: Package name is Vagrant

  11. ==> installer: Installing at base path /

  12. ==> installer: The install was successful.

  13. 原文来自:phodal

掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务
新闻动态 > 媒体报道
使用 OpenWhisk 自建 Serverless 服务
发布:2017-12-14

在尝试了使用 AWS 开发 Serverless 应用之后,我便想尝试使用 OpenWhisk 框架来搭建自己的 Serverless 服务。

Apache OpenWhisk(http://openwhisk.org/)是一个由IBM和Adobe驱动的开源项目,它是一个健壮的FaaS平台,可以部署在云或数据中心内。相比其他serverless项目,OpenWhisk是一个健壮的、可扩展的平台,支持数千并发触发器和调用。

OpenWhisk 简介

其系统架构如下所示:

OpenWhisk 流处理流程

对应的组件的功能如下:

  • Nginx 暴露HTTP(S)端点给客户端。

  • Controller 充当系统的守门员、系统的协调者,它将决定请求最终采取的路径。

  • CouchDB 护和管理系统的状态。

  • Consul 作为系统每个组件可访问的单一数据源。 同时,consul还提供服务发现功能,使控制器发现调用操作的实体。

  • Apache Kafka 用于构建实时数据管道和流应用程序。

  • Invoker 使用 Scala实现,它是处理执行过程的最后阶段。

  • Docker, 几乎所有的 OpenWhisk 组件都打包和部署为容器。

macOS 搭建 OpenWhisk 环境

官网的指引很简单,但是中间还是遇到一些环境问题。

首先 clone 代码

  1. git clone --depth=1 https://github.com/apache/incubator-openwhisk.git openwhisk

然后于是虚拟机的目录:

  1. cd openwhisk/tools/vagrant

接着执行 hello 命令

  1. $./hello

  2. ./hello: line 8: vagrant: command not found

便提示 vagrant 没有安装。Vagrant 只是一个虚拟机管理和配置工具,为了安装 vagrant,还需要先安装 virtualbox 虚拟机:

  1. brew cask install virtualbox

然后安装 vagrant,顺便也 可以安装 vagrant-manager

  1. $ brew cask install vagrant vagrant-manager

  2. ==> Satisfying dependencies

  3. ==> Downloading https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.dmg

  4. ######################################################################## 100.0%

  5. ==> Verifying checksum for Cask vagrant

  6. ==> Installing Cask vagrant

  7. ==> Running installer for vagrant; your password may be necessary.

  8. ==> Package installers may write to any location; options such as --appdir are ignored.

  9. Password:

  10. ==> installer: Package name is Vagrant

  11. ==> installer: Installing at base path /

  12. ==> installer: The install was successful.

  13. 原文来自:phodal

电话 0512-88869195