NoSQLNet分布式系统之一:系统完全框架介绍

  一、设计目标

  从事.Net平台支付体系已有8年多了,向来思考搭建.Net分布式系统架构。基于window平台搭建的重型分布式系统不多,往日领悟过myspace、stackoverflow等大型网站。搭建一个特大型平台需要综合考虑很多方面,不单单是软件架构,还包括网络和硬件装置等。由于现代多数运用建设都面临用户多、高并发、高可用的急需,传统软件架构已无法满足要求,需要帮助分布式软件架构,能襄助横向扩充,具有高可用、伸缩性、稳定性等特点。结合本人这么些年的支付和筹划经验,搭建如下系统架构。


 

  二、系统软件结构

  NoSQL 1

 系统软件结构示意图

  系统基于SOA架构设计,系统完全划分为不同组件或者应用服务,协理分布式的安排及增添,并经过Nginx组件实现负载均衡。依据逻辑关系划分为:表现层、应用层和数据层。表现层负责系统与用户仍然外部系统互相;应用层是劳动于表现层,重要实现工作逻辑处理满意表现层的要求;数据层是背负系统数据的仓储。

  (1)表现层

      
紧要负责与用户和外部系统彼此,具体提供系统可操作WEB功用、数据互换程序依然数额接口。满意不同的场景使用。Web
Layer重要用asp.net mvc5技术实现;Data
Exchange依据需要实现数据互换程序;Data Interface紧要按照http协议,用Web
API技术实现。

  (2)应用层

      
主要担负系统逻辑总括的贯彻,提供劳动接口给表现层使用。此两层之间通信基于系统里头局域网tcp/ip协议,为了加强数据传输效能。依照应用服务职责不同,将分两大类,分别为作业应用服务和底蕴应用服务。业务应用服务实现业务要求的职能服务,比如用户订单、某类货物的管制效果等。基础应用服务实现系统基础公用的功能服务,比如:日志服务、缓存服务、用户认证服务效果等。本系统应用服务一般使用.NET平台的通信框架WCF技术实现,个别其他零件除外,比如MQ组件、Redis缓存组件。

      (3)数据层

      
紧要负责系统数据存储、同步、缓存和备份管理。本系统数据分为结构化数据和非结构化数据。对于结构化数据利用MSSQL2008上述数据库存储,基于MSSQL复制同步的编制,可以展开数量读写分离的落实,提升数据层面的优化。对于本系统工作日志数据的储存选型,由于考虑到工作日志数据结构多样化、数据量较大,所以采取MongoDB的NoSQL技术,同时系统面对着高并发的拜访,选择了缓存的体制升级性能,拔取Redis缓存组件实现多少缓存存储。对于非结构化数据存储,比如文档、图片等数码,本系统依据Windows平台NTFS文件系统贯彻文档存储和读写功效。


 

  三、系统物理结构

 NoSQL 2

 系统物理构造示意图

  本系统网络分为:内部局域网和互联网。服务器放在中间局域网,通过反向代理服务器对互联网发布系统,用户通过互联网访问系统。从网络规模安全展开隔离。用户访问系统依照http协议,系统里面之间服务器通信基于tcp/ip协议。按照安排应用的分开,将服务器分为负载均衡服务器、Web服务器、应用服务器、数据服务器四大类。

  (1)负载均衡服务器

    基于Linux之CentOS平台搭建Nginx服务,作Load Balance。

  (2)Web服务器

    基于window平台下IIS web服务器。部署基于asp.net mvc、web
api技术实现的顺序。

  (3)应用服务器

    部署基于.net平台通信框架之WCF技术实现的劳务接口,提供与表现层调用,其中部分公用组件,如MQ则基于组件的要求布置。

  (4)数据服务器

  本系统数据存储拔取:mssql数据库、MongoDB、Redis缓存和文书存储。依据项目情况数据库可做读写分离,同时组成redis做缓存策略进步系统性能。

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

 

 

作者:andon
出处:http://www.cnblogs.com/Andon_liu
关于作者:专注于微软平台项目架构、管理。熟谙设计形式、领域驱动、架构设计、敏捷开发和品种管理。现重要从事ASP.NET
MVC、WCF/Web API、SOA、MSSQL、redis方面的花色开发、架构、管理工作。
如有问题或提议,请一起念书探讨!
本文版权归作者和网易共有,欢迎转载,但未经作者同意必须保留此段注明,且在篇章页面分明地方给出原文连接。
如有问题,可以邮件:568773262@qq.com 联系我,谢谢。

微信号: NoSQL 3

 

 

网站地图xml地图