为何要构建Api、Service、Web三层

本文深入解析微服务架构的三层设计,包括Api层、Service层和Web层,阐述各自的功能及相互间的关系,以及如何在分布式环境中高效调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Api层

Api是作为一个对外提供的接口层,用过Feign的都知道,大家一般都是通过api的调用的方式去请求其它分布式服务,而我们的Api层正是提供给其它模块或者系统进行分布式调用使用的。我们可以将Api层打成jar包发布到私服上(或者其它方式提供出去),然后要其它模块或系统要调用时直接依赖相应模块提供出来的jar包即可进行分布式调用。

2. Service层

Service作为业务逻辑层,作用是实现业务逻辑并对数据库进行访问。Service层依赖了Api层,是Api接口的逻辑实现。

3. Web层

Web层是作为控制层,主要作用是接收来自客户端或其它分布式服务的请求,调用Service层进行业务处理,然后对请求进行响应。所以Web又依赖了Service层,它也是作为服务部署的一个模块,Web层可以打成jar包或者war进行服务部署。把web独立出来的另一个重要原因是,当我们不采用分布式,只想通过本地服务像传统项目一样访问其他模块时,直接在pom文件添加要访问的模块的Service依赖即可(要保证Service是使用的同一个数据库),这时我们系统就是一个传统的单服务架构了。

备注:项目里我将user、article进行作为分布式服务划分,是按项目模块进行划分的。这里应该要根据公司业务实际情况,可以像我一样根据模块进行划分,也可根据项目进行划分(一个项目作为一个分布式服务),当业务访问量大的时候甚至可以单独将一支接口作为一个分布式服务。

项目源码地址:https://github.com/luckymeet/spring-cloud-seed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值