技术教育社区
www.teccses.org

企业级Java现代化 写给开发者的云原生简明指南

封面

作者:(德)马库斯·艾泽勒,(德)纳塔菜·文托

页数:164

出版社:电子工业出版社

出版日期:2022

ISBN:9787121443374

电子书格式:pdf/epub/txt

内容简介

本书讨论了如何利用现代化的技术开发新一代的企业级Java应用。传统的单体应用已经难以适应云环境下的开发和部署,因此,作者首先介绍了在云环境下需要什么样的Java应用架构和开发实践。作者基于Quarkus、SpringBoot和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 的编辑,撰写、翻译了数百篇技术文章和新闻。

本书特色

Quarkus+Spring Boot+Vert.x+Kubernetes+Serverless+Knative主流技术栈全程实战||云原生环境下Java程序员的生存与突围之道企业级Java现代化 写给开发者的云原生简明指南在技术领域的讨论中,虽然容器、微服务和分布式系统占据了主导地位,但是目前正在使用的大多数应用依然是单体架构的,遵循着传统的开发流程。这本实用的图书能够帮助开发人员审视长期以来基于Java的模型,并阐述如何将这些单体应用成功地带入未来。作者Markus Eisele和Natale Vinto凭借多年来致力于应用现代化的经验,带领你了解对组织内Java应用进行更新的关键步骤。你将会学到如何淘汰单体应用,以及如何转移至能够跨云和自建环境的现代软件技术栈。
· 学习云原生应用的基础知识,掌握企业内基于Java的应用和平台中哪些部分需要迁移和现代化。
· 理解企业级Java规范如何帮助我们迁移项目和团队。
· 构建支持高效开发的云原生平台,避免落入网络热词的陷阱。
· 识别候选项目并通过现代化步骤进行研判,以寻找项目迁移的起点。
· 探索如何基于容器和Kubernetes组件来完善传统的企业级Java应用。
对于我们的客户来讲,成功处理遗留系统是核心的挑战之一。Natale和Markus阐述了强化这个处理过程的方法论和技术。”——Ashesh Badani, 产品高级副总裁,Red Hat 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

小结

索引

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《企业级Java现代化 写给开发者的云原生简明指南》
Article link:https://www.teccses.org/1410034.html