`
rock
  • 浏览: 56611 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

有状态和无状态的架构风格分析

阅读更多

REST,表述性状态转移(REpresentational State Transfer)的简称。是当前比较热门的一种web架构风格。

REST的特征如下:

1,所有的东西都称为资源,通过uri来定义,只也是资源的唯一ID;

2,使用标准的http方法对资源进行操作;

3,所有的通信都是无状态的;

虽然REST包含无状态性(statelessness)的观念,但是在实际的应用中,只是要求服务器端不能保持除了单次请求之外的,任何与其通信的客户 端的通信状态。

如果要获取一个用户的信息,那么uri可能就会是/user/12317,并使用get方法获取信息。当我们修改用户信息是uri可能还是user/12317,但是使用的是put方法来进行操作。所以,在rest风格的架构中,定义uri是非常关键且重要的事情。

这样的风格使得无状态约束的服务器的变化对客户端是不可见的,在系统伸缩性上有很大的好处。

 

传统的架构中喜欢使用有状态的通信,即客户端或服务器端会保留用户的一些信息,客户端的叫Cookie,服务器端的叫Session。关于Cookie和Session的更多信息,参见本博收藏的《浅谈http的无状态性》。

 

系统的无状态性或有状态性其实可以共存的,这是根据具体的特点来决定的,只有最合适的架构才是最好的架构 。比如说对个人信息的管理最好是无状态的;如果是购物车的话,使用Session或是Cookie会更好一些。

通过SOA的理念,我们可以把有状态和无状态的服务分开实现和部署,这样的系统架构应该更加的合理一些。

 

分享到:
评论

相关推荐

    架构风格与基于网络的软件架构设计(Restful API)-中英文

    web之父的博士论文,Restful API的最佳描述。这篇论文定义了一个框架,...然后我介绍了表述性状态转移(Representational State Transfer,REST)的架构风格,并且描述了如何使用REST来指导现代Web架构的设计和开发。

    架构风格与基于网络的软件架构设计

    这篇论文定义了一个框架,致力于通过架构风格来理解软件架构,并且...然后 我介绍了表述性状态转移(Representational State Transfer,REST)的架构风格,并且描述了 如何使用 REST 来指导现代 Web 架构的设计和开发。

    UML和模式应用(架构师必备).part06.rar

    第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 ...

    系统架构师备考知识点梳理

    (二)什么是软件架构风格,面向对象和控制环路两种架构各自风格的特点 (三)主程序-子程序 和 管道-过滤器 这两种架构风格的特点 (四)面向对象和基于规则 四、信息系统安全性 (一)信息系统面临的安全威胁 (三...

    架构师考试-快速通关-知识点

    分析-状态图和活动图定义与区别 关系模式 关系运算-比较 管理信息系统规划的方法 架构描述语言-ADL 架构权衡分析方法 路由-层次化 论文-结尾/软件可靠性/设计模式/数据访问层设计/微服务/摘要/质量属性和评估方法 ...

    restflu风格demo

    RESTful架构风格最初由Roy T....HTTP就是该架构风格的一个典型应用。从其诞生之日开始,它就因其可扩展性和简单性受到越来越多的架构师和开发者们的青睐。...REST最大的几个特点为:资源、统一接口、URI和无状态。

    集成架构风格的SA软件部署可靠性 (2012年)

    已有的架构风格可靠性研究主要针对单一软件架构风格,为研究软件部署阶段的多种架构风格的系统可靠性,设计用连接器的方式来建模部署阶段的集成架构风格系统和软件组件可靠性。实验结果表明,随着系统运行时间的增加...

    UML和模式应用(架构师必备).part01.rar

    第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 ...

    UML和模式应用(架构师必备).part07.rar

    第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 ...

    UML和模式应用(架构师必备).part02.rar

    第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 ...

    UML和模式应用(架构师必备).part03.rar

    第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 ...

    UML和模式应用(架构师必备).part04.rar

    第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 ...

    UML和模式应用(架构师必备).part08.rar

    第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 ...

    UML和模式应用(架构师必备).part05.rar

    第1章 面向对象分析和设计 1.1 本书的主要内容 1.2 最重要的学习目标 1.3 什么是分析和设计 1.4 什么是面向对象分析和设计 1.5 简短示例 1.6 什么是UML 1.7 可视建模的优点 1.8 历史 1.9 参考资料 第2章 ...

    REST结构全面解析手册 PDF.rar

    它代表了分布式超媒体系统的体系结构风格,该风格是Roy Field在他的论文中定义的。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST提出了一些设计概念和准则。本手册将为您...

    REST式架构及实践

    REST(Representational State Transfer):表述性状态转移,分布式超媒体软件的一种架构风格。源自2000年Roy Thomas Fielding的博士论文。 一套简单的设计原则、一种架构风格(或模式),不是一种具体的标准或架构。 ...

    REST结构全面解析手册

    REST(Representational State Transfer):表述性状态转移,分布式超媒体软件的一种架构风格。源自2000年Roy Thomas Fielding的博士论文。 一套简单的设计原则、一种架构风格(或模式),不是一种具体的标准或架构。 ...

    Spring-Rest-Jackson-Json-Data-Binding:代表性状态转移是一种软件体系结构样式,它定义了一组用于创建Web服务的约束。 符合REST架构风格的Web服务(称为Rest API)可在Internet上的计算机系统之间提供互操作性。

    代表性状态转移是一种软件体系结构样式,它定义了一组用于创建Web服务的约束。 符合REST架构风格的Web服务(称为Rest API)可在Internet上的计算机系统之间提供互操作性。我们在杰克逊的帮助下使用Sping框架实现了该...

Global site tag (gtag.js) - Google Analytics