《大型互联网应用轻量级架构实战》一书已于上月出版,今天刚刚拿到样书。简单的说,这是一本讲架构书——轻量级互联网应用架构。

内容简介

本书主要是介绍基于Maven、Jetty、Spring框架、Spring MVC、Spring Security、MyBatis、MySQL、Angular、NGINX、Redis、Spring Boot等开源技术栈搭建应用框架并快速实现互联网应用的过程。这些技术并未完全遵守传统的JEE所提供的规范,却被广大互联网公司所采用,其原因正是一种反传统的“轻量级”开发模式深入人心。所谓轻量,指的是抛弃墨守成规、面向规范的臃肿开发方式,转而采用开源的、重视解决具体问题的技术框架。

本书将带领读者从0开始搭建一个可以实现Web互联网应用的开发框架,命名为“Lite”。通过学习Lite轻量级框架的搭建过程,便于读者深刻理解Spring、MyBatis、MySQL等技术原理及实现方式,令读者具备架构软件的能力。同时,在Lite框架的基础上,还会继续实现一个“新闻头条”大型互联网应用,真正实现技术落地。

本书主要面向对Web开发、分布式系统、微服务开发感兴趣的计算机专业的学生、软件开发人员和系统架构师。

写作背景

随着云计算的普及、Cloud Native应用开发模式将会深入人心,这意味着未来的应用将会朝着快速迭代、分布部署、独立运行等方面发展,敏捷、轻量的框架也必将会受到更多开发者的青睐。为此笔者开发了Lite框架,以用于简化Web开发。

Lite框架抛弃了墨守成规、面向规范的臃肿开发方式,转而采用开源的、重视解决具体问题的技术。这些技术包括了Maven、Jetty、Spring框架、Spring MVC、Spring Security、MyBatis、MySQL、Angular、NGINX、Redis、Spring Boot等等,可以说都是当今互联网公司主流应用技术,经受住了大规模商业实践的考验。

读者通过学习Lite的框架搭建以及开发基于Lite的互联网应用的过程,能够深刻领会上述技术的底层原理,掌握实现软件架构的能力,提升自己在市场的竞争力。

全书分为以下部分:

  1. 基础:介绍Spring、MyBatis、MySQL等开源技术栈。涉及技术包括Maven、Jetty、Spring框架、Spring MVC、Spring Security、MyBatis、MySQL、Angular、NGINX、Redis、Spring Boot等。
  2. 进阶:从0开始搭建一个可以实现Web互联网应用的开发框架“Lite”。
  3. 实战:基于Lite实现一个“新闻头条”互联网应用。
  4. 提升:介绍Spring Boot等技术,通过Spring Boot来继续简化Lite框架。

源代码

本书提供源代码下载,下载地址为https://github.com/waylau/lite-book-demos

本书所涉及的技术和相关版本

技术的版本是非常重要的,因为不同版本之间存在兼容性问题,而且不同版本的软件所对应的功能也是不同的。本书所列出的技术在版本上相对较新,都是经过笔者大量测试的。这样读者在自行编写代码时,可以参考本书所列出的版本,从而避免版本兼容性所产生的问题。建议读者将相关开发环境设置得跟本书一致,或者不低于本书所列的配置。

详细的版本配置如下:

  • JDK 9
  • Eclipse Java EE IDE for Web Developers 4.8.0
  • Tomcat 9.0.13
  • Servlet 4.0.1
  • Jetty 9.4.14.v20181114
  • Spring 5.1.5.RELEASE
  • Spring Web MVC 5.1.5.RELEASE
  • Jackson JSON 2.9.7
  • Spring Security 5.2.0.BUILD-SNAPSHOT
  • MyBatis 3.4.6
  • Mybatis Spring 1.3.2
  • MySQL Community Server 8.0.12
  • Apache Commons DBCP 2.5.0
  • JUnit Jupiter Engine 5.3.2
  • logback 1.2.3
  • SLF4J 1.7.25
  • NGINX 1.15.8
  • Angular 7.0.6
  • Redis 3.2.100
  • Spring Data Redis 2.1.4.RELEASE
  • Jedis 2.10.2
  • Spring Boot 2.1.2.RELEASE
  • MyBatis Spring Boot Starter 2.0.0

本书示例采用Eclipse编写,但示例源码与具体的IDE无关,读者可以选择适合自己的IDE,如IntelliJ IDEA、NetBeans等。运行本书示例,请确保JDK版本不低于 JDK 9。

勘误和交流

本书如有勘误,会在https://github.com/waylau/lite-book-demos/issues上进行发布。笔者在编写本书的过程中,已竭尽所能地为读者呈现最好、最全的实用功能,但错漏之处在所难免,欢迎读者批评指正,也可以通过以下方式直接联系我们。

致谢

感谢北京大学出版社的各位工作人员为本书的出版所做的努力。

感谢我的父母、妻子和两个女儿。由于撰写本书,牺牲了很多陪伴家人的时间,在此感谢家人对我工作的理解和支持。

感谢广大读者一如既往的支持。

参考引用