Node.js微服务

出版日期:2017-1
ISBN:9787121305240
作者:【美】David Gonzalez
页数:256页

内容概要

David Gonzalez 是一名在编程语言方面“极不专一”的软件工程师,他在金融服务行业“混迹”多年。他尝试找到抽象层次合适的解决方案,并探索着如何保证既不过于具体也不过于抽象之间的平衡。
David 曾求学于西班牙,但是不久之后便转战都柏林,自2011 年起便定居于此并开启了更为宽广和有趣的职业生涯。他目前是一名金融技术领域的独立咨询师。他的Linkedin账号地址是:https://ie.linkedin.com/in/david-gonzalez-737b7383。
David 乐于尝试新的技术和范式,从而能让自己在软件开发的复杂世界中不断拓展出新的版图。
审校者
Kishore Kumar Yekkanti 是一名经验丰富的专家,他在过去的十年里曾与不同的领域和技术打过交道。他对软件开发中的消除浪费尤具热情。Kishore 是敏捷原则的巨大贡献者和遵循者。他是一名善于开发端到端系统的全栈开发者,同时也是一名通晓多种语言的程序员。目前他专注于高度分布式应用中的微服务扩展,而这些应用部署于云端基于容器的系统(Docker)之中。他曾在多家知名的公司担任过首席工程师,这些公司包括Thoughtworks、CurrencyFair 等。他曾通过微服务为这些公司的团队带来新生。

书籍目录

1 微服务架构
1
微服务应运而生
1
单块软件
2
现实世界中的微服务
2
面向微服务的架构
3
为什么面向微服务的架构更好
3
不足之处
3
关键设计原则
4
从组件到业务单元
5
智能的服务,愚蠢的通信管道
7
去中心化
8
技术对比
10
多微才是足够的微
10
关键的好处
11
弹性
11
可伸缩性
11
技术多样性
13
可替换性
14
独立性
15
SOA与微服务的比较
16
为什么选择Node.js
18
API聚合
18
展望Node.js
19
小结
20
2 基于Seneca和PM2构建Node.js微服务
21
选择Node.js的理由
21
安装Node.js、npm、Seneca和PM2
22
第一个程序——Hello World
25
Node.js的线程模型
27
模块化组织的最佳实践
27
微服务框架Seneca
32
实现控制反转
35
Seneca的模式匹配
35
PM2——Node.js的任务执行器
46
单线程应用及异常
46
PM2——业界标准的任务执行器
47
小结
52
3 从单块软件到微服务
53
首先,我们拥有一个单块软件
53
如何控制自然增长
54
多抽象才是过度抽象
57
微服务的出现
58
微服务的缺陷
64
分割单块软件
64
数据才是分割单块软件的主要问题
65
组织架构适配
66
小结
67
4 编写你的第一个Node.js微服务
69
微电子商务概览
69
商品管理服务——双重核心
71
获取商品信息
72
获取指定类别的商品
73
根据ID获取商品
74
添加商品
75
删除商品
75
编辑商品
76
整合各模块
76
集成Express与Seneca——如何创建REST API
81
邮件服务:一个常见的问题
82
如何发送邮件
82
接口定义
83
设置Mandrill
84
亲自动手在微服务中集成Mandrill
86
回退策略
91
订单管理服务
92
根据如何获取非本地数据来定义微服务
93
订单管理服务代码
95
UI——API聚合的产物
99
前端微服务的必要性
99
代码
99
服务降级——当出现非灾难性故障时
107
断路器
108
Seneca——一块使我们工作变得更容易的拼图
109
Seneca和promise
111
调试
115
小结
118
5 安全性和可追溯性
119
基础设施的逻辑安全
119
利用SSH来对通信加密
120
应用程序安全
122
保持安全方面的与时俱进来应对常见威胁
123
有效的代码审阅
131
可追溯性
132
日志
132
请求追踪
134
审计
135
HTTP状态码
136
小结
138
6 Node.js微服务的测试及文档化
140
功能性测试
141
自动化测试的金字塔
142
采用Node.js测试微服务
145
对微服务进行文档化
175
采用Swagger对API进行文档化
175
根据Swagger定义来生成项目
182
小结
184
7 微服务的监控
185
服务监控
185
采用PM2和Keymetrics进行监控
186
类人猿大军—来自Netflix的主动监控
201
吞吐量和性能的降级
204
小结
206
8 微服务的部署
208
软件部署的一些概念
208
持续集成
209
持续交付
209
采用PM2进行部署
209
PM2中的“生态系统”
210
采用PM2来部署微服务
212
Docker——一种可用于软件交付的容器
213
组装容器
215
部署Node.js应用
221
将Docker容器的创建过程自动化
223
Node.js事件循环—入门容易精通难
225
Node.js应用的集群化
228
为应用增加负载均衡
233
NGINX的健康检查
238
小结
239

作者简介

《Node.js微服务》对如何采用Node.js 及其生态工具进行微服务开发的最佳实践做了全面的介绍,内容包括对微服务架构基本概念及设计原则的讲解,以及如何采用Node.js 搭配Seneca、PM2 和Docker 等现代化工具来构建、测试、监控以及部署轻量级微服务,同时也阐述了Node.js 在微服务实践中所涉及的相关概念,并就微服务的优缺点、文档化、安全性以及可追溯性等主题进行了探讨。
《Node.js微服务》适合掌握服务端开发基本知识的Node.js 开发者以及使用Java、C#等其他服务端技术栈并对微服务实践感兴趣的所有开发者。


 Node.js微服务下载



发布书评

 
 


精彩短评 (总计1条)

  •     讲了一点Seneca框架的使用方法和周边的工具类库,实在是没啥价值。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024