架构师训练营W4-作业

米斯特程序猿 2020年10月06日 329次浏览

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

  • 业务分层 -- 解决业务复杂性、耦合性
  • 微服务化 -- 解决业务复杂性、频繁发布问题
  • 服务治理 -- 解决服务调用复杂、混乱问题
  • 自动化测试 -- 保证软件质量,解决频繁测试问题
  • CI/CD 流水线 -- 保证系统质量,解决频繁发布、多团队协作问题
  • 服务无状态化 -- 解决大量流量、高并发下系统快速扩展
  • 分布式技术 -- 解决高可用、高并发、大流量下系统承载能力
  • 分布式事物技术 -- 解决分布式环境下数据一致性问题
  • 动静分离 -- 解决静态资源对业务服务造成的流量压力
  • 缓存技术 -- 提升响应速度,解决数据库压力过载、服务端流量过载
  • 消息中间件技术 -- 解决数据流量波峰问题,提升系统吞吐量
  • 信息加解密 -- 提升系统安全性
  • 反攻击技术 -- 提升系统稳定性
  • 防盗链技术 -- 解决版权问题
  • CND 技术 -- 分布式内容分发网络,解决用户体验、服务端压力问题
  • API 网关 -- 权限管理,提升系统安全性
  • 心跳机制 -- 解决运维层面监控服务存活问题
  • 七层负载均衡 -- 解决应用服务器集群问题,提升系统可用性
  • 四层负载均衡 -- 解决单一网络带宽不足以支撑数据流量问题
  • 分库分表以及相关中间件 -- 解决单一数据库或单表不能支持快速增长的业务量问题