分享

互联网分层架构演进

 快读书馆 2018-01-18

如果我们仔细思考会发现,不管是跨进程的分层架构,还是进程内的MVC分层,都是一个“数据移动”,然后“被处理”和“被呈现”的过程,归根结底一句话:互联网分层架构,是一个数据移动,处理,呈现的过程,其中数据移动是整个过程的核心。

弄清楚这个原则与方法,再加上一些经验积累,就能回答网友经常在评论中提出的这些问题了:

  • 是否需要引入DAO层,什么时机引入

  • 是否需要服务化,什么时机服务化

  • 是否需要抽取通用中台业务,什么时机抽取

  • 是否需要前后端分离,什么时机分离


当业务越来越复杂,垂直拆分的系统越来越多,数据库实施了水平切分,数据层实施了缓存加速之后,底层数据获取复杂性成为通用痛点的时候,就应该抽象出数据服务层,简化数据获取过程,提高数据获取效率,向上游屏蔽底层的复杂性。


  • 互联网分层架构是一个很有意思的问题,服务化的引入,并不是越早越好:

  • 请求处理时间可能会增加

  • 运维可能会更加复杂

  • 定位问题可能会更加麻烦


千万别鲁莽的在“微服务”大流之下,草率的进行微服务改造,看似“高大上架构”的背后,隐藏着更多并未接触过的“大坑”。还是那句话,架构和业务的特点和阶段有关:一切脱离业务的架构设计,都是耍流氓。


作者 沈剑

·“架构师之路”作者,深夜写写技术文章

·百度-高级工程师

·58同城-高级架构师,技术委员会主席,技术学院优秀讲师

·58到家-高级技术总监,技术委员会主席

·58速运-CTO


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多