LaneBlog

蝼蚁虽小,也有梦想

PHP Socket服务 | PHP微信开发框架 | 开源博客

架构系列-概述

Clicks: 1012 Date: 2019-11-19 15:53:43 Power By 李轩Lane

架构

    

一、概述

1、架构是顶层设计;框架是面向编程或配置的半成品;组件是从技术维度上的复用;模块是从业务维度上职责的划分;系统是相互协同可运行的实体。

2、架构是为了应对软件系统复杂度而提出的一个解决方案。个人感悟是:架构即(重要)决策,是在一个有约束的盒子里去求解或接近最合适的解。这个有约束的盒子是团队经验、成本、资源、进度、业务所处阶段等所编织、掺杂在一起的综合体(人,财,物,时间,事情等)。架构无优劣,但是存在恰当的架构用在合适的软件系统中,而这些就是决策的结果。

需求驱动架构。在分析设计阶段,需要考虑一定的人力与时间去"跳出代码,总揽全局",为业务和IT技术之间搭建一座"桥梁"。

架构设计处于软件研制的前期,一方面,越是前期,如有问题,就能够越早发现,修改的代价也就越低;另外一方面,也意味着,软件实施后期若有架构上的修改,也需要付出更多的代价。

    1)架构是为了应对软件系统复杂度而提出的一个解决方案。

    2)架构即(重要)决策

    3)需求驱动架构,架起分析与设计实现的桥梁

    4)架构与开发成本的关系


二、架构复杂度来源

3、系统复杂度来源:高性能。从单机到集群的服复杂度来源:

    1)任务分配:F5、交换机、LVS、Nginx、HAProxy等

    2)任务分解:拆成服务。业务本身不变的情况下性能有上限,系统拆封可以逼近这个极限,但不能达到。过多的服务调用会降低性能。

4、系统复杂度来源:高可用。复杂度通常高于高性能,因为涉及到知识点更多。

    1)计算高可用:冗余。

    2)存储高可用:难点不是如何备份,而是如何减少数据不一致带来的影响。分布式领域里有CAP理论,即一致性,可用性,分区容错性只能取其二。

    3)状态决策:

        (1)独裁式,仍有单点问题;

        (2)协商式,两台备,然后自行决策选出主,在主备连接中断后变成两主,不符合预期;

        (3)民主式,如zookeeper,节点自行投票,为解决脑裂问题,需要投票过半数。但在1、2、3节点故障后,4、5仍可用,但投票不过半数,无法选主,系统不可用。

5、系统复杂来源:可扩展性。应对变化的适应能力。不能不做预测,预测也可能出错,也不可以过度预测。封装变化,隔离可变性。

6、系统复杂度来源:成本。高性能高可用意味着更多的机器,当规模达到一定程度后,成本却就是考虑因素之一了。低成本的架构方案意味着引入新技术或开发新技术。开发新技术复杂度更高,如HHVM,kafka等。

7、系统复杂度来源:安全。分为功能安全如windows漏洞SQL注入等,和 架构安全如防火墙ACL等。防火墙性能低,目前没有很好的办法,更多是靠运营商清洗。

8、系统复杂度来源:规模。分为功能规模和数据规模。数据规模是数据量越来越大发生质变,比如mysql,超过五千万行后要开始分库分表。


 三、架构设计原则

1、三大原则:合适 > 演化 > 简单 这个优先级。

    1)合适原则:合适优于业界领先。没那么多人、没那么多积累、没那么卓越的业务场景。

    2)简单原则:简单优于复杂。结构的复杂性、逻辑的复杂性。

    3)演化原则:演化优于一步到位。首先要满足当前的业务需求,不贪大贪全,照搬大厂架构。要遵循演化原则。

Reply: Steppog On 2020-03-17 05:07:24

Kamagra Forum <a href=http://apcialisle.com/#>Cialis</a> Viagra Pharmacie Marseille <a href=http://apcialisle.com/#>Buy Cialis</a> Le Viagra Pourquoi

回复

Reply: Larryhoisa On 2020-03-19 06:03:45

Lower your expenses with our reasonably priced creating program | Get ve ry high superior papers of any issue stage but for any good total price!

回复

Reply: Steppog On 2020-03-24 18:12:38

Where To Buy Levitra Cheap <a href=https://apcialisle.com/#>Cialis</a> Acquistare Viagra Online <a href=https://apcialisle.com/#>buy cialis cheap</a> Kauf Viagra Online

回复

Reply: ekupagey On 2020-04-13 20:33:07

http://mewkid.net/when-is-xaxlop/ - Amoxicillin 500mg Capsules <a href="http://mewkid.net/when-is-xaxlop/">Buy Amoxicillin Online Without Prescription</a> rty.rqoh.lanecn.com.xce.en http://mewkid.net/when-is-xaxlop/

回复

Reply: aniwovohi On 2020-04-21 00:46:20

http://mewkid.net/when-is-xaxlop/ - Buy Amoxil Online <a href="http://mewkid.net/when-is-xaxlop/">Amoxicillin 500 Mg</a> igr.wcda.lanecn.com.rkw.pm http://mewkid.net/when-is-xaxlop/

回复

Reply: iyuiwuzugusuk On 2020-04-21 01:28:22

http://mewkid.net/when-is-xaxlop/ - Amoxicillin Online <a href="http://mewkid.net/when-is-xaxlop/">Amoxicillin Without Prescription</a> swd.fyhd.lanecn.com.mpe.dd http://mewkid.net/when-is-xaxlop/

回复

Reply: Roxie On 2020-05-11 16:27:29

Please let me know if you're looking for a writer for your blog. You have some really good posts and I think I would be a good asset. If you ever want to take some of the load off, I'd absolutely love to write some material for your blog in exchange for a link back to mine. Please shoot me an email if interested. Regards!

回复

Add Comment
©2014 www.lanecn.com , All rights reserved. Power By Li Xuan.  京ICP备14005030号