当前位置:文档之家› 基于c#.NET的分布式部署方案

基于c#.NET的分布式部署方案

系统软件结构示意图
系统基于SOA架构设计,系统整体划分为不同组件或者应用服务,支持分布式的部署及扩展,并通过Nginx组件实现负载均衡。

根据逻辑关联划分为:表现层、应用层和数据层。

表现层负责系统与用户或者外部系统交互;应用层是服务于表现层,主要实现业务逻辑处理满足表现层的需求;数据层是负责系统数据的存储。

(1)表现层
主要负责与用户和外部系统交互,具体提供系统可操作WEB功能、数据交换程序或者数据接口。

满足不同的场景使用。

Web Layer主要用 mvc5技术实现;Data Exchange 根据需求实现数据交换程序;Data Interface主要基于http协议,用Web API技术实现。

(2)应用层
主要负责系统逻辑计算的实现,提供服务接口给展现层使用。

此两层之间通信基于系统内部局域网tcp/ip协议,为了提高数据传输效率。

根据应用服务职责不同,将分两大类,分别为业务应用服务和基础应用服务。

业务应用服务实现业务需求的功能服务,比如用户订单、某类商品的管理功能等。

基础应用服务实现系统基础公用的功能服务,比如:日志服务、缓存服务、用户认证服务功能等。

本系统应用服务一般使用.NET平台的通信框架WCF技术实现,个别其他组件除外,比如MQ组件、Redis缓存组件。

(3)数据层
主要负责系统数据存储、同步、缓存和备份管理。

本系统数据分为结构化数据和非结构化数据。

对于结构化数据使用MSSQL2008以上数据库存储,基于MSSQL复制同步的机制,可以进行数据读写分离的实现,提升数据层面的优化。

对于本系统业务日志数据的存储选型,由于考虑到业务日志数据结构多样化、数据量较大,所以选用MongoDB的NoSQL 技术,同时系统面对着高并发的访问,采取了缓存的机制提升性能,选用Redis缓存组件实现数据缓存存储。

对于非结构化数据存储,比如文档、图片等数据,本系统基于Windows 平台NTFS文件系统实现文档存储和读写功能。

三、系统物理结构
系统物理结构示意图
本系统网络分为:内部局域网和互联网。

服务器位于内部局域网,通过反向代理服务器对互联网公布系统,用户通过互联网访问系统。

从网络层面安全进行隔离。

用户访问系统基于http协议,系统内部之间服务器通信基于tcp/ip协议。

根据部署应用的划分,将服务器分为负载均衡服务器、Web服务器、应用服务器、数据服务器四大类。

(1)负载均衡服务器
基于Linux之CentOS平台搭建Nginx服务,作Load Balance。

(2)Web服务器
基于window平台下IIS web服务器。

部署基于 mvc、web api技术实现的程序。

(3)应用服务器
部署基于.net平台通信框架之WCF技术实现的服务接口,提供与展现层调用,其中部分公用组件,如MQ则根据组件的要求部署。

(4)数据服务器
本系统数据存储选用:mssql数据库、MongoDB、Redis缓存和文件存储。

根据项目情况数据库可做读写分离,同时结合redis做缓存策略提高系统性能。

本章节先大致介绍系统框架及物理结构情况,由于涉及几个技术点,比如:nginx负载均衡搭建、mvc与WCF服务之间调用、redis分布式缓存使用、MongoDB存储日志、MQ异步传输日志数据、文件服务实现。

后续逐步介绍。

相关主题