NET Distributed System: Introduction to the overall framework of the system

Source: Internet
Author: User
Tags mssql nginx load balancing

  First, the purpose of design

In. NET platform development system for more than 8 years, has been thinking about building. NET Distributed System architecture. The large-scale distributed system based on window platform is not many, have previously known myspace, StackOverflow and other large sites. Building a large platform requires a lot of consideration, not just software architecture, but also network and hardware devices. Because most of modern application construction is faced with many users, high concurrency, high availability, traditional software architecture can not meet the requirements, need to support distributed software architecture, can support scale-out, with high availability, scalability, stability and so on. Combined with my years of development and design experience, to build the following system architecture.

  Second, the system software structure

  

System Software Architecture

The system is based on SOA architecture design, the system is divided into different components or application services, support distributed deployment and expansion, and load balancing through nginx components. According to the logical Association is divided into: The presentation layer, the application layer and the data layer. The presentation layer is responsible for the interaction between the system and the user or the external system, and the application layer is the service to the presentation layer, which mainly realizes the business logic processing to meet the demand of the presentation layer, which is responsible for the storage of system data.

(1) Presentation Layer

It is mainly responsible for interacting with users and external systems, providing system-operable web functions, data exchange programs or data interfaces. Meet the different scenarios used. The web layer is mainly implemented by ASP. Data exchange is implemented according to the requirements of the MVC5, and it is mainly based on the HTTP protocol, and is implemented by Web API technology.

(2) Application Layer

Mainly responsible for the implementation of the system logic calculation, provide the service interface to the presentation layer use. The communication between the two tiers is based on the system internal LAN TCP/IP protocol, in order to improve data transmission efficiency. Depending on the role of the application service, there will be two categories, namely, Business Application service and basic application service. Business application services to realize the business requirements of the functional services, such as user orders, the management of a certain kind of product functions. The basic application service realizes the function service of the System Foundation, such as Log service, cache service, user authentication service function, etc. This System Application service is generally used. NET platform is implemented by WCF technology, with the exception of individual other components, such as MQ components, Redis cache components.

(3 ) Data Layer

Mainly responsible for system data storage, synchronization, cache and backup management. The data of this system is divided into structured data and unstructured data. For structured data using MSSQL2008 above database storage, based on the mechanism of MSSQL replication synchronization, data read and write separation can be achieved, improve the data level optimization. For the system business log data storage selection, due to the business log data structure diversification, data volume is large, so the use of MongoDB NoSQL technology, while the system facing high concurrency access, take the cache mechanism to improve performance, select the Redis cache component to achieve data cache storage. For unstructured data storage, such as documents, pictures and other data, the system is based on the Windows platform NTFS file system for document storage and reading and writing functions.

  III. physical structure of the system

System Physical Structure

The system network is divided into: internal LAN and the Internet. The server is located on the internal LAN, through the reverse proxy server to the Internet Advertisement system, the user accesses the system through the Internet. Security is isolated from the network level. The user access system is based on the HTTP protocol, and server communication between the systems is based on the TCP/IP protocol. According to the Division of Deployment application, the server is divided into four categories: Load balancer server, Web server, application server and data server.

  (1) Load balancer Server

Build the Nginx service on the Linux-based CentOS platform for load Balance.

  (2) Web server

Based on the Windows platform under the IIS Web server. Deploy programs that are based on ASP. NET MVC, Web API technology implementation.

  (3) Application Server

Deploy the service interface implemented by WCF technology based on the. NET Platform communication framework, which is provided with presentation layer invocation, where some common components, such as MQ, are deployed according to the requirements of the component.

(4) Data server

The system data storage selection: MSSQL database, MongoDB, Redis cache and file storage. According to the project situation database can do read and write separation, while combining with Redis cache strategy to improve system performance.

This section introduces the framework and physical structure of the system, as it involves several technical points, such as: nginx load Balancing, ASP.NETMVC and WCF service calls, Redis distributed cache usage, MongoDB storage logs, MQ asynchronous transfer log data, file service implementations. Follow-up steps to introduce.

Author: Andon
Source: Http://www.cnblogs.com/Andon_liu
About the focus on Microsoft Platform Project architecture, management. Familiar with design patterns, domain drivers, architecture design, agile development and project management. is mainly engaged in ASP, Wcf/web API, SOA, MSSQL, Redis aspects of project development, architecture, management work. If you have questions or suggestions, please learn to discuss together!
This article is copyrighted by the author and the blog Park, Welcome to reprint, but without the consent of the author must retain this paragraph, and in the article page obvious location to the original link.
If you have questions, you can email: [Email protected] contact me, thank you.

NET Distributed System: Introduction to the overall framework of the system

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.