大厂后端SOA 架构设计

小编曾有幸在上海某知名大型互联网公司从事过,今天给大家分享下,大厂的后端 SOA架构设计。

说明:该项目是基于 jdk 1.7,maven 3,采用zookeeper作为注册中心,dubbo 分布式rpc 调用,dal_client 分库分表,cat 服务结合dubbo admin作为服务监控,本文只讲解项目结构,下一篇文章讲解怎么结合项目使用 dubbo,zookeeper,cat等干货

2个4层架构:

第一个4层架构:caller → client → interface → server

第二个4层架构:dao → export → facade → service

项目是通过maven工程来管理的

1、系统总体设计包括“适配层”和“服务层”(设计适配层主要是兼容不同语言的请求和响应,当时主要是兼容php)

图片[1]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

1.1 适配层 interface 层

图片[2]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

1.2 适配层 server 层

图片[3]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

1.3 适配层 adaptor 层 ,主要负责 入参、出参、入参转换、出参转换

图片[4]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

2.1 服务层 client 层 (client层依赖interface层)

图片[5]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

2.2 服务层 interface 层,主要负责入参、出参、定义服务

图片[6]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

2.3 服务层 server 层

图片[7]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

2.4 Dao层包括 dao的定义、model实体的定义和daoImpl的实现类

图片[8]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

2.5 export层定义了向外暴露的方法

图片[9]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

2.6 facade层做简单的业务处理,如果业务比较简单,直接在facade层里写业务,如果业务比较复杂,将业务写在下一层service层

图片[10]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

2.7 service层编写主要的业务逻辑,这里加入了base层和biz层,主要是为了共用,在base层里面定义一些操作数据库的共用方法,增删改查等,并在base/impl里面实现(biz里面写一些基础的业务,也就是facade层service层里面的业务根据具体情况可以放在biz层完成)

图片[11]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

2.8 utils包中存放的是一些工具类

图片[12]-大厂后端SOA 架构设计-JieYingAI捷鹰AI

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享