Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结

Atitit.软件架构高扩展性and兼容性原理与概论实践attilax总结html

 

 

1. 什么是可扩展的应用程序?1html5

2. 松耦合(ioc)2java

3. 接口的思考 2mysql

4. 单一用途&模块化,小粒度化2sql

5. 组合(Composition),而不是继承(inheritance2数据库

6. Ocp原则开闭原则2编程

7. Plugin系统2windows

8. 流程扩展工做流系统,流程自定义2设计模式

9. Ui扩展 html53缓存

10. 数据独立性3

11. 脚本与hotdeploy3

12. 表处理扩展if else (数据与数据处理相互分离)3

13. 系统被扩展的几种形式(方法级别,模块级别)3

14. 经常使用软件扩展机制3

14.1. Ff的扩展机制》》》》插件体系4

14.2. 配置化4

14.3. dsl4

15. 面临的扩展性与兼容性问题4

15.1. 不一样的项目与不一样的实例启动4

15.2. 不一样的项目与实例配置文件4

15.3. Web.xml怎么办??4

15.4. 跳转到同一功能spec的不一样实现4

15.5. 不一样项目的同一功能就实现能够放在同一上级模块package5

16. 架构即将来:现代企业可扩展的Web架构、流程和组织(原书第2)5

17. 高扩展性网站的50条原则(网站运营必备宝典)做者:[]Martin L. AbbottMichael T. Fisher 6

 

 

1. 什么是可扩展的应用程序?

一个可扩展的应用程序应该可以以某种方式实现增加,而且添加、删除、加强、重构某些组件,对于其余组件的影响微乎其微

 

 

当出现下面的这些状况时,说明元素已经具备可扩展性了:

· 该元素能够很容易地与其余元素进行互换,而不会破坏应用程序

· 该元素能够轻松重用于项目外部

· 该元素能够成功地进行单元测试

 

 

2. 松耦合(ioc)

soma.js中提供了一系列用于架构解耦和测试的工具,以及各类设计模式解决方案,好比依赖注入dependency injection)、观察者模式observer pattern)、中介者模式mediator pattern)、外观模式facade pattern)、命令模式command pattern),面向对象OOP)工具集,并提供了一个DOM操做模板引擎做为可选插件。

做者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

 

3. 接口的思考

4. 单一用途&模块化,小粒度化

粒度更小,更容易扩展

 

5. 组合(Composition),而不是继承(inheritance)

6. Ocp原则开闭原则

7. Plugin系统

8. 流程扩展工做流系统,流程自定义

9. Ui扩展 html5

10. 数据独立性

每一个功能使用不一样的独立数据,这样能够提高扩展性。。好比订单处理。。接受订单,处理订单*update ,使用不一样的表 ,就能够互相不影响的功能修改以及表结构修改。。

11. 脚本与hotdeploy

12. 表处理扩展if else (数据与数据处理相互分离)

 

13. 系统被扩展的几种形式(方法级别,模块级别)

4)运行时对象装配。 

5)5)基于模块的运行时动态扩展。 到如今为止,咱们讨论的都是比较细粒度的在技术上的扩展。想象一下,若是增长一些功能,就去继承各类各样的类,而后通过复杂的装配过程,才能完成一个功能的添加和改进。即便你新增长了类,改动了Spring的配置文件,实现新的装配,但仍然有一点,你须要编译整个项目。也就是说,前四种都没有达到模块级别的扩展。
      OSGi给出了解决方案,能够实现模块级别的动态扩展,并且是运行时的。所谓运行时模块的动态扩展,好比说你须要增长一些新的功能,你能够将新开发的类和文件按照Bundle进行组织,而后直接扔到运行时环境下,这些功能就能够用了。

6)6)基于中间语言。 框架一般定义了一些Hotspot(热点),在这些点上,能够进行扩展。平台,可扩展性是最强的,好比window 平台,你能够开发应用程序运行在上面。windows提供了几千个API,你可使用他们来开发应用程序

 

由此推断,从技术上来讲,要得到最大的可扩展性,就要经过一种或多种中间语言来进行扩展。好比如今流行的OpenSocial API和Facebook都是这个思路。这样说来,DSL的出现就是瓜熟蒂落的了,它是为了知足在某个业务领域的扩展而设计的

 

14. 经常使用软件扩展机制

14.1. Ff的扩展机制》》》》插件体系

14.2. 配置化

14.3. dsl

15. 面临的扩展性与兼容性问题

15.1. 不一样的项目与不一样的实例启动

经过不一样的bat启动文件来实现。。

能够经过启动脚原本设置不一样的实例

 

15.2. 不一样的项目与实例配置文件

参照mysql,经过制定配置文件来实现

 

15.3. Web.xml怎么办??

暂时没办法,能够经过jetty等可编程中间件来实现。。

 

 

15.4. 跳转到同一功能spec的不一样实现

好比游戏和点播系统的用户中心,ui界面就不一样。。

可使用查表法。。使用js,根据项目的id来跳转不一样的功能ui加载,项目id在启动脚本里面传入。。  同一项目的不一样实例只能跳转到相同功能,若是须要不一样,在加个实例id判断吧。。

Prjid,instan_id,fun_implet

 

15.5. 不一样项目的同一功能就实现能够放在同一上级模块package

重名问题,经过添加后缀_prj 来解决。。

若是项目不少,应该经过前缀来解决,这样好找。。

 

16. 架构即将来:现代企业可扩展的Web架构、流程和组织(原书第2)

 

第一部分 可扩展性组织的人员配置

1章 人员和领导力对扩展性的影响 …… 2

2章 可扩展性技术组织的角色 …… 17

3章 组织的设置 …… 41

4章 领导力秘籍 …… 80

5章 管理秘籍 …… 116

6章 关系、思惟和商业案例 …… 141

第二部分 构建可扩展的过程

7章 过程是可扩展的关键 …… 154

8章 管理故障和问题 …… 169

9章 危机管理和升级 …… 189

10章 生产环境的变动管理 …… 210

11章 肯定应用发展的预留空间 …… 233

12章 确立架构原则 …… 248

13章 联合架构设计和架构审查委员会 …… 267

14章 敏捷架构设计 …… 284

15章 聚焦核心竞争力:自建与外购 …… 296

16章 肯定风险 …… 310

17章 性能与压力测试 …… 328

18章 障碍条件与回滚 …… 351

第三部分 可扩展的架构方案

19章 构建故障隔离的架构 …… 368

20章 AKF扩展立方体介绍 …… 389

21章 为扩展分割应用 …… 404

22章 为扩展分割数据库 …… 426

23章 为扩展而缓存 …… 452

24章 为扩展而异步 …… 472

第四部分 其余的问题和挑战

25章 海量数据 …… 492

26章 云计算的日新月异 …… 517

27章 云计算准备就绪 …… 550

28章 应用监控 …… 564

29章 规划数据中心 …… 581

30章 纵观全局 …… 608

 

17. 高扩展性网站的50条原则(网站运营必备宝典)做者:[]Martin L. AbbottMichael T. Fisher 

 

1章 化简方程 1

2章 分布工做 23

3章 横向扩展设计 35

4章 使用正确的工具 51

5章 不要重复工做 67

6章 积极利用缓存 81

7章 从错误中吸收教训 109

8章 数据库原则 125

9章 容错设计与故障控制 141

10章 避免或分发状态 159

11章 异步通讯和消息总线 171

12章 其余原则 183

13章 原则回顾和优先级划分 203

 

参考资料

如何一步一步打造高可扩展性的应用程序?-CSDN.NET.html

软件可扩展性:来自星巴克的经验 - Java,java框架 - language - ITeye论坛.html

可扩展性(Extensibility)——构建灵活系统的思考 - me.think(everything.about(_software_)).serialize(this);__古路刀客 - ITeye技术网站.html

架构师不可不知的十大可扩展架构 - 51CTO.COM.htmlimp ,还没看完)

 

atiend

相关文章
相关标签/搜索