atitit 高扩展性解决方案 功能扩展法 v2 t66.docx

atitit 高扩展性解决方案.docx

1. 功能扩展 vs 性能扩展 2

1.1.       人无远虑,必有近忧。       系统也一样。 2

1.2. 预留接口 插件机制 2

1.3. 通用语言解析接口 多功能接口 就类似usb接口那样通用 2

1.4. Dsl接口和ast接口 2

1.5. 脚本。脚本是扩展复杂功能的利器 2

1.6. 自定义语言 工作流 规则引擎 2

1.7. api类库扩展 2

1.8. Cli扩展     udf机制 3

1.9. 3

2. Other 3

2.1. 原件最小封装 3

2.2. 接口的层次化 功能 模块 子系统 3

2.3. 接口转换器 adapter模式 3

2.4. 无中心节点组件设计 避免庞大组件出现, 3

2.5. 使用配置化 ioc提升扩展性,配置lazy化 3

2.6. 插件系统或者模块化平台。插件系统平台从理论上提供了无数的可扩展性。比如Eclipse和NetBeans平台。这儿是抽象的最高点, 4

2.7. 灵活性和可扩展性 其易用性差的三角关系 4

2.8. 稳定性。越是灵活和可扩展 4

2.9. 扩展性与性能的关系 4

2.10. Vm+dsl vm 其实就是添加了一个layer,无所不能 4

2.11. 功能使用和功能定义的关注点分离 5

3. 其他的常见扩展模式 5

3.1. Php使用其他语言写lib 5

3.2. Cms的插件机制 5

3.3. 浏览器的插件机制,使用其他语言写插件 5

3.4. Oracle支持java写sp 5

3.5. 用lua扩展你的Nginx(  5

4. 常用的写扩展的语言 5

4.1. Lua c++ python  xml 5

5. 参考资料 5

  1. 功能扩展 vs 性能扩展

    1.       人无远虑,必有近忧。       系统也一样。

2)可扩展性不是一蹴而就的,是需要随着你对业务领域理解的深入而不断重构获得。一般三次可以达到比较理想的程度。

3)在系统演化过程中,时刻准备着,保持对复杂性的关注。确保这些复杂性得到消化。

4)要想获得可扩展性,你需要看得远一点,对上下文做充分的了解。

人无远虑,必有近忧。       系统也一样。

  1. 预留接口 插件机制
  2. 通用语言解析接口 多功能接口 就类似usb接口那样通用
  3. Dsl接口和ast接口

使用ast接口预先分词会更加方便。减少工作量。。

当然dsl接口也是急需要的额。。可以在ui层实现。。。

  1. 脚本。脚本是扩展复杂功能的利器
  2. 自定义语言 工作流 规则引擎
  3. api类库扩展

比如php可以使用另外语言写lib

    1. Cli扩展     udf机制
  1. Other
    1. 原件最小封装
  1. 接口的层次化 功能 模块 子系统

分别在不同的层次上面的接口

  1. 接口转换器 adapter模式
  1. 无中心节点组件设计 避免庞大组件出现,

类似于主板一样,接口众多,难依然难以升级

因为一旦升级,就要牵扯到众多接口同时升级。。

  1. 使用配置化 ioc提升扩展性,配置lazy化
  1. 插件系统或者模块化平台。插件系统平台从理论上提供了无数的可扩展性。比如Eclipse和NetBeans平台。这儿是抽象的最高点, 
  1. 灵活性和可扩展性 其易用性差的三角关系

灵活性和可扩展性也是其易用性差

.易用性。越是灵活,用户的使用难度就越大,如果没有产品的现场实施人员的服务,对于非计算机人专业用户来说,这实际增加了他们使用的难度。Eclipse的平台正在展现这种问题,虽然它的用户主要是开发者,即时插件文档做得很好,但是很多人不得不抱怨Eclipse需要太多得配置和技巧。另外典型的例子是Windows和Linux要求有不同能力的人来使用,原因在于,Linux的灵活性和可扩展性也是其易用性差的原因之一

可以通过分装一层易用性layer来解决

  1. 稳定性。越是灵活和可扩展

, 。这主要是灵活性带来的现实世界的排列组合太多了,版本之间的兼容性

这个可以通过版本管理来实现,不会

  1. 扩展性与性能的关系

性能。微内核/插件模式设计的缺点表现在不同插件之间的交互性能损失上。Unix系统之所以没有采取现代操作系统所提倡的微内核模式,恐怕原因也在于此。

  1. Vm+dsl vm 其实就是添加了一个layer,无所不能

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

。由此推断,从技术上来说,要获得最大的可扩展性,就要通过一种或多种中间语言来进行扩展。比如现在流行的OpenSocial API和Facebook都是这个思路。这样说来,DSL的出现就是顺理成章的了,它是为了满足在某个业务领域的扩展而设计的。思路还是和前面说的一样。 说白了,就是顺序,选择和循环可以表达所有逻辑,这是证明过的,这是语言能够带来灵活性的本质。

  1. 功能使用和功能定义的关注点分离

自行开发两个扩展,并注册到扩展点上。张三在运行时收集扩展,进行处理。实现了功能使用和功能定义的关注点分离。大家只要遵守扩展的契约就行了。

  1. 其他的常见扩展模式

    1. Php使用其他语言写lib
    2. Cms的插件机制 
    3.  浏览器的插件机制,使用其他语言写插件
    4. Oracle支持java写sp
    5. lua扩展你的Nginx(
  2. 常用的写扩展的语言
    1. Lua c++ python  xml
  3. 参考资料

程序的灵活性与可扩展性 - 嘿 - 博客频道 - CSDN.NET.html

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

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher  kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

Emir Uke部落首席大酋长,

uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

uke 首席cto  奶牛科技首席cto , 软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理

uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长

uke终身教育学校副校长   Uke医院 与医学院方面的创始人

uec学院校长, uecip图像处理机器视觉专业系主任   uke文档检索专业系主任

Uke 户外运动协会理事长  度假村首席大村长  uke交友协会会长

uke出版社编辑总编

转载请注明来源:attilax的专栏  ?http://blog.csdn.net/attilax

--Atiend  v6

atitit 高扩展性解决方案 功能扩展法 v2 t66.docx atitit 高扩展性解决方案.docx 1. 功能扩展 vs 性能扩展 2 1.1.       人无远虑,必有近忧。相关推荐

  1. 特殊监管区解决方案,高等学历继续教育及高职扩招综合管理平台服务技术功能详解

    版权声明:本文章由"上海美华系统有限公司"编辑组汇编而成,未经授权和许可,任何个人或媒体不得对本网站的文章及其他信息资料予以复制.转载.抄袭.改编.  上海美华系统有限公司成立于1 ...

  2. 软件系统扩展性_我如何将软件系统的性能扩展35,000%

    软件系统扩展性 重点 (Top highlight) 一天处理超过$ 20,000,000 (Processing over $20,000,000 in a single day) A previo ...

  3. RKE部署Rancher v2.5.8 HA高可用集群 以及常见错误解决

    此博客,是根据Rancher官网文档,使用RKE测试部署最新发布版 Rancher v2.5.8 高可用集群的总结文档.Rancher文档 | K8S文档 | Rancher | Rancher文档 ...

  4. 使用RKE部署Rancher v2.5.8 HA高可用集群

    文章目录 一 了解 Rancher 1 关于Helm 2 关于RKE 3 关于K3S 4 Rancher 名词解释 4.1 仪表盘 4.2 项目 4.3 多集群应用 4.4 应用商店 4.5 Ranc ...

  5. 解析USB PD3.1、USB4 V2.0标准下的USB-C线缆解决方案

    12月9日,由广东省连接器协会.东莞市标准化协会联合主办.深圳慧能泰半导体科技有限公司承办的"USB PD3.1.USB4 V2.0标准下的USB-C线缆解决方案研讨会"顺利举行. ...

  6. 微软开源 Outlook for iOS 暗黑模式解决方案:支持 iOS 11 及更高版本

    微软于 2019 年 8 月推出了面向 Outlook 的暗黑模式,并于去年初开始对该应用程序展开更广泛的重新设计.在新增的外观和功能中,就包括大家期待已久的暗黑模式.现在,软件巨头已决定将其开源,并 ...

  7. atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 1.音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能。 铃声 功能。。 音频切割(按

    atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能. 铃声 功能.. 音频切割(按照副歌部分 ...

  8. atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能。 铃声 功能。。 音频切割(按照副歌部

    atitit 音频 项目 系列功能表 音乐 v3 t67.docx Atitit 音频 项目 系列功能表 音频 音乐 语言领域的功能表 听歌识曲功能 酷我功能. 铃声 功能.. 音频切割(按照副歌部分 ...

  9. Atiitt 可视化 报表 图表之道 attilax著 Atiitt 可视化的艺术 attilax著 v2 s51.docx Atitit.可视化与报表原理与概论 1. 、什么是可视化(这一

    Atiitt  可视化 报表 图表之道 attilax著 Atiitt  可视化的艺术 attilax著 v2 s51.docx Atitit.可视化与报表原理与概论 1. .什么是可视化(这一节有点 ...

  10. 《Java并发编程入门与高并发面试》or 《Java并发编程与高并发解决方案》笔记

    <Java并发编程入门与高并发面试>or <Java并发编程与高并发解决方案>笔记 参考文章: (1)<Java并发编程入门与高并发面试>or <Java并发 ...

最新文章

  1. Visual SLAM
  2. web前端技术分享:koa中间件是如何实现的?
  3. ASP.NET 泛型类型 Dictionary操作
  4. Android 用户界面---样式和主题(Styles and Themes)(二)
  5. sql server web管理软件
  6. 集群提交HBase代码报错:Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguratio
  7. 智能选择:单位转换(unit conversion)
  8. 抖音短视频APP——市场需求文档
  9. djyvp计算机电缆参数,DJYVP计算机电缆2x2x1.5型号规格含义
  10. 新电脑到手后,如何设置?
  11. 官网下载Eclipse历史版本
  12. 怎样远程开启计算机并查看桌面,远程开启远程计算机的远程桌面
  13. 微信撤回服务器保存吗,收藏!微信消息被撤回?闪照无法保存?这样一步完美解决...
  14. ElasticSearch的scroll分批查询
  15. 在线博客系统——评论列表
  16. 学习记录:UnityHDRP高清渲染管线学习 day1
  17. 并联下垂控制(DROOP控制)_SIMULINK模型搭建详解
  18. 开启Intel VT-x
  19. 轨道阱 matlab,静电场轨道阱质谱(Orbitrap)
  20. Linux系统云服务器查看/启用网站日志

热门文章

  1. mongodb mysql配置_MongoDB数据库安装配置、基本操作实例详解
  2. html canvas php,关于HTML canvas的总结
  3. 邮件服务器运维,什么是邮件服务器,邮件服务器详解
  4. visual studio怎么让button一直生效_民用建设工程设计合同怎么生效
  5. react 逆地理 高德地图_给高德新版地图点赞!出行服务竟然如此智能
  6. YACC (Yet Another Compiler Compiler)
  7. C语言 - setjmp与longjmp
  8. kafka报错 WARN Session 0x0 for server null, unexpected error, closing socket connection
  9. Windows下配置安装Git(一)
  10. 第十二 关于JavaScript