《大型互联网应用轻量级架构实战》一书已出版
《大型互联网应用轻量级架构实战》一书已于上月出版,今天刚刚拿到样书。简单的说,这是一本讲架构书——轻量级互联网应用架构。
内容简介
本书主要是介绍基于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的互联网应用的过程,能够深刻领会上述技术的底层原理,掌握实现软件架构的能力,提升自己在市场的竞争力。
全书分为以下部分:
- 基础:介绍Spring、MyBatis、MySQL等开源技术栈。涉及技术包括Maven、Jetty、Spring框架、Spring MVC、Spring Security、MyBatis、MySQL、Angular、NGINX、Redis、Spring Boot等。
- 进阶:从0开始搭建一个可以实现Web互联网应用的开发框架“Lite”。
- 实战:基于Lite实现一个“新闻头条”互联网应用。
- 提升:介绍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上进行发布。笔者在编写本书的过程中,已竭尽所能地为读者呈现最好、最全的实用功能,但错漏之处在所难免,欢迎读者批评指正,也可以通过以下方式直接联系我们。
致谢
感谢北京大学出版社的各位工作人员为本书的出版所做的努力。
感谢我的父母、妻子和两个女儿。由于撰写本书,牺牲了很多陪伴家人的时间,在此感谢家人对我工作的理解和支持。
感谢广大读者一如既往的支持。
参考引用
- 本文同步至: https://waylau.com/the-lite-book/
- 《大型互联网应用轻量级架构实战》:https://github.com/waylau/lite-book-demos