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

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

2. 松耦合(ioc)2

3. 接口的思考 2

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

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

6. Ocp原则开闭原则2

7. Plugin系统2

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. 不同项目的同一功能就实现可以放在同一上级模块package下5

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://blog.csdn.net/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.html( imp ,还没看完)

atiend

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

  1. aws s3仅允许cloudfront访问_初创公司如何用AWS搭建高扩展性架构

    ‍‍‍‍ 亚信云天的理解 • 初创公司需要快.多.好.省的技术架构 o 快:针对业务需要可以快速获得资源与服务 o 多:拥有丰富的云服务可供选择,能不自己做就不自己做 o 好:强调扩展性和高可用,既不 ...

  2. 【总结】初创公司用AWS搭建高扩展性架构

    下载地址:完整mp4视频 演讲人:张侠 博士 1. 邱洋的理解 初创公司需要快.多.好.省的技术架构 快:针对业务需要可以快速获得资源与服务 多:拥有丰富的云服务可供选择,能不自己做就不自己做 好:强 ...

  3. 如何构建高扩展性网站?

    本篇通过阅读<高扩展性网站的50条原则>,总结出以下内容. 一方面博主没有实际的架构经验,另一方面知识面也不够宽阔,所以只能系统的总结书中的要点,并根据自己的理解做些归纳. 主要内容 本书 ...

  4. 高性能、高并发、高扩展性和可读性的网络服务器架构:StateThreads

    译文在后面:代码我放在GITHUB了:http://github.com/ossrs/state-threads. State Threads for Internet Applications In ...

  5. Fastsocket:高扩展性的 Socket 以及 Linux 内核的底层网络实现

    目录 简介 安装编译 测试结果 GitHub README 介绍 参加者 安装 从源安装 开关内核 系统配置 用法 合适的场景### 如何使用 演示服务器 评价 Nginx的 HAProxy 在线评估 ...

  6. 优秀开源项目之三:高性能、高并发、高扩展性和可读性的网络服务器架构State Threads...

    译文在后面. State Threads for Internet Applications Introduction State Threads is an application library ...

  7. 如何构建和设计高扩展性系统

    主要内容 本书从多个方面围绕高扩展性提出了50条建议,一个高扩展性的网站会随着业务的发展.用户的增加,自由的扩展架构,从而轻松的应付网站的快速发展.下面看看本书的具体内容: 化简方程 1 不要过度的设 ...

  8. 甲骨文Andrew Mendelsohn:打造高扩展性和可用性的数据库云技术

    针对云服务大战环境,记得甲骨文公司创始人.董事长兼 CTO Larry Ellison 曾说过:现在云计算仍旧处于早期阶段,甲骨文已经做好准备,全力进军云计算领域.时隔不久,好消息就传来了.在 8 月 ...

  9. elasticsearch 一款高扩展性的分布式全文检索引擎

    什么是ElasticSearch 文章目录 什么是ElasticSearch 什么是全文检索 全文检索的应用场景 索引和搜索流程图 用Postman进行Restful接口访问 Elaticsearch ...

  10. 好用高扩展性的Android平台日志框架Slog

    Slog GitHub项目地址:https://github.com/shenbibo/Slog 概述 Slog是一个轻量级的Android平台的日志库,其是基于对当前开源的日志框架Logger和Ti ...

最新文章

  1. Coda, 去中心化的简洁(succint)的可拓展的加密货币
  2. Wrong permissions on configuration file, should not be world writable!
  3. VTK:可视化之FontFile
  4. 流放之路材质过滤怎么设置_用一张漫反射贴图可以做写实材质吗?
  5. Pandavan LED Document
  6. 优秀课件笔记之文件系统
  7. 生鲜水果小程序微信源码完整可用精品
  8. Unity基础组件及介绍
  9. php微信公众号退款,微信公众号支付--4--微信退款
  10. ios 判断打开相机权限_ios 判断是否有权限访问相机,相册,定位
  11. mysql 计算农历_公历转换农历算法
  12. vue 通过自定义规则实现表单手机号和邮箱的校验
  13. SitePoint播客#57:不是负面
  14. CMD权限不够怎么办
  15. 光纤光模块的一些知识
  16. 制作一枚有针对性的fork炸弹
  17. 缓存与分布式锁——场景实现
  18. 用计算机唱下山歌词,新歌亮相!“要不要买菜”再唱方寸山门派曲《下山》
  19. 音频录制软件怎么在电脑上下载,如何在线录音
  20. 如何给U盘和移动硬盘加密?

热门文章

  1. python立体匹配评价_综述翻译:机器学习与立体匹配(一)
  2. Linux 各目录的作用
  3. getent passwd 不能访问到 ldap 的用户
  4. Leetcode. 14. Longest Common Prefix
  5. 【库】JavaScript——滚动条( 不是很完善 )
  6. 關於GoogleUpdate.exe
  7. Web Service-第一篇什么是Web Service
  8. 20160220 - JavaScript for OS X Automation 调试技巧
  9. 前序与中序遍历序列构造二叉树 中序与后序遍历序列构造二叉树
  10. MySQL优化三之MySQL配置