基于WCF大型分布式系统的架构设计
在大型系统中应用中,一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表。而在架构设计中,各个功能模块相互之间的交互点 越统一、越少,系统的耦合度就越低,系统各个模块的维护性及扩展性也就越好。
在一个系统中特别是较为大型的系统中,如电子商务系 统,可也按照功能,切分为,订单管理系统、商品管理系统、用户管理系统、供应商管理系统...等等,在这样的应用中系统切分了、功能独立了、耦合降低了、 容易维护了。可是各个系统中的通讯怎么完成呢?如果用户系统想查询某个用户的订单信息,要怎么做呢?
a,是要直接引用,订单系统的DLL,
b,还是把这些需要相互调用的功能放在一个叫Common的项目中供所有子系统调用呢,
c,或者干脆直接在用户系统中跨库查询订单库,这些方法都不优良,这个时候该到微软的利器WCF亮相的时候了,先看下面架构图
这个样设计的优点:
1.层与层之间的服务器可以灵活组合,每层中的服务器,可水平扩展(集群),可纵向扩展(按系统/域/功能切分)
2.所有中间件服务即可为本系统提供服务也可以为其他系统提供服务(甚至是第三方如:java的),提供系统间的无缝连接,系统之间的耦合不依赖于应用程序也不依赖于数据库,而依赖于服务接口。
3.所有对数据库的操作都依赖于中间件,不允许对数据库直接操作,这样即达到了数据库的安全性,又能给应用程序服务器减压,因为实际的查询工作不在由应用程序服务器的数据访问层完成,而是分担给这个中间件服务器完成。
总结:
WCF分布式体现在:将系统的多个模块拆分,使其功能独立,降低耦合,提高模块的维护性及扩展性。
基于WCF大型分布式系统的架构设计的更多相关文章
- 大型 web 前端架构设计-面向抽象编程入门
https://mp.weixin.qq.com/s/GG6AtBz6KgNwplpaNXfggQ 大型 web 前端架构设计-面向抽象编程入门 曾探 腾讯技术工程 2021-01-04 依赖反转 ...
- 基于laravel4.2的相关架构设计
项目组不久前引进了laravel框架,本人参与了laravel的调研和项目架构设计.个人认为项目架构中基于laravel的有些设计还是比较实用和有借鉴性的,现将一些设计分享给大家,希望能和大家共同学习 ...
- 大型网站的架构设计问题—-大型高并发高负载网站的系
转载:http://www.cnblogs.com/cxd4321/archive/2010/11/24/1886301.html 随着中国大型IT企业信息化速度的加快,大部分应用的数据量和访问量都急 ...
- 【大型web架构】一个大型web系统架构设计和技术选型的讨论摘录
1.数据库压力问题 所有的压力最终都会反映到数据库方面,一定要对数据库有一个整体的规划. 可以按照业务.区域等等特性对数据库进行配置,可以考虑分库.使用rac.分区.分表等等策略,确保数据库能正常的进 ...
- 浅谈基于Prism的软件系统的架构设计
很早就想写这么一篇文章来对近几年使用Prism框架来设计软件来做一次深入的分析了,但直到最近才开始整理,说到软件系统的设计这里面有太多的学问,只有经过大量的探索才能够设计出好的软件产品,就本人的理解, ...
- 大型分布式架构设计与实现-第一章SOA(面向服务的体系架构)
拜读了大型分布式架构设计与实现,觉得该书作为入门不错,但内容过于简单,描述过于琐碎,小节之间连续性不强,不适合深入钻研学习.但为了更多的希望向架构师行业靠拢的工程师学习需要,本博客将对上书进行简化讲解 ...
- 分布式抽奖秒杀系统,DDD架构设计和实现分享
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.用大项目,贯穿知识体系 写CRUD.堆API.改屎山⛰,熬多少个996也只是成为重复的螺丝 ...
- GPS部标平台的架构设计(九)-GPS监控客户端设计
交通部的部标过检,所有的测试都是从客户端发起的,也是在客户端体现的,在客户端承载了部标标准所要求的所有的功能,是整个部标平台当中工作量最大的部分,也是最繁琐的部分. 客户端设计面临两个问题: 1.基于 ...
- 整合微信小程序的Web API接口层的架构设计
在我前面有很多篇随笔介绍了Web API 接口层的架构设计,以及对微信公众号.企业号.小程序等模块的分类划分.例如在<C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系>介 ...
随机推荐
- layerX && layerY
转载:https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/layerX UIEvent.layerX 非标准 这个属性是非标准的属性,并且 ...
- 设计模式之 Factory Method 工厂方法
看到的比较有意思的一篇描述工厂方法的文章. http://www.codeproject.com/Articles/492900/From-No-Factory-to-Factory-Method 总 ...
- JS如果阻止事件冒泡和浏览器默认事件
原地址:http://missra.com/article/web-57.html 嵌套的标签元素,如果父元素和子元素都绑定了一些事件,那么在点击最内层子元素时可能会触发父级元素的事件,下面介绍一下J ...
- Vim粘贴代码时缩进混乱
Vim粘贴代码时缩进混乱 via 背景 在终端Vim中粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加.原因是终端把粘贴的文本存入键盘缓存(Keyboard Buffer)中,Vim则把这些内 ...
- WIFI破解总结
寒假回家了,由于家里没有宽带,而周围又有好多WIFI所以尝试了破解人家的WIFI,嘻嘻. 1.准备u盘一个,格式化 2.用制作工具,将cdlinux系统的镜像安装进u盘 3.用u盘启动电脑,进入cdl ...
- ADS的默认连接分析及编译器产生符号解惑
ADS的默认连接顺序是怎样的呢?例如下边从2440init.s中摘出的编译器符号又该怎样理解呢? BaseOfROM DCD |Image##RO##Base| TopOfROM ...
- 2、.net NVelocity中原生javascript ajax封装使用
在页面上,我们经常会遇到局部刷新的例子,这个时候,就需要用到ajax, 因为很多代码都是公用的,所以我们想到了,将代码封装,简化了使用,减少了冗余 javascript ajax代码如下: var x ...
- Matlab R2012b启动出现License Manager Error -15
1.找到已安装文件目录下的etc文件夹(如:D:\programfile\matlab\R2012B\etc),找到license.dat文件,复制:2,找到已安装文件目录下的licenses文件夹( ...
- jquery点击图片选中特效
jquery点击图片选中特效 点击在线预览效果
- IEEE二进制浮点数算术标准(IEEE 754)
整理自IEEE 754 IEEE二进制浮点数算术标准(IEEE 754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用.这个标准定义了表示浮点数的格式(包括负零-0) ...