• dubbo-应用的架构演变


    一.架构演变图

    二.单一架构ORM

      》特点:当并发量很低时,可以采用单一架构:把各个功能系统都放在一个工程当中,然后把工程部署到服务器上就行了

      》若并发量随之增加,可多配置一定数量的服务器(这只是暂时性的应对措施)

      》缺点:

        1.拓展麻烦。当我们需要添加新功能时,在整个项目的基础上添加的且添加完毕后得重新打包部署到服务器上,若服务器一多,修改量随之增加了

        2.协调开发复杂。有可能是多个开发人员同时对整个项目进行修改,很容易出现代码的冲突的问题

        3.服务器面临压力变大的趋势。随项目功能的增加,一个工程占有的空间随之增大,服务器要运行该项目所承受的压力也变大

    三.垂直应用架构

      》特点:将一个工程拆解成多个子系统(模块),每个模块配置一定数量的服务器管理

      》优点:

        1.模块间相对独立。当需要修改某一模块时,并不会对其他模块有任何的改变

        2.服务器压力的减小。根据模块的并发量,为之配置合适数量的服务器,减少各服务器的压力

      》缺点:

        1.界面和业务逻辑耦合。当界面发生修改时,整个模块包含业务逻辑也随之牵涉在内,很有可能让模块老是部署到服务器

        2.不完全独立。模块与模块间会存在大量的相互调用

    四.分布式服务架构

      》特点:将模块间的核心业务抽取出来,拆解成表现层和服务层

      》优点:

        1.表现层和服务层实现解耦。当表现层涉及修改时,不影响服务层

        2.表现层可以根据自己的需求调用不同的服务,更加方便,清晰。

      》缺点:

        1.表现层和服务层间的调用错综复杂。

        2.服务器分配不灵活。可能会出现某一模块的多台服务器相对闲置,另一模块的服务器压力过大的情况,我们是希望闲置的服务器能够分担压力

      》补充内容;往往表现层调用服务层的服务是处于不同的服务器(计算机)上的,不同的服务器之间的调用功能需要遵守RPC(远程过程调用)协议

    五.流动计算架构

      》特点:可以根据服务器压力的情况,灵活调配服务器执行相应的功能或模块

  • 相关阅读:
    Java实现 LeetCode 440 字典序的第K小数字
    Java实现 LeetCode 438 找到字符串中所有字母异位词
    route命令详解与使用实例
    Google protobuf的安装及使用
    linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析
    _GUN_SOURCE宏
    CodeViz产生函数调用图
    linux下阅读源代码的工具
    linux gcc 编译时头文件和库文件搜索路径
    Makefile第四讲:include 引用其它makefile文件
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/13337890.html
Copyright © 2020-2023  润新知