您的位置:首页 > 运维架构 > 网站架构

零售系统软件架构---设计之理论篇

2015-01-23 15:59 399 查看

一、设计原则

1.1、一致性原则

一致性应该是所有质量原则的根基

一致性的架构则会给软件系统带来和谐与平衡

1、业务模型名称一致性(相关干系人沟通的桥梁)

2、架构风格的一致性

3、解决方案的一致性

4、形式上的一致性

1.2、分离原则

1、分离构建的基础(可控因素,非可控因素,可控程度;主要业务尽量避免跨公共网络)

2、分离业务需要多系统协同合作,使系统更应职责清晰

3、便于业务系统测试验证


1.3、核心非功能属性展开原则

比如在某个系统建设中:
五属性:可扩展性、性能,伸缩性,可用性,成本

1、业务变化,新增功能对系统的影响最低

2、性能量化(指标关键业务2s以内等)

3、伸缩性扩容(多少台机器支撑多大的量等)

4、高可用(做到几个9?等)

5、降低整个开发、运营成本。(硬件投资成本,维护成本,新业务开发成本等)

二、设计理念

2.1、服务化

1、粗粒度的重用

2、为搭建公司信息系统平台打下坚实的基础

2.2、异步化

1、系统内并发处理,系统间并行处理

2、提高系统响应性

3、解耦系统并聚合服务

2.3、自动化

1、业务操作自动化(聚焦实际业务处理中)

2、开发自动化(比如 自动化生成工具)

3、部署自动化(大规模维护)

4、监控自动化(容量规划与流量监控)

三、互联网一些概念理论

3.1、分布式系统

视失败为常态;

重视横向伸缩性;

预测性能,追求低延迟,廉价的硬件和软件;

推崇重用,灵活设计,加入足够的监测点和调试功能来帮助日后的调试,优先虚拟计算等


3.2、CAP理论

3.3、ACID与Base模型

关系数据库的ACID模型拥有 高一致性 + 可用性 很难进行分区:

Durability. 一旦事务完成,就不能返回。

BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性:

Basically Available基本可用。支持分区失败(e.g.sharding碎片划分数据库)

Soft state软状态 状态可以有一段时间不同步,异步。

Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时高一致。

BASE思想的主要实现有

1.按功能划分数据库

2.Sharding分片

3.4、SOA

是一种松散耦合的架构理念和模型,针对粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用。


四、互联网技术基础

1、基于x86服务器集群和开源软件搭建技术设施
分布式架构+开源软件是其基本特征

2、基于场景的需求分析和应用开发

a、所有系统采取服务化模式,系统之间进行必要的分拆和隔离,通过服务调用和消息通知的方式进行协同;

b、BASE和ACID相结合;

c、无单点设计、可监控、可测试、可回滚、可禁用、短事务与柔性事务、异步设计、无状态、业务分等级、业务可降级、多数据中心部署。

3、平台化建设理念

而服务化又是平台化最显著的特征。

4、自动化部署与运维体系

DevOps工程实践、Docker容器引擎
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: