写点什么

架构师训练营第四周学习总结

用户头像
张明森
关注
发布于: 2020 年 06 月 28 日

1. 回顾解答

1.工厂模式避免if-else、switch,可以使用配置(配置文件、Map)代替

2.rest api url问题?策略模式;不同类型文档处理?模板方法模式

2. 第一节课

1.互连网架构挑战:

1).高并发,大流量

2).高可用

3).海量数据

4).用户分布广泛,网络情况复杂

5).安全环境恶劣

6).需求快速发者,发布频繁

7).渐进式发展

2.应对高并发挑战的两个技术方向

1).垂直伸缩:提高硬件性能,最简单的一种方式,无需软件架构改变;SHUIP

2).水平伸缩:增加服务器数量

3.互联网架构演化

1).引用程序-文件-数据库

2).文件->文件服务器

3).缓存:+本地缓存、+分布式缓存

4).应用服务器->应用服务器集群

5).数据库->数据库读写分离

6).+CDN服务器、+反向代理服务器

7).文件服务器->分布式文件服务器;读写数据库->分布式数据库服务器

8).+搜索引擎服务器、+NOSQL服务器

9).应用服务器->业务拆分

10).+微服务、+中台化

4.互联网架构模式

  1. 分层

  2. 分割

  3. 分布式

  4. 集群

  5. 缓存

  6. 异步:低耦合;提高性能

  7. 冗余:高可用

  8. 自动化

  9. 安全

3. 第二节课

架构核心要素

高性能、高可用、可伸缩(服务器)、可扩展(功能)、安全

互联网架构技术一览

https://xie.infoq.cn/article/5888ddc138122e7d0cb852bd6

维基百科技术架构

使用的技术栈:

  1. GeoDNS: 基于地理位置的域名解析服务,可将域名解析到离用户最近的服务器

  2. LVS 负载均衡

  3. Squid 反向代理;缓存服务

  4. ImageServer 图片服务器

  5. PHP 应用程序

  6. Memcached 分布式缓存

  7. MySQL

  8. Lucene 搜索服务

  9. external storage

  10. invalidation notification 失效通知

淘宝技术架构优化

  1. LAMP+MySQL读写分离

  2. MySQl->Oracle;SQL Replay中间件;

  3. php->java;webx;AntX;ISearch

  4. jboss;分库;Spring;ESI;CDN;类目属性体系

  5. 分布式 缓存、存储、搜索

  6. 业务拆分

宅米网技术变迁

  1. 1.0->2.0:(七牛云)图片云服务(CDN);redis集群;(阿里云)数据库主从复制;大数据平台(绩效考核);分布式消息队列

  2. 2.0->3.0: 可复用微服务集群;MongoDB迁移历史订单;大数据平台:(针对卖家的商品推荐

  3. 技术架构:按照技术栈分组(后端、Web、App)->按照业务线分组(买家、卖家、后台组)->+架构运维部门、+数据平台部门、+项目管理部门

新浪微博架构变迁

  1. 1.0: LAMP、MySQL、MPSS

  2. 2.0: 拆分;投递模式;异步;

  3. 3.0: CDN;拆分;API网关等等

4. 总结

  1. 选择合适的架构,而不是酷炫的架构

  2. 要注意提高发现问题的能力;发现问题、分析问题、解决问题

  3. 根据业务需要,选择合适的解决方案

用户头像

张明森

关注

还未添加个人签名 2017.10.16 加入

还未添加个人简介

评论

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