架构设计实践:基于WCF大型分布式系统
来源:互联网 发布:ip与mac绑定 编辑:程序博客网 时间:2024/06/01 08:47
在大型系统中应用中,一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表。而在架构设计中,各个功能模块相互之间的交互点越统一、越少,系统的耦合度就越低,系统各个模块的维护性及扩展性也就越好。
在一个系统中特别是较为大型的系统中,如电子商务系统,可也按照功能,切分为,订单管理系统、商品管理系统、用户管理系统、供应商管理系统...等等,在这样的应用中系统切分了、功能独立了、耦合降低了、容易维护了、可是各个系统中的通讯怎么完成呢,如果,用户系统想查询某个用户的订单信息,要怎么做呢?是要直接引用,订单系统的DLL,还是把这些需要相互调用的功能放在一个叫Common的项目中供所有子系统调用呢,或者干脆直接在用户系统中跨库查询订单库,这些方法都不优良,这个时候该到微软的利器WCF亮相的时候了,先看下面架构图
这个样设计的优点:
1.层与层之间的服务器可以灵活组合,每层中的服务器,可水平扩展(集群),可纵向扩展(按系统/域/功能切分)
2.所有中间件服务即可为本系统提供服务也可以为其他系统提供服务(甚至是第三方如:java的),提供系统间的无缝连接,系统之间的耦合不依赖于应用程序也不依赖于数据库,而依赖于服务接口。
3.所有对数据库的操作都依赖于中间件,不允许对数据库直接操作,这样即达到了数据库的安全性,又能给应用程序服务器减压,因为实际的查询工作不在由应用程序服务器的数据访问层完成,而是分担给这个中间件服务器完成。
在一个系统中特别是较为大型的系统中,如电子商务系统,可也按照功能,切分为,订单管理系统、商品管理系统、用户管理系统、供应商管理系统...等等,在这样的应用中系统切分了、功能独立了、耦合降低了、容易维护了、可是各个系统中的通讯怎么完成呢,如果,用户系统想查询某个用户的订单信息,要怎么做呢?是要直接引用,订单系统的DLL,还是把这些需要相互调用的功能放在一个叫Common的项目中供所有子系统调用呢,或者干脆直接在用户系统中跨库查询订单库,这些方法都不优良,这个时候该到微软的利器WCF亮相的时候了,先看下面架构图
转播到腾讯微博
这个样设计的优点:
1.层与层之间的服务器可以灵活组合,每层中的服务器,可水平扩展(集群),可纵向扩展(按系统/域/功能切分)
2.所有中间件服务即可为本系统提供服务也可以为其他系统提供服务(甚至是第三方如:java的),提供系统间的无缝连接,系统之间的耦合不依赖于应用程序也不依赖于数据库,而依赖于服务接口。
3.所有对数据库的操作都依赖于中间件,不允许对数据库直接操作,这样即达到了数据库的安全性,又能给应用程序服务器减压,因为实际的查询工作不在由应用程序服务器的数据访问层完成,而是分担给这个中间件服务器完成。
- 架构设计实践:基于WCF大型分布式系统
- 架构设计实践:基于WCF大型分布式系统
- 基于WCF大型分布式系统的架构设计
- 【大型分布式网站架构设计与实践】-系统稳定性
- 大型分布式网站架构设计与实践
- 大型分布式网站架构设计与实践
- 大型分布式网站架构设计与实践
- 大型分布式网站架构设计与实践
- 《大型分布式网站架构设计与实践》
- 《大型分布式网站架构设计与实践》
- <大型分布式网站架构设计与实践>笔记 2、分布式系统基础设施
- 大型分布式系统架构与设计实战
- <大型分布式网站架构设计与实践>笔记 4、系统稳定性
- 大型分布式网站架构设计与实践 第一章《面向服务的体系架构(SOA)》1.1基于TCP协议的RPC
- 大型分布式系统架构
- 大型分布式网站架构设计与实践《概述与大纲》
- 《大型分布式网站架构设计与实践》读书笔记
- 《大型分布式网站架构设计与实践》读书笔记
- I/O流基础试题
- CDN-Content Delivery Network
- Concurrency Utilities 并发处理(2)Condition 条件变量
- 解决the NTP socket is in use, exiting问题
- sql执行顺序
- 架构设计实践:基于WCF大型分布式系统
- ”凤毛麟角的ZendFramework“-2-Zend_Exception-1
- hadoop 命令手册
- 简单java试题
- 软考中期
- Android开发新手学习笔记(一)
- sql复制表结构和数据
- printf与cout同时使用的问题
- ”凤毛麟角的ZendFramework“-2-Zend_Exception-2-MVC EXCEPTION