服务器集群技术,支撑百万连接的系统应该如何设计其高并发架构

首先要结合具体的业务场景网站备案服务器集群技术,不根据业务就云设计就是在耍流氓。服务器集群技术,支撑百万连接的系统应该如何设计其高并发架构业务场景首先你要确定你所架构的系统服务于什么业务。假如我们现在是一个小创业公司,注册用户就20万,每天活跃用户就1万,每天单表数据量就1000,然后高峰期每秒钟并发请求最多就10。但是你要考虑到后面注册用户数达到了2000万!每天活跃用户数100万!每天单表新增数据量达到50万条!高峰期每秒请求量达到1万。静态资源大宽带、CDN、缓存(页面缓存、对象缓存),WEB服务器缓存等N级分布式缓存,Redis、Memcached缓存集群。动态资源计算:多组服务器,负载均衡等技术控制流量。存储:存储这里就比较麻烦,按照KV存储简单的资源,然后在计算部分进行整合。真的没办法做KV的,采用跨库索引来做。单机存储数量要合理,不能太多。还有就是事务性的问题,解决方案就是BASE思想或者采用日志方式。纵向拆分、水平扩展系统按照模块功能纵向拆分,再水平扩展,抽象服务层利用各种中间件完善,优化JVM应用服务器。消息中间件用mq解决稳定性。将耗时比较长或者耗费资源的请求排队,异步处理,减轻服务器压力增加稳定性数据库关系型、非关系型数据库上最牛比SSD硬盘,分库分表,读写分离,读的流量多时还要增加从库提高IO性能。每秒1万请求到5台数据库上,每台数据库就承载每秒2000的请求,相应的压力也就会减少。SQL语句避免跨表查询,优化好存储过程,此时注意存储过程利用好了是把利剑,利用不好就成为了累赘。负载均衡负载均衡由多种实现方式,一种是在硬件上的,常用软件由F5、NetScaler、Radware和Array等商用的,但是价格较昂贵。另外一种就是软件的,常见的软件有LVS、Nginx、Apache等,它们是基于Linux系统并且开源的负载均衡策略。简单架构图结语系统架构中需要注意的点太多,具体业务也不尽相同。实现方案也有多种,此处只提供一个思路。码字不宜,如果对您有所帮助请点击一个小赞。分布式:服务分散部署在不同服务器组成一个整体应用,分散压力,解决高并发。假设访问量特别大,就可以做成分布式,将一个大项目拆分出来单独运行。跟cdn一样的机制。Redis分布式:将redis中的数据分布到不同的服务器上,每台服务器存储不同内容。Mysql集群是每台服务器都存放相同数据。分布式部署:系统应用部署在2台或以上服务器或虚拟机上,服务间通过RPC、WCF(包含WebService)等交互,即可称作分布式部署。微服务也算作分布式的一种,反之则不然。  分布式优点:  1、将模块拆分,使用接口通信,降低模块之间的耦合度。  2、将项目拆分成若干个子项目,不同团队负责不同子项目。  3、增加功能时只需再加一个子项目,调用其它系统接口即可。  4、可灵活进行分布式部署。   5、提高代码的复用性,比如service层,如果不采用分布式rest服务方式架构,在手机Wap商城、微信商城、PC、Android、ios每个端都要写一个service层逻辑,开发量大,难以维护和一起升级,此时可采用分布式rest服务方式共用一个service层。  缺点:系统之间交互要使用远程通信,接口开发增大工作量,但利大于弊。微服务:可单独部署运行的微小服务,一个服务只完成单一功能分散能力,服务之间通过RPC等交互,至少有一个数据库。用户量过大高并发时,建议将应用拆解为多个子系统,各自隔离,独立负责功能。缺点:服务数量大,后期运维较难。分布式、微服务区别:分布式依赖整体组合,是系统的部署方式;微服务是架构设计方式,粒度更小,服务之间耦合度更低。独立小团队负责,敏捷性更高。集群:多台服务器复制部署相同应用,由负载均衡共同对外提供服务,逻辑功能仍是单体应用。项目如果跑在一台机器上,这台机器如果出现故障,或者用户请求量比较高一台机器支撑不住,网站可能就访问不了。那怎么解决呢?就需要使用多台机器,复制部署一样的程序,让几个机器同时运行网站。那怎么分发请求到所有机器上?所以负载均衡的概念就出现了。负载均衡:将请求分发以分摊服务器压力。基于反向代理能将所有的请求根据指定的策略算法,分发到不同的服务器上。实现负载均衡常用Nginx、LVS。负载均衡服务器出现问题了怎么办?所有冗余的概念就出现了。冗余:两台或多台服务器,一个主服务器,一个从服务器。 假设一个主服务器的负载均衡服务器出现问题,从服务器能替代主服务器来继续负载均衡。实现的方式就是使用Keepalive来抢占虚拟主机。双机双工模式:目前Cluster(集群)的一种形式,两台服务器均为活动状态,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份。WEB服务器或FTP服务器等用此种方式比较多。实现多台服务器代码(文件)同步方案:1、负载均衡中实现代码同步rsync。2、rsync inotify逐一文件监听并实时同步。3、实现redis共享session。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.175ku.com/16757.html