首先让我们来关注一下数据服务的实现,数据服务的REST接口虽然和上一章完全一致,但是为了支持新的功能,它在实现上还是有很大的变化
对于数据服务来说,它的REST接口和上一个版本完全相同,也就是对象的PUT和GET方法,这里不再重复。
接口服务层提供了对外的REST接口,而数据服务层则提供数据的存储功能。接口服务处理客户端的请求,然后向数据服务存取对象,数据服务处理来自接口服务的请求并在本地磁盘上存取对象。
一个分布式系统要求各节点分布在网络上,并通过消息传递来合作完成一个共同的目标。分布式系统的三大关键特征是:节点之间并发工作、没有全局锁以及某个节点上发生的错误不影响其他节点
我们在本章实现了一个单机版的对象存储服务,它提供了对象的PUT和GET方法。当客户端以PUT方法访问我们的服务时,客户端会提供对象的名字和内容,我们的服务就可以把对象的内容以文件的形式存储在服务器的本地磁盘上
对象GET流程见图
我们可以用一张简单的图来概括PUT流程
单机版的REST接口极其简单,只实现了对象的PUT和GET方法