Java微服务

出版日期:2017-1
ISBN:9787121304937
作者:【美】Sourabh Sharma
页数:248页

内容概要

Sourabh Sharmahas具有十年以上的产品/应用程序开发经验。他的专长是开发、部署和测试多层web应用程序。他喜欢解决复杂的问题,并寻找最佳的解决方案。
在他的职业生涯中,他已成功地为财富500强的客户开发和交付了各种独立应用程序和云应用程序,给他们带来很多收益。
Sourabh还为他的总部设在美国的顶尖企业产品公司发起并开发了一种基于微服务的产品。他在大学时代,即20世纪90年代后期,开始编写Java程序,而且至今仍然热爱这项工作。
审阅者简介
Guido Grazioli担任过种类繁多的业务应用程序的开发人员、软件架构师和系统集成人员,他的工作跨越多个领域。他是一位复合型软件工程师,对Java平台和工具,以及Linux系统管理都有深入了解;对SOA、EIP、持续集成和交付,以及在云环境中的服务业务流程尤其感兴趣。

书籍目录

前言
XV
1 一种解决方法
1
微服务的演变
2
整体式架构概述
3
整体式架构的局限性与它的微服务解决方案的对比
3
一维的可扩展性
6
在出故障时回滚版本
7
采用新技术时的问题
7
与敏捷实践的契合
8
减轻开发工作量——可以做得更好
9
微服务的构建管道
10
使用诸如Docker的容器部署
11
容器
11
Docker
12
Docker的架构
13
Docker容器
14
部署
14
小结
14
2 设置开发环境
17
Spring Boot配置
18
Spring Boot概述
18
把Spring Boot添加至REST示例
19
添加一个嵌入式Jetty服务器
21
示例REST程序
22
编写REST控制器类
24
@RestController
25
@RequestMapping
25
@RequestParam
25
@PathVariable
26
制作一个示例REST可执行应用程序
29
设置应用程序构建
30
运行Maven工具
30
用Java命令执行
31
使用Postman Chrome扩展测试REST API
31
更多的正向测试场景
34
反向的测试场景
35
NetBeans IDE安装和设置
37
参考资料
42
小结
42
3 领域驱动设计
43
领域驱动设计基本原理
44
组成部分
45
普遍存在的语言
45
多层架构
45
表示层
46
应用程序层
46
领域层
46
基础架构层
47
领域驱动设计的工件
47
实体
47
值对象
48
服务
49
聚合
50
存储库
52
工厂
53
模块
54
战略设计和原则
55
有界上下文
55
持续集成
56
上下文映射
57
共享内核模式
58
客户和供应商模式
58
顺从者模式
59
反腐层
59
独立方法
59
开放主机服务
60
精馏
60
示例领域服务
60
实体的实现
61
存储库的实现
63
服务的实现
66
小结
67
4 实现微服务
69
OTRS概述
70
开发和实现微服务
71
餐馆微服务
72
控制器类
73
服务类
76
存储库类
79
实体类
82
预订和用户服务
85
注册和发现服务(Eureka服务)
85
执行
87
测试
87
参考资料
92
小结
92
5 部署和测试
93
使用Netflix OSS的微服务架构概述
93
负载均衡
95
客户端的负载均衡
95
服务器端的负载均衡
98
电路断路器与监控
102
使用Hystrix的回退方法
102
监控
103
设置Hystrix仪表板
105
设置Turbine
107
使用容器部署微服务
109
安装和配置
109
具有4 GB内存的Docker机器
110
使用Maven构建Docker映像
110
使用 Maven 运行Docker
114
使用Docker执行集成测试
115
把映像推送到注册表
118
管理Docker容器
119
参考资料
121
小结
121
6 实现微服务的安全性
123
启用安全套接字层
123
身份验证和授权
127
OAuth 2.0
127
OAuth的用法
128
OAuth 2.0规范——简明详细信息
128
OAuth 2.0角色
129
OAuth 2.0客户端注册
131
OAuth 2.0协议端点
135
OAuth 2.0授权类型
137
使用Spring Security的OAuth实现
144
授权码许可
150
隐式许可
153
资源所有者密码凭据许可
154
客户端凭据许可
155
参考资料
155
小结
156
7 利用微服务Web应用程序来使用服务
157
AngularJS框架概述
157
MVC
158
MVVM
158
模块
158
提供程序和服务
160
作用域
161
控制器
161
过滤器
161
指令
162
UI-Router
162
OTRS 功能的开发
163
主页/餐馆列表页
163
index.html
164
app.js
169
restaurants.js
172
restaurants.html
179
搜索餐馆
180
餐馆详细信息与预订选项
181
restaurant.html
181
登录页面
183
login.html
184
login.js
185
预订确认
186
设置web应用程序
187
小结
201
8 最佳做法和一般原则
203
概述和心态
203
最佳做法和原则
205
Nanoservice(不推荐)、规模和整体性
205
持续集成和部署
206
系统/端到端测试自动化
207
自我监控和记录
207
每个微服务都使用独立的数据存储区
209
事务边界
210
微服务框架和工具
210
Netflix开放源码软件(OSS)
210
构建——Nebula
211
部署和交付——Spinnaker与Aminator
211
服务注册和发现——Eureka
211
服务沟通——Ribbon
212
电路断路器——Hystrix
212
边缘(代理)服务器——Zuul
212
业务监控——Atlas
213
可靠性监控服务——Simian Army
213
AWS资源监控——Edda
214
主机性能监控——Vector
215
分布式配置管理——Archaius
215
Apache Mesos调度器——Fenzo
215
成本和云利用率——Ice
216
其他安全工具——Scumblr和FIDO
216
参考资料
217
小结
218
9 故障排除指南
219
日志记录和ELK环境
219
简要概述
221
Elasticsearch
221
Logstash
221
Kibana
222
ELK环境安装
222
安装Elasticsearch
223
安装Logstash
224
安装Kibana
225
服务调用关联ID的使用
226
让我们看看怎样解决这个问题
226
依赖项和版本
227
循环依赖关系及其影响
227
设计系统时需要分析它
227
维护不同版本
227
让我们了解更多
228
参考资料
228
小结
228

作者简介

微服务是利用云平台开发企业应用程序的最新技术,它是小型、轻量和过程驱动的组件。微服务适合设计可扩展、易于维护的应用程序。它可以使开发更容易,还能使资源得到最佳利用。《Java微服务》帮助你用Java构建供企业使用的微服务架构,内容包括微服务核心概念和框架、大型软件项目的高层次设计、开发环境设置和前期配置、对微服务架构持续集成的部署、实现微服务的安全性、有效地执行测试、微服务设计的最佳做法和一般原则,以及如何检测和调试问题。
《Java微服务》适合想要了解微服务架构,以及想要深入了解如何有效地实施企业级微服务的Java 开发人员。


 Java微服务下载



发布书评

 
 


精彩短评 (总计3条)

  •     这应该是一本比较新的图书了,借着微服务这个最近很火的概念,刚在微博上看到介绍的时候,觉得挺吸引人的,正巧图书馆里可以借到这本书,所以马上就借了。 作为2017年读的第一本技术书籍,感到挺失望的。第一,翻译的比较差,比如最Zuul的翻译为“边缘服务器”。而且翻译错误随处可见,比如RestTemplator...... 另外则对于书本的内容,点到即止的罗列了Spring Cloud基于Netflix的几个核心开源项目,但是内容较为杂乱。
  •     还可以,略读,不过不大适合初学者
  •     保持领域模型的完整性有各种可以遵守的原则,原则如:有界上下文;持续集成;上下文映射(共享内核、客户供应商、顺从者、反复层、开发主机服务、精馏)
 

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

零度图书网 @ 2024