搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
企业级Java微服务实战
0.00     定价 ¥ 79.80
图书来源: 浙江图书馆(由JD配书)
此书还可采购15本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302542681
  • 作      者:
    [美]肯·芬尼根(Ken,Finnigan)
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2020-01-01
收藏
编辑推荐

对于大型应用,如果能从小而简单的组件起步,开发和维护就会变得更容易。现在的Java开发者享有广泛的支持微服务应用开发的工具,包括大小合适的应用服务,开源的框架,以及定义良好的模式。最重要的是,你可以使用已有的Java技能开发微服务应用。

  《企业级Java微服务实战》讲授基于JVM的微服务应用的设计和构建。首先通过与传统的Java EE应用进行比较来学习微服务的设计。作者Ken Finnigan以实用的角度介绍了全景的概念,以及用于实现它们的工具和技术。你会探索微服务生态中的组件,比如用于容错的Netflix Hystrix,并且掌握恰如其分的应用服务器(JeAS)的使用方法。为了确保平稳的运维,还会研究监控、安全性、测试以及云上的部署。


展开
作者简介

  肯·芬尼根(Ken Finnigan),曾担任全球各地企业的顾问和软件工程师,具有超过20年的从业经验。他领导着Thorntail项目,该项目旨在让使用Java和Java EE为云开发微服务变得尽可能容易。他曾担任LiveOak和其他JBoss项目的项目负责人。

展开
内容介绍

  对于大型应用,如果能从小而简单的组件起步,开发和维护就会变得更容易。现在的Java开发者享有广泛的支持微服务应用开发的工具,包括大小合适的应用服务,开源的框架,以及定义良好的模式。重要的是,你可以使用已有的Java技能开发微服务应用。
  《企业级Java微服务实战》讲授基于JVM的微服务应用的设计和构建。首先通过与传统的Java EE应用进行比较来学习微服务的设计。作者Ken Finnigan以实用的角度介绍了全景的概念,以及用于实现它们的工具和技术。你会探索微服务生态中的组件,比如用于容错的Netflix Hystrix,并且掌握恰如其分的应用服务器(JeAS)的使用方法。为了确保平稳的运维,还会研究监控、安全性、测试以及云上的部署。

展开
精彩书评
  ★“该书涵盖了Java开发者在微服务世界中成功所需的框架、模式以及概念。”
  ——Andrew Block, Red Hat
  
  ★“在公司环境中实现微服务的完整概述,提供和解释了针对同样问题的不同解决方案。”
  ——Damian Mazzini,UBA Argentina
  
  ★“该书涵盖了开发人员从单体进入微服务架构之前必须知道的一切内容。”
  ——Kelum Prabath
  Senanayake Equinix
  
  ★“一本有关企业级Java微服务的优秀指南,包含了精选的用例和代码示例。”
  ——Alexandros Koufoudakis,Red Hat
展开
目录

第Ⅰ部分  微服务基础

第1章  企业级Java微服务   3

1.1  企业级Java 简史   3

1.1.1  什么是企业级Java   4

1.1.2  典型的企业级Java架构   4

1.1.3  什么是单体   7

1.1.4  与单体相关的问题有哪些   8

1.2  微服务和分布式架构   9

1.2.1  只做好一件事   9

1.2.2  什么是分布式架构   10

1.2.3  为什么要关心分布式   11

1.2.4  可以做些什么帮助开发微服务   13

1.2.5  项目产品   13

1.2.6  持续集成和持续交付   13

1.3  迁移至微服务的模式   14

1.3.1  领域驱动模式   14

1.3.2  大爆炸模式   16

1.3.3  绞杀者模式   16

1.3.4  混合模式   17

1.4  什么是企业级Java微服务   18

1.5  本章小结   20

第2章  开发一个简单的RESTful微服务   21

2.1  Cayambe单体   21

2.2  新管理站点   23

2.2.1  用例   25

2.2.2  应用的架构   25

2.2.3  使用JAX-RS创建RESTful端点   27

2.2.4  运行   30

2.3  本章小结   32

第3章  恰如其分的微服务应用服务器   33

3.1  恰如其分的应用服务器   33

3.1.1  什么是JeAS   34

3.1.2  JeAS的优点   37

3.1.3  Eclipse MicroProfile   39

3.2  选择恰如其分的应用服务器   40

3.2.1  海滩度假示例应用   40

3.2.2  Dropwizard——原始的有主见的微服务运行时   42

3.2.3  Payara Micro ——精简到JAR中的Java EE应用服务器   45

3.2.4  Spring Boot——有主见的Spring微服务   48

3.2.5  Thorntail——最灵活的JeAS运行时   51

3.2.6  如何比较它们   53

3.3  本章小结   54

第4章  微服务的测试   55

4.1  需要哪些类型的测试   55

4.2  单元测试   56

4.3  什么是不可变性   59

4.4  集成测试   60

4.5  消费者驱动的契约测试   68

4.6  额外的阅读   75

4.7  额外的练习   76

4.8  本章小结   76

第5章  云原生开发   77

5.1  云到底是什么   77

5.2  服务模型   78

5.3  云原生开发   80

5.4 部署到云   81

5.5  开始使用Minishift   82

5.6  微服务的云部署   83

5.7  在云中测试   87

5.8  额外练习   90

5.9  本章小结   91

第Ⅱ部分  实现企业级Java微服务

第6章  消费微服务   95

6.1  使用Java客户端库消费微服务   99

6.1.1  java.net   99

6.1.2  Apache HttpClient   102

6.2  使用JAX-RS客户端库消费微服务   103

6.2.1  JAX-RS客户端   103

6.2.2  RESTEasy客户端   106

6.3  本章小结   109

第7章  服务发现   111

7.1  为什么微服务需要被发现   111

7.1.1  什么是服务发现   112

7.1.2  服务发现和服务注册中心有什么好处   114

7.1.3  无状态与有状态的微服务   116

7.1.4  什么是Netflix Ribbon   116

7.2  使用Thorntail注册微服务   118

7.2.1  Thorntail的拓扑   118

7.2.2  使用拓扑注册微服务   120

7.3  使用Thorntail消费已注册的微服务   123

7.3.1  使用Netflix Ribbon进行服务查找   123

7.3.2  使用RESTEasy客户端进行服务查找   127

7.4  本章小结   130

第8章  容错和监控的策略   131

8.1  分布式架构中的微服务故障   131

8.2  网络故障   134

8.3  缓解故障   134

8.3.1  Hystrix是什么   134

8.3.2  断路器   137

8.3.3  隔舱   140

8.3.4  回退   142

8.3.5  请求缓存   143

8.3.6  综合运用   144

8.3.7  Hystrix仪表盘   146

8.4  把Hystrix添加到Payment微服务   148

8.4.1  使用Hystrix与RESTEasy客户端   149

8.4.2  使用Hystrix与Ribbon客户端   152

8.5  本章小结   153

第9章  微服务的安全   155

9.1  保护微服务的重要性   155

9.1.1  为什么安全性很重要   155

9.1.2  安全性需要解决哪些问题   157

9.2  使用Keycloak   159

9.2.1  理解Keycloak的特性   159

9.2.2  设置Keycloak   159

9.3  保护Stripe微服务   163

9.3.1  配置Keycloak   163

9.3.2  保护Stripe资源   165

9.3.3  在Payment资源中进行身份验证   167

9.3.4  测试受保护的微服务   168

9.4  捕获用户身份验证   170

9.4.1  配置Keycloak   171

9.4.2  保护类别删除   172

9.4.3  在UI中对用户进行身份验证   173

9.4.4  测试新UI和服务   176

9.5  本章小结   177

第10章  构建微服务混合体   179

10.1  Cayambe单体   179

10.2  运行Cayambe单体   181

10.2.1  配置数据库   182

10.2.2  配置WildFly   182

10.2.3  运行Cayambe   184

10.3  Cayambe混合体   185

10.3.1  与Payment微服务集成   187

10.3.2  集成Admin微服务   192

10.3.3  新的管理UI   193

10.3.4  Cayambe混合体小结   193

10.4  部署到混合云中   193

10.4.1  数据库   194

10.4.2  安全性   196

10.4.3  微服务   197

10.4.4  Cayambe混合体   197

10.4.5  Cayambe EAR   199

10.4.6  管理UI   199

10.5  本章小结   199

第11章  使用Apache Kafka   201

11.1  Apache Kafka能做什么   201

11.1.1  数据流   201

11.1.2  Apache Kafka   202

11.2  用数据流简化单体架构   206

11.3  部署并使用Kafka来实现数据流   208

11.3.1  Openshift中的Kafka   208

11.3.2  Admin微服务   210

11.3.3  Kafka消费者   212

11.4  额外练习   216

11.5  本章小结   216

附录A  Spring Boot微服务   217

A.1  剖析Spring Boot项目   217

A.1.1  查看一个新初始化的Spring Boot项目   217

A.1.2  启动Spring   218

A.1.3  测试Spring Boot应用   219

A.1.4  配置应用的属性   220

A.2  Spring Boot启动器依赖项   221

A.2.1  使用启动器依赖项   221

A.2.2  指定基于方面的依赖项   222

A.2.3  重写启动器传递的依赖项   223

A.3  开发Spring Boot应用   225

A.3.1  专注于应用的功能   225

A.3.2  定义领域   225

A.3.3  定义资源库接口   226

A.3.4  创建Web接口   227

A.4  Spring Boot测试   230

A.5  本附录小结   233


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证