基于Web的分布式系统与Restbucks咖啡屋案例解析
1. 不同级别的Web服务
在构建分布式系统时,Web服务可分为不同级别:
- 一级服务 :通常将操作名和参数插入URI,再通过HTTP GET将该URI传输到远程服务。如今很多自称“RESTful”的服务实际上多为一级服务,这类服务虽有一定用处,但未严格遵循RESTful约束,可能因使用不应有副作用的GET动词而意外破坏数据。
- 二级服务 :托管众多可通过URI寻址的资源,支持在每个暴露资源上使用多种HTTP动词,如Create Read Update Delete (CRUD)服务。以亚马逊的S3存储系统为例,二级服务利用HTTP动词和状态码来协调交互,借助Web提升系统的健壮性。
- 三级服务 :最具Web意识的服务级别,支持“超媒体作为应用状态引擎”的概念。即资源表示中包含指向其他可能令消费者感兴趣的资源的URI链接,服务引导消费者在资源间流转,从而引发应用状态的转变。
2. Restbucks咖啡屋简介
为了以更易懂的场景描述基于Web的分布式系统,我们引入了Restbucks这家咖啡屋。它从一家小咖啡店逐步发展成为全球企业,在发展过程中面临着组织优化和资源高效利用的需求。我们将借助Restbucks的运营场景,展示如何运用Web技术和模式来解决常见问题。
3. Restbucks的参与者与交互
Restbucks的服务和其暴露的资源是核心。主要参与者包括顾客、收银员、咖啡师、经理和供应商等,在案例中,这些参与者由程序代替
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



