高并发架构设计学习总结

设计目标

打造一个高可用、高性能、易扩展、可伸缩性强的应用系统。

架构分类

1.业务架构,如何分拆模块,如何大团队协作,快速高效满足业务迭代,微服务
2.性能架构:高并发架构,高负载架构,架构武器

软件应用分为

架构设计,程序,数据结构,算法

常用设计方向

流量分流:nginx负载均衡,反向代理
静态化:前端页面静态化,js,css压缩为一个文件,浏览器缓存,启用压缩,css先加载,js后加载
cdn分流:资源部署cdn,分布式部署,内网通信,分布式文件系统
缓存:redis多级缓存,加快运算速度,在Redis 中做活动库存扣减,并以一定周期同步给数据库:
异步化操作:消息队列,应用解耦,消除并发访问高峰,异步化异步写入数据库,可以起到很好的削峰作用
服务化:使用引擎,常驻内存应用,rpc调用,全文搜索引擎,zk+dubbo,php+go,
应用独立部署:(应用集群)web与数据库分离,redis分离,后台与前台分离,请求与备份统计分离
数据库集群:mysql集群mycat,读写分离/分表分库,主从互备,索引使用,innodb事务提交,大数据hadoop,日志分析
安全:让你拿不到数据库,权限控制,服务器跳板登录,熔断保护:攻击,高流量停掉,容灾/容错,基线构建
资源复用:单例和对象池

服务器的优化手段

主要有缓存,集群,异步等。
资源复用主要有两种模式:单例和对象池。

网站架构的伸缩性设计

一般来说。网站的伸缩性设计可分为两类:
一类是根据功能进行物理分离实现伸缩,一类是单一功能通过集群实现伸缩。
前者是不同的服务器部署不同的服务,提供不同的功能;
后者是集群内的服务器部署相同的服务实现相同的功能。

也就这些

应用集群,多级缓存,单点登录,数据库集群,服务化,消息队列外。还有CDN,反向代理,分布式文件系统,
大数据处理等系统。

posted @ 2021-02-01 08:32  weixin_alexyu01  阅读(71)  评论(0)    收藏  举报