写点什么

架构师训练营第四周总结

用户头像
邢永春
关注
发布于: 2020 年 11 月 15 日

互联网应用面临的问题:

多并发

高可用

易扩展

可伸缩

安全

互联网架构的演化过程:

最简单的单服务器系统到最复杂的大数据智能应用系统架构,根据互联网应用的复杂度选择合适的架构

架构模式主要有

分层:将系统在横向维度上切分成几个部分,每个部分复杂一部分相对比较单一的职责,然后通过上层对下层依赖和调用组成一个完整的系统。

视图层、应用逻辑层、公用服务层、基础设施层、存储层,不同的层可以部署在不同的服务器上。

分割:将不同的功能和服务分割开,包装成高内聚低耦合的模块单元,有助于软件开发和维护,也有助于分布式部署。

分布式:分层和分割的主要目的是为了切分后的模块便于分布式部署,即将不同的模块部署在不同的服务器上,通过远程调用协同工作。分布式部署能够提升并发访问数和存储量。

集群:多台服务器部署相同的应用构成一个集群,通过负载均衡设备共同对外提供服务。

缓存:将数据存放在距离计算最近的位置以加快处理速度。常用的缓存有:CDN、反向代理、本地缓存、远程缓存。

异步:将一个业务操作分成多个阶段,每个阶段之间通过共享数据而不是直接调用的方法进行操作,例如消息队列。使用异步处理可以:降低软件的耦合性、提高系统可用性,加快网站响应速度、消除并发访问高峰。

冗余:为了保证在服务器宕机的情况下网站依然可以继续服务,数据不会丢失,需要一定程度的服务器冗余运行,数据冗余备份。

自动化:在无人值守的情况下网站可以正常运行,目前主要集中在运维方面。系统自动监控,自动部署、自动集群扩容。

安全:常用的安全措施有:密码、手机校验码、敏感数据加密,验证码、编码转换等。

互联网系统的核心要素:

高性能:网站的响应速度即高性能是师互联网架构设计的一个重要方面。性能的优化手段非常多,从用户端到数据库,从代码到机房部署,影响用户请求的所有环节都可以进行性能优化。TPS 响应时间、并发数等高性能指标。

高可用:高可用设计的目标是当服务器宕机时,服务或者应用依然可用。主要采用冗余的方式,多台服务器相互备份。

可伸缩:指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据存储需求。好的架构应该容易向集群中添加新的服务器,并且新加入的服务器可以提供和原来服务器无差别的服务。NoSQL 数据库比关系型数据库更容易做分布式集群。

可扩展:关注功能性需求,好的系统架构能够快速响应需求变化,当增加新的业务功能时,实现对现有产品的透明无影响,不需要改动或者很少改动基友业务功能就可以上线新产品。实现可扩展架构的主要手段是事件驱动和分布式微服务。

安全性:系统的安全架构保护系统不受恶意访问和攻击,保护网站的重要数据不被窃取。

互联网架构技术一览:

前端架构:App 及 web 开发技术、浏览器及 HTTP 优化技术、CDN、动静分离、图片服务、反向代理、DNS。

网关及应用层架构:网关架构、负载均衡、动态页面静态化、业务拆分

服务层架构:微服务框架、分布式消息队列、分布式缓存、分布式一致性(锁)服务

存储层架构:分布式文件、分布式关系数据库、NoSQL 数据库

后台架构:大数据平台、搜索引擎、推荐引擎、数据仓库

运维和安全:数据采集与展示、数据监控与报警、攻击与防护、数据加密与解密

用户头像

邢永春

关注

还未添加个人签名 2020.02.06 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第四周总结