kindle电子书

资源下载,尽在我的书库!
首页 > kindle电子书库 > 工业|计算机|互联网 > 电子、计算机、网络

Node.js微服务

简介:本书对如何采用Node.js及其生态工具进行微服务开发的最好实践做了全面的介绍,内容包括对微服务架构基本概念及设计原则的讲解,以及如何采用Node.js搭配Seneca、PM2和Docker等现代化工具来构建、测试、监控以及部署轻量级微服务,同时也阐述了Node.js在微服务实践中所涉及的相关概念,并就微服务的优缺点、文档化、安全性以及可追溯性等主题进行了探讨。

电子书详细介绍

 本书对如何采用Node.js及其生态工具进行微服务开发的最好实践做了全面的介绍,内容包括对微服务架构基本概念及设计原则的讲解,以及如何采用Node.js搭配Seneca、PM2和Docker等现代化工具来构建、测试、监控以及部署轻量级微服务,同时也阐述了Node.js在微服务实践中所涉及的相关概念,并就微服务的优缺点、文档化、安全性以及可追溯性等主题进行了探讨。

编辑推荐

本书内容要点:
√ 理解Node.js模块并掌握在与微服务打交道时的最佳实践
√ 将现有的单块系统重新架构成面向微服务的软件
√ 使用Seneca和Node.js构建出健壮且可伸缩的微服务
√ 对微服务进行隔离测试从而创建出可靠的系统
√ 使用PM2部署并管理微服务
√ 监控微服务的健康状况(CPU、内存以及I/O)

作者简介

David Gonzalez 是一名在编程语言方面“极不专一”的软件工程师,他在金融服务行业“混迹”多年。他尝试找到抽象层次合适的解决方案,并探索着如何保证既不过于具体也不过于抽象之间的平衡。
David 曾求学于西班牙,但是不久之后便转战都柏林,自2011 年起便定居于此并开启了更为宽广和有趣的职业生涯。他目前是一名金融技术领域的独立咨询师。
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.js18
API聚合18
展望Node.js19
小结20
2基于Seneca和PM2构建Node.js微服务21
选择Node.js的理由21
安装Node.js、npm、Seneca和PM222
第一个程序——HelloWorld25
Node.js的线程模型27
模块化组织的最佳实践27
微服务框架Seneca32
实现控制反转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——如何创建RESTAPI81
邮件服务:一个常见的问题82
如何发送邮件82
接口定义83
设置Mandrill84
亲自动手在微服务中集成Mandrill86
回退策略91
订单管理服务92
根据如何获取非本地数据来定义微服务93
订单管理服务代码95
UI——API聚合的产物99
前端微服务的必要性99
代码99
服务降级——当出现非灾难性故障时107
断路器108
Seneca——一块使我们工作变得更容易的拼图109
Seneca和promise111
调试115
小结118
5安全性和可追溯性119
基础设施的逻辑安全119
利用SSH来对通信加密120
应用程序安全122
保持安全方面的与时俱进来应对常见威胁123
有效的代码审阅131
可追溯性132
日志132
请求追踪134
审计135
HTTP状态码136
小结138
6Node.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

我来说两句

本书评论

共有 0 条评论
图书分类
我的书库手机端
帮助中心
会员登录 ×
新用户注册 ×