低成本

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

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

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

如:

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

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

安全

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

功能安全

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

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

架构安全

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

目前也没有较好的方法。

规模

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

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

总结

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

先这样吧

若有错误之处请指出,更多地关注煎鱼

Categories: ArchitectProgramming

发表评论

电子邮件地址不会被公开。 必填项已用*标注