开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

关于构建可进化的系统

  • 2011-06-30
  • 本文字数:892 字

    阅读完需:约 3 分钟

在最近一篇帖子上, Mike Amundsen 写了构建可进化的系统,对他的演讲“超越 REST:一个打造稳定、可进化的 Web 应用程序的方案”做了补充。在那场演讲里,他希望回答的问题是“我们如何设计和实现分布式网络解决方案,使之随着时间的推移仍然保持稳定和灵活?”他说:

……把一个“应用”放到可以触及的“Web 上”一点都不难,难就难在实现一个解决方案,随着时间的推移能够成功地进化。我认为一个成功的方案包括接受和采纳分布式网络架构的一些现实,隔离环境里的临时因素,以及把你的大部分创造力放在以一种灵活和可进化的方式来表达重要的问题域信息上。

根据 Mike 的说法,回答这个问题的关键在于着眼于系统的三个方面:

* 传输协议——他认为目前创建分布式系统的工具都在向开发者隐藏了底层的协议,为了提高抽象性,通常牺牲了传输协议与生俱来的优点。

处理 HTTP 的最好方式是接纳它,让 HTTP 把系统设计师引向有损耗的(lossy)、零散的(chunky)和无状态的设计,接受 HTTP 的稳定性对于你的实现来说很少改变这个本性……这样你的所有分布式网络设计都会体现 HTTP 本身的强大、稳定和可靠。

* 状态管理——作为识别和接纳协议的不同方面的一个特例,状态管理通常用在本来没有状态的协议上(在这里是 HTTP)维护有状态的通讯。

与其不断地发明新的方式,企图忽视分布式网络交互中的无状态本性,设计师和开发者应该停止使用他们的临时个性化数据污染公共网络,客户端应该记录用户所需的信息(这正是为什么它们通常被称作用户代理)。

* 领域语义——他接着解释如何使用媒体类型在客户端和服务器之间共享领域语义。

正是媒体类型为各方定制消息提供了可能;共享它们对每个数据元素和超链接的含义的理解。正是媒体类型专门提供了注册表,各方都可以在这里找到共享出来的对问题域的理解,以便在相互认可的领域层面实现解决方案。

最后,他总结道

构建可进化的系统并不是非常复杂。它需要清除地理解传输协议,小心地隔离临时数据,并专注于通过共享消息恰当地表达问题域。这未必是一个复杂的过程,但确实需要付出努力。

你能举出企业或者其他地方的例子,同时具备所有这些方面的吗?

查看英文原文: On Building Evolvable Systems

2011-06-30 08:442050

评论

发布
暂无评论
发现更多内容

Syncovery for mac(文件备份和同步工具)v10.14.9激活版

iMac小白

DBeaverUE for Mac(数据库管理软件) v24.1.0 版

Mac相关知识分享

数据库 Mac Mac软件 mac软件下载

Deskew Technologies Gig Performer for mac(现场控制乐器和声音机架 ) v5.0.9版

Mac相关知识分享

MacBook Mac软件 音乐软件 音频处理软件 图形图像软件

AI并非万能,有效沟通是关键

Bruce Talk

AI 敏捷开发 Product Owner 提示词工程

强大的任务管理工具Tower for Mac v11.1 注册激活版

iMac小白

Tower下载 Tower mac版 Tower破解 Tower for mac

mac电脑数据恢复软件Aiseesoft Data Recovery for Mac v1.8.22激活版

iMac小白

拼多多API接口详解:自动化获取商品信息的高效指南

Noah

Proxyman Premium for Mac(网络调试和分析工具)v5.5.0激活版

iMac小白

首季目标超额完成,生成式人工智能驱动交易和合作伙伴扩展助力

财见

前端开源汉字书写笔画库

大师兄

JavaScript GitHub Vue

Aiseesoft Data Recovery for Mac(专业数据恢复软件)v1.8.22激活版

iMac小白

IBM SPSS Statistics for Mac(spss数据统计与分析软件)v27.0.1中文激活版

iMac小白

Axure RP 9 for Mac(交互原型设计软件)v9.0.0.3744中文激活版

iMac小白

批量图像水印添加实用程序Watermark Sense for Mac

Mac相关知识分享

图像处理 Mac软件 mac软件下载

VMware ESXi 8.0U2c macOS Unlocker & OEM BIOS 集成网卡驱动 Marvell AQC 网卡定制版

sysin

esxi 驱动 网卡 unlocker aqc

Video Cut Crop Join for Mac(mac视频剪辑合并软件 )v3.9激活版

iMac小白

MATLAB R2023a for Mac(商业数学软件)v9.14.0 (2337262)激活版

iMac小白

PDF Reader Pro for mac(全能pdf编辑阅读软件)v4.0.2直装激活版

iMac小白

Native Instruments Komplete Kontrol for mac(音源制作软件) v3.2.1版

Mac相关知识分享

MacBook Mac软件 mac软件下载 音乐制作软件

Video Cut Crop Join for Mac(mac视频剪辑合并软件 ) v3.9版

Mac相关知识分享

Mac软件 mac软件下载 视频编辑软件 视频处理软件

Arweave的挑战与机遇:解读AO技术与未来生态

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

关于构建可进化的系统_SOA_Dilip Krishnan_InfoQ精选文章