分层的思想已经融入技术人的血液,什么是互联网分层架构的本质,为什么要进行分层设计,DAO层的抽象,基础数据服务化,通用业务服务化,数据库中间件的抽象,前后端分离架构这些技术和分层架构有什么关系,是本次要分享的内容。
如果我们仔细思考会发现,不管是跨进程的分层架构,还是进程内的MVC分层,都是一个“数据移动”,然后“被处理”和“被呈现”的过程,归根结底一句话:互联网分层架构,是一个数据移动,处理,呈现的过程,其中数据移动是整个过程的核心。
弄清楚这个原则与方法,再加上一些经验积累,就能回答网友经常在评论中提出的这些问题了:
是否需要引入DAO层,什么时机引入
是否需要服务化,什么时机服务化
是否需要抽取通用中台业务,什么时机抽取
是否需要前后端分离,什么时机分离
当业务越来越复杂,垂直拆分的系统越来越多,数据库实施了水平切分,数据层实施了缓存加速之后,底层数据获取复杂性成为通用痛点的时候,就应该抽象出数据服务层,简化数据获取过程,提高数据获取效率,向上游屏蔽底层的复杂性。
互联网分层架构是一个很有意思的问题,服务化的引入,并不是越早越好:
请求处理时间可能会增加
运维可能会更加复杂
定位问题可能会更加麻烦
千万别鲁莽的在“微服务”大流之下,草率的进行微服务改造,看似“高大上架构”的背后,隐藏着更多并未接触过的“大坑”。还是那句话,架构和业务的特点和阶段有关:一切脱离业务的架构设计,都是耍流氓。
浏览1642次
浏览5268次
浏览7439次
浏览9837次
浏览2190次
浏览5707次
2025-06-20 深圳
2025-04-19 南京
2025-08-15 上海
2025-10-23 上海
打开微信扫一扫,分享到朋友圈