---
title: '学架构笔记7：低成本、安全、规模复杂'
pubDate: 1995-07-31
tags:
  - '笔记'
description: '学架构笔记7：低成本、安全、规模复杂'
---

## 低成本

成本会在机器量大时成为十分重要的考虑点。

在高性能、高可用的架构中，我们需要增加机器以完成需求，而在低成本的需求中，我们要削减机器。两者的冲突大大地提高了架构设计的难点。

往往只有“创新”才能达到低成本，包括开创一个新的技术领域，或引入新技术。

如：

- NoSQL的引入解决了关系型数据库无法应对高并发访问带来的压力
- 全文搜索引擎的引入解决了关系型数据库like低效的问题
- Hadoop的出现解决了传统文件系统无法应对海量数据存储和计算的问题
- HHVM的出现解决了PHP低效的问题
- 新浪将Redis/MC + Mysql改成Redis/MC + SSD Cache + Mysql降低了访问压力
- Kafka的出现带来了高效的消息系统

这些都是复杂的事情，在于需要学习新技术，并将新技术和已有技术融合，同时保证对比旧技术有质的飞跃。

## 安全

安全对业务和企业形象的影响非常大。

### 功能安全

XSS、CSRF、SQL注入、系统漏洞等都是利用漏洞。框架内嵌了很多常见的安全功能，但也局限于可预见的，如果出现未知的也框架也无可奈何。

功能安全是一个逐步完善的过程，因为我们无法预知下一个危险点在哪里。

### 架构安全

传统的架构安全依靠防火墙，也就是隔离。流量大了，墙该破的还是破，不该破的还得花很多钱维护。

目前也没有较好的方法。

## 规模

一个普通的系统最常见的复杂性，就是功能越加越多，量变引起质变。

1. 功能越来越多，导致系统复杂度指数级上升。因为系统的复杂度是系统数加上系统之间的联系数。
2. 数据越来越多，复杂度也会质变，不管是存储还是计算

## 总结

1. 低成本复杂度主要是需要引入新技术
2. 安全复杂度主要是未知漏洞和恶意攻击
3. 规模方面复杂度主要是“量变引起质变”

_先这样吧_

若有错误之处请指出，更多地关注[煎鱼](http://www.jianyujianyu.com)。
