ad

《JAVA服务端研发知识图谱》_让你更懂Java后台研发_第二篇 服务框架篇

admin 58 2023-10-25

【摘要】 本书摘自《JAVA服务端研发知识图谱》一书中第二篇,由何为、迟文恒 编著。

第二篇 服务框架篇

第一篇分别讲解了 Java 语言、 Maven 工程构建、代码管理和服务器命令,这些内容组合起 来距离一个可以支撑业务运行的服务来说好像还很远。

如果一个业务请求通过HTTP 协议发送到Java 程序,程序如何承接请求、如何转化协议为 对象、如何把请求映射到业务处理逻辑?如果业务请求希望得到一个可以展示的页面,那么如 何绘制页面并且正确地返回给请求方?如果某个业务希望永久保存某些数据,那么就不能把数 据存储在程序内存中,数据需要通过数据库进行持久化操作,如何通过程序操作数据库?如果 这些问题要自己一一解决将会非常困难。好在现在有许多非常成熟的服务框架可以使用,例如 常用的SSH(Struts+Spring+Hibernate)框架或者SSM(Spring+SpringMVC+MyBatis) 框架。

框架可以帮助解决上面列出的大部分通用的基础问题,研发人员只需要使用框架进行正确 的配置并完成业务的特殊逻辑就可以实现业务需求。本篇会介绍这些框架的原理和核心的用 法,通过Spring进行服务管理,通过Spring MVC 进行业务流程控制,通过 MyBatis进行持久化 操作。然后会介绍 Spring Boot 工程,它会使框架对业务的影响更小,配置更简单。

通过 SSM 框架已经可以进行程序的业务研发工作了,但是此框架对于承载大型互联网业务 可能存在一些弊端9。例如在同一工程中,代码间的耦合和依赖会是一个问题;部分修改尤其是 基础模块的修改需要整个项目的编译及系统测试,会是一种人力成本的浪费;某些模块能力需 要对外开放时,传统架构对单一模块的扩展无法支撑也是一个问题。诸如此类的问题非常多, 其实汇聚为一点,就是大系统不灵活。

《JAVA服务端研发知识图谱》_让你更懂Java后台研发_第二篇 服务框架篇

为了解决以上问题,微服务的理念应运而生。简单来讲,微服务就是把一个大系统拆分成 很多个小系统,每个小系统独立运行,承担某一部分能力,这样可以让单独一个小系统承担的 任务更加纯粹,负责这块系统的研发人员也可以更加专注。微服务的好处很多,总体来看它确 实优化了很多传统框架无法解决的问题。但是把一个大程序拆分成很多小程序,也会带来很多 问题。因为程序间是通过网络调用的,不像传统架构是程序内部调用,那么程序间的网络通信 是微服务要解决的问题;还有程序间的调用关系链及依赖问题、服务间互相调用时的服务发现 问题等。微服务的引入带来的问题主要通过微服务框架进行解决,所以本篇还会介绍 Spring Cloud微服务框架。

希望读者通过本篇的学习,能够对服务整体的运行原理有所认识,能够亲手搭建一个传统 框架的服务和一套微服务框架的服务

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《认知计算与深度学习》_基于物联网云平台的智能应用_2.3.4 Docker 容器调度和业务流程
下一篇:从《Python数据分析案例教程》中_领悟数据和Python的魅力_3.1 认识 NumPy
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×