系统整体框架介绍
 ⼀、设计⽬的
  从事.Net平台开发系统已有8年多了,⼀直思考搭建.Net分布式系统架构。基于window平台搭建的⼤型分布式系统不多,之前了解过myspace、stackoverflow等⼤型⽹站。搭建⼀个⼤型平台需要综合考虑很多⽅⾯,不单纯是软件架构,还包括⽹络和硬件设备等。由于现代⼤部分应⽤建设都⾯临⽤户多、⾼并发、⾼可⽤的需求,传统软件架构已不能满⾜需求,需要⽀持分布式软件架构,能⽀持横向扩展,具有⾼可⽤、伸缩性、稳定性等特点。结合本⼈这些年的开发和设计经验,搭建如下系统架构。
  ⼆、系统软件结构
系统软件结构⽰意图
  系统基于SOA架构设计,系统整体划分为不同组件或者应⽤服务,⽀持分布式的部署及扩展,并通过Nginx组件实现负载均衡。根据逻辑关联划分为:表现层、应⽤层和数据层。表现层负责系统与⽤户或者外部系统交互;应⽤层是服务于表现层,主要实现业务逻辑处理满⾜表现层的需求;数据层是负责系统数据的存储。
  (1)表现层
框架是什么意思
主要负责与⽤户和外部系统交互,具体提供系统可操作WEB功能、数据交换程序或者数据接⼝。满⾜不同的场景使⽤。Web Layer主要⽤asp 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服务器。部署基于asp mvc、web api技术实现的程序。
  (3)应⽤服务器
    部署基于平台通信框架之WCF技术实现的服务接⼝,提供与展现层调⽤,其中部分公⽤组件,如MQ则根据组件的要求部署。  (4)数据服务器
  本系统数据存储选⽤:mssql数据库、MongoDB、Redis缓存和⽂件存储。根据项⽬情况数据库可做读写分离,同时结合redis做缓存策略提⾼系统性能。
本章节先⼤致介绍系统框架及物理结构情况,由于涉及⼏个技术点,⽐如:nginx负载均衡搭建、aspmvc与WCF服务之间调⽤、redis分
布式缓存使⽤、MongoDB存储⽇志、MQ异步传输⽇志数据、⽂件服务实现。后续逐步介绍。
摘要: 上⼀篇⽂章介绍了VMWare12虚拟机、Linux(CentOS7)系统安装、部署Nginx1.6.3代理服务做负载均衡。接下来介绍通过Nginx将请求分发到各web应⽤处理服务。⼀、Web应⽤开发 1、asp mvc5开发(1)新建⼀个MVC5⼯程,新建⼀个Controller,在In
posted @  Andon 阅读(470) |
摘要: ⼀、关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中⽂意思是:
社区企业操作系统)是Linux发⾏版之⼀,它是来⾃于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译⽽成。基于Red Hat持续升级
posted @  Andon 阅读(291) |
摘要: ⼀、设计⽬的从事.Net平台开发系统已有8年多了,⼀直思考搭建.Net分布式系统架构。基于window平台搭建的⼤型分布式系统不多,之前了解过myspace、stackoverflow等⼤型⽹站。搭建⼀个⼤型平台需要综合考虑很多⽅⾯,不单纯是软件架构,还包括⽹络和硬件设备等。由于现代⼤部分应⽤建设
作者:andon
出处:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。