Font Size: a A A

Research And Development Of Social System Supporting High Concurrency

Posted on:2021-09-01Degree:MasterType:Thesis
Country:ChinaCandidate:X D LiFull Text:PDF
GTID:2518306470969439Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the rapid development of the Internet,people are no longer satisfied with sharing what they see and hear with their friends in their lives,but rather want to share their own life pleasures on the Internet to make more friends.Therefore,many Internet companies are building their own social platforms to attract more users.However,with the rapid growth of the number of users,there will also be a substantial increase in the number of system visits,and traditional stand-alone applications will suffer from long response times and even the breakdown of service components.For some large Internet companies,they already have some high concurrency processing experience,which can effectively solve the high concurrency problem.However,these methods are not suitable for small Internet companies to imitate due to experience and financial constraints.Therefore,in order to meet the needs of these small Internet companies,this paper designs and implements a social system that supports high concurrency.This system mainly adopts the development idea of layered architecture and distributed concept,and divides the system into a three-layer architecture of load balancing layer,service layer and data persistence layer.The load balancing layer mainly uses a combination of LVS,Keepalived,and Nginx to achieve high availability of the load balancing layer.In order to improve the effect of Nginx request distribution,this paper designs and implements an improved dynamic load balancing strategy based on the Nginx weighted polling algorithm and the minimum connection number algorithm.The algorithm needs to collect the performance indicators of each server node in real time and use AHP Determine the weight coefficient of each performance index,and then calculate the weight of each server node in combination with the request response time and the number of real-time connections of each server node,which improves the efficiency of Nginx load balancing.The service layer mainly adopts the architecture of Spring + Spring MVC + My Batis for development,adopts Dubbo and Zookeeper for distributed management of each functional module service,decouples each service,and uses Active MQ to process messages asynchronously.The data persistence layer uses My SQL as the core component,and uses Mycat database middleware to achieve data synchronization,read-write separation and other functions between Mysql clusters.Using Mycat can also ensure the failover between the databases and improve the availability of the database cluster.In addition,build a Redis cluster to handle the writing and reading of some hot data,ease the reading and writing pressure of the My SQL database,and use Elasticsearch distributed search engine to improve the search speed of data.In order to ensure the practical application of this system,this article conducted functional test,high availability test and stress test on the system.Test results show that the function of this system basically meets user needs,has high availability,and can support high concurrent request access.
Keywords/Search Tags:High concurrency, Social system, Load balancing, Nginx
PDF Full Text Request
Related items