作品简介

《企业级Java现代化:写给开发者的云原生简明指南》讨论了如何利用现代化的技术开发新一代的企业级Java应用。传统的单体应用已经难以适应云环境下的开发和部署,因此,作者首先介绍了在云环境下需要什么样的Java应用架构和开发实践。作者基于Quarkus、Spring Boot和Vert.x技术搭建了一个典型的云原生分布式应用,并将其容器化和部署至Kubernetes。Serverless是一种新兴的应用开发和部署模式,能够最大化地节省成本,作者以Knative平台为例,讲解了如何将我们开发的云原生应用部署至Serverless平台。在应用现代化的过程中,我们不仅要面临新应用的开发,更要处理已有的遗留应用,作者花费大量的篇幅介绍了对传统应用进行现代化改造的行动方案,其中涉及大量最佳实践,以及实用的技术和工具。

Markus Eisele是Red Hat在EMEA的开发者项目的负责人。他与不同供应商的Java EE服务器打交道已经超过14年。他是一名Java Champion,Java EE前专家组成员,也是德国大名鼎鼎的Java会议JavaLand的创始人。

Natale Vinto是一名软件工程师,在IT和ICT技术方面有超过10年的专业经验,在电信和Linux操作系统方面有深厚的背景知识。如今,Natale是红帽OpenShift开发者的倡导者,帮助社区内的人和客户在Kubernetes与云原生战略上获得成功。

张卫滨,天津大学 2007 届研究生,有着十多年的企业级软件研发和设计经验,热爱探索和研究新技术,目前主要关注云原生、微服务、自动化测试等领域。翻译出版了十多本流行的技术图书,如《Spring 实战》(第 3 版到第 6 版)、《Spring Data 实战》、《RxJava反应式编程》等。业余时间担任技术社区 InfoQ 的编辑,撰写、翻译了数百篇技术文章和新闻。

作品目录

  • O'Reilly Media,Inc.介绍
  • 推荐序
  • 译者序
  • 序言
  • 前言
  • 第1章 重新回顾企业级开发
  • 什么是公有云与私有云?为何要使用云
  • “云原生”的含义
  • Kubernetes原生的开发
  • 面向开发者的容器和编排
  • 容器原生的运行时
  • Kubernetes的不同风格
  • 管理开发的复杂性
  • DevOps与敏捷
  • 小结
  • 第2章 云原生Java之路
  • 云原生工作坊
  • 架构
  • 使用Quarkus创建Inventory微服务
  • 创建Quarkus Maven项目
  • 创建领域模型
  • 创建RESTful服务
  • 在开发模式下运行应用
  • 使用Spring Boot创建Catalog微服务
  • 创建Maven项目
  • 创建领域模型
  • 创建数据资源库
  • 创建RESTful服务
  • 使用Vert.x创建Gateway服务
  • 创建Vert.x Maven项目
  • 创建API Gateway
  • 使用Node.js和AngularJS创建前端
  • 运行前端
  • 小结
  • 第3章 轻装前行
  • 是三层还是分布式系统
  • 技术更新、现代化和转型
  • 6R
  • 分解并容器化
  • 将Kubernetes作为新的应用服务器
  • 定义目标平台
  • 强制迁移的步骤和工具
  • 创建应用组合
  • 为大事做准备
  • 小结
  • 第4章 基于Kubernetes的软件开发平台
  • 开发人员与Kubernetes
  • Kubernetes能够做什么
  • Kubernetes不能做什么
  • 基础设施即代码
  • 容器镜像
  • Dockerfile
  • 构建容器镜像
  • 运行容器
  • 镜像仓库
  • 部署至Kubernetes
  • Pod
  • Service
  • Deployment
  • Kubernetes与Java
  • Jib
  • JKube
  • 小结
  • 第5章 超越原样转移:处理遗留系统
  • 管理遗留系统
  • 评估要迁移的应用
  • 评估要迁移的功能
  • 迁移方式
  • 保护遗留应用(Replatform)
  • 构建新的应用(Refactor)
  • 挑战
  • 避免双重写入
  • 长时间运行的事务
  • 快速移除旧代码
  • 集成
  • 小结
  • 第6章 构建Kubernetes原生的应用
  • 寻找可扩展性和复杂性之间的平衡点
  • 现代化架构的功能性需求
  • API驱动
  • 服务发现
  • 安全与授权
  • 监控
  • 跟踪
  • 日志
  • CI/CD
  • 调试微服务
  • 端口转发
  • Quarkus远程开发模式
  • Telepresence
  • 小结
  • 第7章 未来之路:Serverless
  • 什么是Serverless
  • 架构的演进
  • 使用场景:数据、AI与机器学习
  • 使用场景:边缘计算和IoT
  • Knative:适用于Kubernetes的Serverless
  • 事件驱动的Serverless架构
  • 面向Java应用的函数即服务
  • Java应用的函数部署
  • Boson Function CLI
  • 小结
  • 索引
  • 关于作者
  • 关于译者
  • 关于审校者
  • 关于封面
展开全部