zoukankan      html  css  js  c++  java
  • 基于WCF大型分布式系统的架构设计

    在大型系统中应用中,一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表。而在架构设计中,各个功能模块相互之间的交互点 越统一、越少,系统的耦合度就越低,系统各个模块的维护性及扩展性也就越好。

    在一个系统中特别是较为大型的系统中,如电子商务系 统,可也按照功能,切分为,订单管理系统、商品管理系统、用户管理系统、供应商管理系统...等等,在这样的应用中系统切分了、功能独立了、耦合降低了、 容易维护了。可是各个系统中的通讯怎么完成呢?如果用户系统想查询某个用户的订单信息,要怎么做呢?

    a,是要直接引用,订单系统的DLL,

    b,还是把这些需要相互调用的功能放在一个叫Common的项目中供所有子系统调用呢,

    c,或者干脆直接在用户系统中跨库查询订单库,这些方法都不优良,这个时候该到微软的利器WCF亮相的时候了,先看下面架构图

    这个样设计的优点:

    1.层与层之间的服务器可以灵活组合,每层中的服务器,可水平扩展(集群),可纵向扩展(按系统/域/功能切分)

    2.所有中间件服务即可为本系统提供服务也可以为其他系统提供服务(甚至是第三方如:java的),提供系统间的无缝连接,系统之间的耦合不依赖于应用程序也不依赖于数据库,而依赖于服务接口。

    3.所有对数据库的操作都依赖于中间件,不允许对数据库直接操作,这样即达到了数据库的安全性,又能给应用程序服务器减压,因为实际的查询工作不在由应用程序服务器的数据访问层完成,而是分担给这个中间件服务器完成。

    总结:

    WCF分布式体现在:将系统的多个模块拆分,使其功能独立,降低耦合,提高模块的维护性及扩展性。

  • 相关阅读:
    URL传参到servlet含特殊字符——#号无法传递
    textarea标签中间出现空格问题
    MySQL学习笔记(23)——自定义函数
    修改日期插件问题
    获取Spring的ApplicationContext的方法
    数据库用户被锁
    ava获得当前文件路径
    前端框架
    LeetCode 485. 最大连续1的个数
    LeetCode 283. 移动零
  • 原文地址:https://www.cnblogs.com/lvjy-net/p/10449219.html
Copyright © 2011-2022 走看看