首页 理论教育 Java服务端研发框架与微服务介绍

Java服务端研发框架与微服务介绍

时间:2023-11-22 理论教育 版权反馈
【摘要】:好在现在有许多非常成熟的服务框架可以使用,例如常用的SSH框架或者SSM框架。本篇会介绍这些框架的原理和核心的用法,通过Spring进行服务管理,通过Spring MVC进行业务流程控制,通过MyBatis进行持久化操作。然后会介绍Spring Boot工程,它会使框架对业务的影响更小,配置更简单。微服务的引入带来的问题主要通过微服务框架进行解决,所以本篇还会介绍Spring Cloud微服务框架。

Java服务端研发框架与微服务介绍

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

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

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

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

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

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

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈