百道网
 您现在的位置:Fun书 > Node.js微服务
Node.js微服务


Node.js微服务

作  者:(美)David Gonzalez(大卫 冈萨雷斯)

译  者:赵震一

出 版 社:电子工业出版社

出版时间:2017年01月

定  价:69.00

I S B N :9787121305245

所属分类: 专业科技  >  计算机/网络  >  程序设计    

标  签:程序设计  计算机/网络  其他  

[查看微博评论]

分享到:

TOP内容简介

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

TOP作者简介

赵震一,一线攻城狮,曾涌入创业洪流,多年未有所成。现居杭州,就职于阿里巴巴。热爱技术,关注互联网与大数据,闲暇译一些技术文章,译有《RESTful Web APIs中文版》 David Gonzalez是一名在编程语言方面“极不专一”的软件工程师,他在金融服务行业“混迹”多年。他尝试找到抽象层次合适的解决方案,并探索着如何保证既不过于具体也不过于抽象之间的平衡。 David曾求学于西班牙,但是不久之后便转战都柏林,自2011年起便定居于此并开启了更为宽广和有趣的职业生涯。他目前是一名金融技术领域的独立咨询师。他的Linkedin账号地址是:https://ie.linkedin.com/in/david-gonzalez-737b7383。 David乐于尝试新的技术和范式,从而能让自己在软件开发的复杂世界中不断拓展出新的版图。

TOP目录

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
第一个程序——Hello World25
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——如何创建REST API81
邮件服务:一个常见的问题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
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

TOP书摘

TOP 其它信息

装  帧:平塑

页  数:256

加载页面用时:46.877