注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計Apache OpenWhisk學習手冊

Apache OpenWhisk學習手冊

Apache OpenWhisk學習手冊

定 價:¥128.00

作 者: [美]米歇爾-西巴拉
出版社: 中國電力出版社
叢編項:
標 簽: 暫缺

ISBN: 9787519854812 出版時間: 2021-08-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 416 字數(shù):  

內(nèi)容簡介

  檢查OpenWhisk的無服務器架構,包括程序包、操作、序列、觸發(fā)器、規(guī)則和feed的使用。使用命令行或JavaScript API與OpenWhisk進行功能對接。使用常見的四種設計模式進行設計應用。了解如何在無服務器環(huán)境中測試和調(diào)試代碼。了解如何使用JavaScript、Python和Go來開發(fā)無服務器應用程序。了解有關CouchDB和Kafka與OpenWhisk的集成。使用完整的分步指南在Kubernetes中安裝OpenWhisk。

作者簡介

  Michele Sciabarrà是信息技術的資深人士,目前是Sciabarra.com的首席執(zhí)行官,這是一家專注于Kubernetes和無服務器解決方案的咨詢公司。他還是Apache OpenWhisk項目的貢獻者,尤其是Go、Swift、Rust、Java和其他編程語言的高性能Action Loop運行時的作者。

圖書目錄

目錄
序 . 1
前言 3
部分 OpenWhisk 開發(fā)介紹
第1 章 無服務器和OpenWhisk 體系結構 11
OpenWhisk 體系架構 12
功能和事件12
體系架構概覽 13
OpenWhisk 編程語言 14
操作和操作組合 15
動作鏈接 16
OpenWhisk 是如何工作的? 17
Nginx 18
控制器 19
負載均衡器19
調(diào)用者 20
客戶端 21
無服務執(zhí)行限制 21
action 是功能性的 23
動作是事件驅(qū)動的 23
操作沒有本地狀態(tài) 24
action 是有時間限制的 24
操作是無序的 25
從Java EE 到無服務 25
經(jīng)典的Java EE 架構 25
等效于Java EE 的無服務 27
小結 30
第2 章 一個簡單的OpenWhisk 應用程序 33
開始 34
Bash 命令提示行 34
IBM 云 35
創(chuàng)建一個簡單的聯(lián)系人表單 37
表單驗證 39
驗證地址 40
返回結果 41
保存表單數(shù)據(jù) 42
調(diào)用action 45
存儲到數(shù)據(jù)庫中 47
發(fā)送電子郵件 49
配置Mailgun 50
編寫一個action 來發(fā)送郵件 50
創(chuàng)建一個動作序列 53
小結 54
第3 章 OpenWhisk CLI 和JavaScript API 55
wsk 命令 56
配置wsk 命令 57
OpenWhisk 實體名 58
定義包 59
創(chuàng)建操作 61
操作的鏈式序列 64
包含一些你自己的代碼作為庫 66
檢查激活 69
管理觸發(fā)器和規(guī)則 70
使用反饋 75
通用JavaScript API 78
異步請求 78
使用promise 79
創(chuàng)造promise 80
使用OpenWhisk API 82
調(diào)用OpenWhisk 操作 83
觸發(fā)觸發(fā)器87
檢查激活 89
小結 90
第4 章 OpenWhisk 通用設計模式 91
內(nèi)置模式 92
單例模式 93
外觀模式 94
原型模式 96
裝飾模式 98
用操作實現(xiàn)通常模式 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
使用模擬庫調(diào)用操作 163
模擬操作參數(shù) 165
模擬一個序列 165
小結 167
第二部分 先進的OpenWhisk 開發(fā)應用
第7 章 用Python 開發(fā)OpenWhisk 操作 171
Python 運行時間 171
Python 運行時間是多少? 172
運行時間可用的庫 174
使用第三方庫 177
在zip 文件中打包一個Python 應用程序 177
使用virtualenv 180
virtualenv 和pip 的工作原理181
虛擬環(huán)境自動化 182
使用yattag 庫 182
建立virtualenv,包括一個庫 183
使用OpenWhisk REST API 184
身份驗證 185
用curl 連接到API 186
在Python 中使用OpenWhisk REST API 188
Python 中的調(diào)用、激活和觸發(fā)器 190
阻塞操作調(diào)用 191
非阻塞觸發(fā)器調(diào)用 193
檢索調(diào)用的結果 195
測試Python 操作 197
在本地重新創(chuàng)建Python 運行時環(huán)境 197
單元測試示例 198
在本地調(diào)用OpenWhisk API 201
模擬請求 202
小結 204
第8 章 在OpenWhisk 中使用CouchDB 205
如何查詢CouchDB 206
在命令行上探索CouchDB 208
CouchDB 工作方式 209
創(chuàng)建數(shù)據(jù)庫209
創(chuàng)建 210
檢索 211
更新 211
刪除 212
附件 213
查詢CouchDB 216
搜索數(shù)據(jù)庫217
索引 218
字段 219
分頁支持 220
書簽功能 221
選擇器 221
運算符 223
CouchDB 設計文件 225
視圖函數(shù) 227
用map 函數(shù)提取數(shù)據(jù) 227
用map 函數(shù)實現(xiàn)join 230
加入單個文檔 233
帶有reduce 函數(shù)的聚合 234
驗證函數(shù) 236
使用cloudant 包 238
cloudant 包中的crud 操作 240
包含包的查詢和視圖 244
小結 246
第9 章 Python 中的OpenWhisk Web 應用程序 247
CRUD 應用程序體系結構 247
抽象數(shù)據(jù)庫訪問 250
實現(xiàn)modelinit() 251
實現(xiàn)modelinsert() 251
實現(xiàn)modelfind() 253
測試 insert 和 find 253
實現(xiàn)modelupdate() 和modeldelete() 255
測試update 和 delete 257
用戶界面 257
測試 258
使用viewtable 呈現(xiàn)表 260
使用viewform 呈現(xiàn)表單 262
控制器 263
處理操作 264
邊界效應 268
高級的Web 操作 269
改進CRUD 應用程序 272
驗證和錯誤報告 274
分頁 276
創(chuàng)建索引 277
使用書簽和限制 277
頁碼 278
處理書簽 279
上傳和顯示圖像 280
文件上傳表單 281
解析文件上傳 282
將數(shù)據(jù)保存在數(shù)據(jù)庫中 284
生成一個 標記 284
生成一個URL 來檢索圖像 285
使用HTTP 請求呈現(xiàn)圖像 287
小結 288
第10 章 在Go 中開發(fā)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
調(diào)用OpenWhisk 操作 319
觸發(fā)觸發(fā)器321
檢索與激活ID 關聯(lián)的數(shù)據(jù) 323
小結 324
第11 章 通過OpenWhisk 使用Kafka 325
介紹Apache Kafka 326
Kafka 代理和協(xié)議 327
消息和關鍵字 328
主題和劃分328
偏移量和客戶機組 329
在IBM Cloud 中創(chuàng)建Kafka 實例 329
創(chuàng)建一個實例 330
創(chuàng)建一個主題 331
獲取證書 332
使用消息傳遞包 333
創(chuàng)建連接和反饋 334
使用一個操作接收消息 334
使用kafkacat 發(fā)送消息 335
測試Kafka 代理 336
一個在Go 中的Kafka Producer(生成器) 338
創(chuàng)建一個Producer 338
發(fā)送Kafka 消息 340
編寫發(fā)送者操作 341
部署和測試Producer 343
一個在Go 中的Kafka Consumer 344
創(chuàng)建一個Consumer 345
接收一個消息 347
編寫一個接收者操作 349
測試Consumer 351
實現(xiàn)Web 聊天的應用程序 352
綜述 353
用戶界面 354
初始化 355
加入 356
接收 358
發(fā)送 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
網(wǎng)絡結構 383
安裝腳本 384
創(chuàng)建集群 385
安裝OpenWhisk 388
配置Kubectl 389
配置Helm 390
在Docker Desktop 上安裝 391
在Kubernetes 集群中安裝393
配置OpenWhisk 命令行界面 397
不安全地為Docker Desktop 配置wsk 397
創(chuàng)建一個新的命名空間 397
小結 399
總結 399
作者介紹 401
封面介紹 401

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號