Day13 Lab 2 - Object storage API层

接下来我们就要进入Lab2的环节了,我们不会只像Lab只实作了简单的单机储存系统,我们会有API层、data层、心跳机制等等,下图给出了我们的大致的架构
https://ithelp.ithome.com.tw/upload/images/20210913/2013027124pNgTjJj7.jpg

今天先讲API层的细节,API层主要是expose储存的service给外部,我们的API定义在这

https://github.com/kaichiachen/python-simple-object-storage/blob/master/distributed_obj_system/backend/api/run.py

如下所示

  • version list

@app.route("/versions/<obj_name>", methods=['GET'])

  • object size

@app.route("/objects/size/<obj_name>", methods=['GET'])

  • object location

@app.route("/objects/locate/<obj_name>", methods=['GET'])

  • upload object

@app.route("/objects/<obj_name>", methods=['POST'])

  • download object

@app.route("/objects/<obj_name>", methods=['GET'])

特别说一下上图upload object的流程,upload我们不会透过Restful API传递object资料,而是透过Kafka这种生产者消费者middle ware给data server去消费
这篇大概说了一下API层有什麽API,接下来说Data server层的沟通机制


<<:  从零开始的8-bit迷宫探险【Level 5】Swift 基础语法 (三)

>>:  Day 13-用了十几天,总算回头看 Language Syntax 文件

第16天 - PHP 简易登入(3)_判断身分

接续昨天的部分,今天的登入会依照你的身分进入不同的页面(以会员、管理员为例)。 首先先增加资料表的内...

【Day 30】Google Apps Script - 延伸篇 -系列回顾与学习资源整理

Google Apps Script 网站又改版了,Google 一直在发展这个平台,还会愈来愈好...

Day12 - Button(二)

我们昨天讲到 按钮事件有分很多种 1.点击一下事件 2.长按事件 上一篇我们已经学会了按钮的点击一下...

[C#] LeetCode 5. Longest Palindromic Substring

Given a string s, return the longest palindromic s...

[VSCodeVim] Vim的思维、哲学与解决问题之道 (二)

Vim的思维、哲学与解决问题之道 (二) [系列文目录] 上篇文章 我们提到了两点使用Vim的重点原...