高并发分布式异步应对方案之架构设计模式系列一 概述

架构模式是一个系统的高层次策略,涉及到大尺度的组件以及整体性质,架构模式的好坏可以影响到总体布局和框架性结构,

架构模式包含九个方面:分层、分割、分布式,集群、缓存、异步,冗余、安全、自动化。

分别解释一下:

1、分层:对系统进行横向分切;

2、分割:对系统进行纵向的切分,将系统按照不同业务分割成小应用,控制系统的复杂程度;

3、分布式:【在大型系统中,分层和分割后主要是为了让系统能够便于分布式部署,也就是将不同模块部署到不同服务器上】,分为:分布式应用和服务、分布式静态资源(图片、文件等)、分布式数据和存储、分布式计算、分布式配置、分布式锁等;

4、集群:分布式将不同模块或服务独立部署到服务器,但是各个模块间通常需要业务沟通协同;集群的特点是将同一个模块或服务同时部署到多台服务器上,通过服务发现、负载均衡对外提供相同服务;

5、缓存:常用的缓存有CDN、反向代理、本地缓存(NoSql),分布式缓存;

6、异步:一般是通过队列方式来实现,有“多线程共享内存队列”,“分布式消息队列”,比如初级的使用Redis,一般性的使用RibbtMQ,大型系统使用Kafka  ,异步的作用总结:高可用、加快响应(相对而言),削峰,【异步设计其实是为了用时间换取性能,这里的快速其实是在高并发情况依然能保证一定的响应速度,比如我们发现淘宝打开几乎都要等待一下响应和加载,这里就是使用大量的路由分配,负载均衡调配等】;

7、冗余:冗余的目的是实现高可用,通过集群来实现,即使在小的服务也要部署至少2台服务器上,此外数据库的冗余有冷备份和热备份两种,还包括建立灾备数据中心【比如删库跑路携程事件,虽然携程恢复的时间是3天,但是2天半是为了缓存预热,数据库当天就恢复了】;

8、安全:安全方面知识比较多,比如面向账户安全的:账户中心鉴权中心设计,面向客户端安全的:XSS跨站脚本、CSRF跨站请求伪造、SQL注入,还有面向服务器安全的:文件上传漏洞、文件包含漏洞,其他的比如全链路日志分析的建立等防护方法;

9、自动化:包括自动化代码管理,自动部署、测试、安全检查等,可以通过一些工具如初级的docker三剑客、K8S的各种发布、集群管理,Jenkins-CICD。

  ---------    ---------------------------------------------------

架构设计的目标:

可靠性(Reliable)、安全性(Secure)、可伸缩性(Scalable)、可定制化(Customizable)、可扩展性(Extensible)、可维护性(Maintainable)、客户体验(Customer Experience)、市场时机(Time to Market)          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值