微服务潮流下,不同微服务内部架构的改变

在之前应用还是单体的时候,每个应用的分层使用使用包名来区分随着技术的发展单体架构的缺点逐渐暴露:随着业务的增长,应用逐渐膨胀,导致部署慢,编译慢,效率低等一系列问题。微服务架构随之出现,每个服务的应用架构也随之改变。以下是我个人根据公司的架构和java规约给出的理解

 

 其中的每层都是一个单独的模块,而不再以包名来区分。

web层和api层:都是对外暴露服务的作用,但是web层主要负责启动和controller,而api主要是为了让其他服务引用可以使用feign这样声明士的调用

biz层:这一层是业务层主要是处理业务逻辑的,可以直接使用dao层也可通过infrastructure来编写业务逻辑

infrastructure层:这一层是该服务中公用的逻辑和对中间件的处理例如缓存和消息队列

dao层:数据访问层,用来实现数据的增删改查

model层(图中缺失):领域模型模块,包含了bo,dto,po等

common层:通用的类,例如工具类,服务常量和一些枚举等

posted @ 2020-08-05 15:51  炒鸡  阅读(260)  评论(0)    收藏  举报