×
暂无评论
图文详情
  • ISBN:9787519854812
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:416
  • 出版时间:2021-08-01
  • 条形码:9787519854812 ; 978-7-5198-5481-2

本书特色

本书是学习OpenWhisk的一个很好的起点。本书作者演示了如何使用经典设计模式和*适合你任务的编程语言来构建无服务器应用程序。 无服务器的计算可以极大地简化软件开发。开发团队只需要关注于应用程序本身,与此同时,基于云计算的无服务器平台会管理应用的配置和扩展性。本实践指南将为你逐步展示如何在一个灵活、多云服务商、多语言地无服务器环境中,使用Apache OpenWhisk构建和配置复杂应用程序。 你将了解到这个平台如何帮助你使用在Kubernetes中运行的OpenWhisk作为云操作系统,实现追求独立于服务供应商的方法。本书作者演示了如何使用经典设计模式和*适合你任务的编程语言来构建无服务器应用程序。你将首先构建一个简单的无服务器应用程序,然后再深入研究OpenWhisk平台中更复杂的方面。 “本书是学习OpenWhisk的一个很好的起点。它涵盖了所有主要功能,包括许多将这些功能应用于日常项目的真实示例。”——Roberto Diaz Agile Monkeys公司软件开发员,Apache OpenWhisk贡献者

内容简介

本书的主要内容有:检查OpenWhisk的无服务器架构,包括程序包、操作、序列、触发器、规则和feed的使用。使用命令行或JavaScript API与OpenWhisk进行功能对接。使用常见的四种设计模式进行设计应用。了解如何在无服务器环境中测试和调试代码。了解如何使用JavaScript、Python和Go来开发无服务器应用程序。了解有关CouchDB和Kafka与OpenWhisk的集成。使用完整的分步指南在Kubernetes中安装OpenWhisk。

目录

目录 序 . 1 前言 3 **部分 OpenWhisk 开发介绍 第1 章 无服务器和OpenWhisk 体系结构 11 OpenWhisk 体系架构 12 功能和事件12 体系架构概览 13 OpenWhisk 编程语言 14 操作和操作组合 15 动作链接 16 OpenWhisk 是如何工作的? 17 Nginx 18 控制器 19 负载均衡器19 调用者 20 客户端 21 无服务执行限制 21 action 是功能性的 23 动作是事件驱动的 23 操作没有本地状态 24 action 是有时间限制的 24 操作是无序的 25 从Java EE 到无服务 25 经典的Java EE 架构 25 等效于Java EE 的无服务 27 小结 30 第2 章 一个简单的OpenWhisk 应用程序 33 开始 34 Bash 命令提示行 34 IBM 云 35 创建一个简单的联系人表单 37 表单验证 39 验证地址 40 返回结果 41 保存表单数据 42 调用action 45 存储到数据库中 47 发送电子邮件 49 配置Mailgun 50 编写一个action 来发送邮件 50 创建一个动作序列 53 小结 54 第3 章 OpenWhisk CLI 和JavaScript API 55 wsk 命令 56 配置wsk 命令 57 OpenWhisk 实体名 58 定义包 59 创建操作 61 操作的链式序列 64 包含一些你自己的代码作为库 66 检查激活 69 管理触发器和规则 70 使用反馈 75 通用JavaScript API 78 异步请求 78 使用promise 79 创造promise 80 使用OpenWhisk API 82 调用OpenWhisk 操作 83 触发触发器87 检查激活 89 小结 90 第4 章 OpenWhisk 通用设计模式 91 内置模式 92 单例模式 93 外观模式 94 原型模式 96 装饰模式 98 用操作实现通常模式 103 策略模式 103 责任链 106 命令模式 109 小结 113 第5 章 OpenWhisk 中的集成设计模式 115 集成模式 117 代理模式 117 适配器模式121 桥模式 123 观察模式 125 用户交互模式 130 组合模式 131 访问模式 133 MVC 模式 135 小结 138 第6 章 单元测试OpenWhisk 应用程序 139 使用Jest 测试运行程序 140 使用Jest 140 本地测试 143 Snapshot 测试 150 Mocking 155 什么是mock ? 155 模拟一个HTTPS 请求 156 模拟OpenWhisk API 163 使用模拟库调用操作 163 模拟操作参数 165 模拟一个序列 165 小结 167 第二部分 先进的OpenWhisk 开发应用 第7 章 用Python 开发OpenWhisk 操作 171 Python 运行时间 171 Python 运行时间是多少? 172 运行时间可用的库 174 使用第三方库 177 在zip 文件中打包一个Python 应用程序 177 使用virtualenv 180 virtualenv 和pip 的工作原理181 虚拟环境自动化 182 使用yattag 库 182 建立virtualenv,包括一个库 183 使用OpenWhisk REST API 184 身份验证 185 用curl 连接到API 186 在Python 中使用OpenWhisk REST API 188 Python 中的调用、激活和触发器 190 阻塞操作调用 191 非阻塞触发器调用 193 检索调用的结果 195 测试Python 操作 197 在本地重新创建Python 运行时环境 197 单元测试示例 198 在本地调用OpenWhisk API 201 模拟请求 202 小结 204 第8 章 在OpenWhisk 中使用CouchDB 205 如何查询CouchDB 206 在命令行上探索CouchDB 208 CouchDB 工作方式 209 创建数据库209 创建 210 检索 211 更新 211 删除 212 附件 213 查询CouchDB 216 搜索数据库217 索引 218 字段 219 分页支持 220 书签功能 221 选择器 221 运算符 223 CouchDB 设计文件 225 视图函数 227 用map 函数提取数据 227 用map 函数实现join 230 加入单个文档 233 带有reduce 函数的聚合 234 验证函数 236 使用cloudant 包 238 cloudant 包中的crud 操作 240 包含包的查询和视图 244 小结 246 第9 章 Python 中的OpenWhisk Web 应用程序 247 CRUD 应用程序体系结构 247 抽象数据库访问 250 实现modelinit() 251 实现modelinsert() 251 实现modelfind() 253 测试 insert 和 find 253 实现modelupdate() 和modeldelete() 255 测试update 和 delete 257 用户界面 257 测试 258 使用viewtable 呈现表 260 使用viewform 呈现表单 262 控制器 263 处理操作 264 边界效应 268 高级的Web 操作 269 改进CRUD 应用程序 272 验证和错误报告 274 分页 276 创建索引 277 使用书签和限制 277 页码 278 处理书签 279 上传和显示图像 280 文件上传表单 281 解析文件上传 282 将数据保存在数据库中 284 生成一个 标记 284 生成一个URL 来检索图像 285 使用HTTP 请求呈现图像 287 小结 288 第10 章 在Go 中开发OpenWhisk 操作 289 你的**个Go 语言操作 290 多文件包 293 import、GOPATH 和vendor 文件夹 294 在main 中多个文件的操作 295 多个包的操作 297 使用第三方库的操作 299 Go 如何使用第三方开源库 299 为库选择一个给定版本 300 预编译操作302 测试Go 操作 305 编写测试 305 测试用例 306 嵌入的资源 308 使用Web 操作提供资源 310 在Go 中访问OpenWhisk API 315 实用程序 315 HTTP 请求 317 调用OpenWhisk 操作 319 触发触发器321 检索与激活ID 关联的数据 323 小结 324 第11 章 通过OpenWhisk 使用Kafka 325 介绍Apache Kafka 326 Kafka 代理和协议 327 消息和关键字 328 主题和划分328 偏移量和客户机组 329 在IBM Cloud 中创建Kafka 实例 329 创建一个实例 330 创建一个主题 331 获取证书 332 使用消息传递包 333 创建连接和反馈 334 使用一个操作接收消息 334 使用kafkacat 发送消息 335 测试Kafka 代理 336 一个在Go 中的Kafka Producer(生成器) 338 创建一个Producer 338 发送Kafka 消息 340 编写发送者操作 341 部署和测试Producer 343 一个在Go 中的Kafka Consumer 344 创建一个Consumer 345 接收一个消息 347 编写一个接收者操作 349 测试Consumer 351 实现Web 聊天的应用程序 352 综述 353 用户界面 354 初始化 355 加入 356 接收 358 发送 359 小结 359 第12 章 使用Kubernetes 部署OpenWhisk 361 安装Kubernetes 362 安装kubectl 和 Helm 363 在本地安装Kubernetes 365 在云端安装Kubernetes 367 Kubernetes 云部署的架构 368 使用cloud-init 安装Kubernetes 的一般过程 370 在Hetzner Cloud 上安装 374 在AWSA 云上安装 377 在裸金属服务器上安装Kubernetes 381 收集所需软件 382 网络结构 383 安装脚本 384 创建集群 385 安装OpenWhisk 388 配置Kubectl 389 配置Helm 390 在Docker Desktop 上安装 391 在Kubernetes 集群中安装393 配置OpenWhisk 命令行界面 397 不安全地为Docker Desktop 配置wsk 397 创建一个新的命名空间 397 小结 399 总结 399 作者介绍 401 封面介绍 401
展开全部

作者简介

[美]米歇尔·西巴拉(Michele Sciabarrà),是信息技术的资深人士,目前是Sciabarra.com的首席执行官,这是一家专注于Kubernetes和无服务器解决方案的咨询公司。他还是Apache OpenWhisk项目的贡献者,尤其是Go、Swift、Rust、Java和其他编程语言的高性能Action Loop运行时的作者。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航