③. 安全指标
- 安全:组织的运作过程中产生的数据都是具有商业价值的,保证数据的安全也是刻不容缓的一部分 。以免出现XX门之类丑闻 。加密、https等为普遍手段
- 遗漏关键性约束与非功能需求
- 为虚无的未来埋单而过度设计
- 过早做出关键性决策
- 客户说啥就是啥成为传话筒
- 埋头干活儿缺乏前瞻性
- 架构设计还要考虑系统可靠性
- 架构设计不要企图一步到位
- 误区1——架构专门由架构师来做,业务开发人员无需关注:架构的再好,最终还是需要代码来落地,并且组织越大这个落地的难度越大 。不单单是系统架构,每个解决方案每个项目也由自己的架构,如分层、设计模式等 。如果每一块砖瓦不够坚固,那么整个系统还是会有崩塌的风险 。所谓“千里之堤,溃于蚁穴” 。
- 误区2——架构师确定了架构蓝图之后任务就结束了:架构不是“空中楼阁”,最终还是要落地的,但是架构师完全不去深入到第一线怎么知道“地”在哪?怎么才能落的稳稳当当 。
- 误区3——不做出完美的架构设计不开工:世上没有最好架构,只有最合适的架构,不要企图一步到位 。我们需要的不是一下子造出一辆汽车,而是从单轮车→自行车→摩托车,最后再到汽车 。想象一下2年后才能造出的产品,当初市场还存在吗?
- 误区4—— 为虚无的未来埋单而过度设计:在创业公司初期,业务场景和需求边界很难把握,产品需要快速迭代和变现,需求频繁更新,这个时候需要的是快速实现 。不要过多考虑未来的扩展,说不定功能做完,效果不好就无用了 。如果业务模式和应用场景边界都已经比较清晰,是应该适当的考虑未来的扩展性设计 。
- 误区5——一味追随大公司的解决方案:由于大公司巨大成功的光环效应,再加上从大公司挖来的技术高手的影响,网站在讨论架构决策时,最有说服力的一句话就成了“淘宝就是这么搞的”或者“腾讯 就是这么搞的” 。大公司的经验和成功模式固然重要,值得学习借鉴,但如果因此而变得盲从,就失去了坚持自我的勇气,在架构演化的道路上迟早会迷路 。
- 误区6——为了技术而技术:技术是为业务而存在的,除此毫无意义 。在技术选型和架构设计中,脱离网站业务发展的实际,一味追求时髦的新技术,可能会将技术发展引入崎岖小道,架构之路越走越难 。考虑实现成本、时间、人员等各方面都要综合考虑,理想与现实需要折中 。
- 初始阶段:LAMP,部署在一台服务器
- 应用服务器和数据服务器分离
- 使用缓存改善性能
- 使用集群改善并发
- 数据库地读写分离
- 使用反向代理和cdn加速
- 使用分布式文件和分布式数据库
- 业务拆分
- 分布式服务
分层:横向分层:应用层,服务层,数据层
分割:纵向分割:拆分功能和服务
分布式
- 分布式应用和服务
- 分布式静态资源
- 分布式数据和存储
- 分布式计算
缓存:优化系统性能
- cdn
- 方向代理访问资源
- 本地缓存
- 分布式缓存
- 提供系统的可用性
- 加快响应速度
自动化:发布,测试,部署,监控,报警,失效转移,故障恢复
安全:
7.3. 架构核心要素
高性能:网站的灵魂
- 性能测试
- 前端优化
- 应用优化
- 数据库优化
