Sheepdog HTTP API
1、sheepdog中http simple storage中nginx后台配置文件模板留存:
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name localhost;
location / {
fastcgi_pass localhost:8000;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param HTTP_RANGE $http_range;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param REQUEST_URI $request_uri;
}
}
client_max_body_size 0;
}
2、sheepdog中HTTP API未实现POST操作,但已实现GET、HEAD、DELETE、PUT操作。
3、客户端可使用httpie(linux)或者libcurl等。
其中httpie安装(ubuntu)使用如下:
pip install --upgrade httpie
$ http PUT http://localhost/v1/mandy # create a user account named 'mandy'
$ http PUT http://localhost/v1/mandy/books # create a book container for 'mandy'
$ http PUT http://localhost/v1/mandy/movies # create a movie container for 'mandy'
$ http GET http://localhost/v1/mandy # to see what containers 'mandy' has
$ http PUT http://localhost/v1/mandy/books/yourbookname < yourbook # upload your book
$ http PUT http://localhost/v1/mandy/movies/yourmoviename < yourmovie
$ http HEAD http://localhost/v1/mandy/movies/ # Get the statistics of movie container
$ http GET http://localhost/v1/mandy/books/yourbookname > yourbook # Download your book
$ http DELETE http://localhost/v1/mandy/books/yourbookname # delete the book in the container
4、HTTP浏览器客户端调用PUT时,如若提示跨域问题,一般方案可使用JSONP解决;但在实践中,通过nginx中配置OPTIONS操作的返回值来实现,因为浏览器端发送HTTP PUT之前会发送OPTIONS进行校验。
附(编译sheepdog0.9.2):
编译过程中出现权限拒绝,请改(递归目录可使用-R)目录权限(为方便可改为777或+x)
sheepdog 0.9.2
sudo apt-get install libfuse-dev
sudo apt-get install yasm
apt-get install libcurl4-gnutls-dev
apt-get install nginx
apt-get install lighttpd
./autogen.sh
./configure --enable-http
make
make install
出现error while loading shared libraries:libfcgi.so.0
编辑文件 /etc/ld.so.conf添加一行:
------
/usr/local/lib/
------
然后刷新一下:
ldconfig
执行如下指令查看:
ldconfig -p | grep libfcgi.so.0
修改配置文件后开启服务
nginx -c /etc/nginx/nginx.conf
目前仅支持local和zookeeper 1.4.5 or plus
sheep -c local -r swift
collie cluster format -c 1
Sheepdog HTTP API的更多相关文章
- 分布式存储系统sheepdog
Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备. 其架构例如以下: 以下,我们将从架构.模块等几个方面来介绍下: 一.架构图 如上图: 採用无中心节点的全对称架 ...
- 【分布式存储系统sheepdog
】
Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备. 其架构例如以下: 以下,我们将从架构.模块等几个方面来介绍下: 一.架构图 如上图: 採用无中心节点的全对称架 ...
- 干货来袭-整套完整安全的API接口解决方案
在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...
- 12306官方火车票Api接口
2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...
- 几个有趣的WEB设备API(二)
浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- JavaScript 对数据处理的5个API
JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...
- ES5对Array增强的9个API
为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...
- javascript的api设计原则
前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...
随机推荐
- Win8 安装Oracle 10g 提示“程序异常终止”的解决方案
这段时间在做DRP,需要安装Oracle 10g的数据库,我的系统是win8企业版,安装Oracle 10g的时候,选择“高级安装”,提示“程序异常终止”,下面是几个解决方案,跟大家分享一下. 错误提 ...
- "无法启动程序,因为计算机中丢失*.dll” 运行exe错误解决方法
笔者把编译生成的win32 Release exe文件复制到另外一台电脑上,却发现程序不能运行,报错如下: 报错提示缺失动态链接库pcl_common_release.dll,那为什么在编译生成的电脑 ...
- Mac Pro更换SSD后,在Win7下启用ACHI的方法AHCI
在Mac Pro下更换SSD后,如果安装Win7,要将SSD改为AHCI模式是非常麻烦的.本文介绍如何将Mac的Win7下的SSD改为AHCI方式驱动,及几种常见问题的处理. 一.当Lion与Win7 ...
- mysql中删除表
有两种方式: 1.delete from table table_name; 2.truncate table table_name; 第一种中,清空表后,主键id会在原先的记录基础上继续增加,而第二 ...
- PAT 1014
1014. Waiting in Line (30) Suppose a bank has N windows open for service. There is a yellow line in ...
- 三、Socket之UDP异步传输文件-多文件传输和文件MD5校验
本文接着上一篇文章二.Socket之UDP异步传输文件,在上一篇文章的基础上实现多文件的传输和文件传输完成后进行完整性校验. 要实现多文件的传输,必须要对文(2)中发送文件的数据格式进行改进,必须加入 ...
- 网页媒体播放利器 - JW Player使用心得
序言 前段时间在做一个网站项目,要求能在线播放视频.音乐,这个以前还真没接触过.恰好今天在坛子里闲逛时,发现有同志对这方面也感兴趣,遂把这些整理了下,同时自己也可以复习下. 播放器需要满足以下需求: ...
- Java Web services: WS-Security with Metro--referenc
As you know from "Introducing Metro," the reference implementations of the JAXB 2.x data-b ...
- eclipse.ini配置eclipse的启动参数
Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME 没有被定义,则Eclipse安装目录下的默认eclipse.ini会生效. eclipse ...
- Java设计模式06:常用设计模式之适配器模式(结构型模式)
1. Java之适配器模式(Adapter Pattern) (1)概述: 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类,可以在一起 ...