苹果相关

浏览模式: 标准 | 列表 | 图文
请问:FastDFS有没有相关的技术文档

请问:FastDFS有没有相关的技术文档

我想咨询一下FastDFS有没有相关的技术文档。如果有请告之一下地址。

回答:

简介:http://code.google.com/p/fastdfs/wiki/Overview
安装:http://code.google.com/p/fastdfs/wiki/Setup
C客户端:http://code.google.com/p/fastdfs/wiki/ClientAPIforC
通讯协议:http://code.google.com/p/fastdfs/wiki/CommunicationProtocol

参见FastDFS官方网站:www.csource.org
或者CU论坛:http://linux.chinaunix.net/bbs/forum-75-1.html

FastDFS还是挺有意思的,如果你的需求并不复杂,真是可以用来尝试一下:
FastDFS is an open source high performance distributed file system. It's major functions include: file storing, file syncing and file accessing (file uploading and file downloading), and it can resolve the high capacity and load balancing problem. FastDFS should meet the requirement of the website whose service based on files such as photo sharing site and vidio sharing site.
FastDFS has two roles: tracker and storage. The tracker takes charge of scheduling and load balancing for file access. The storage store files and it's function is file management including: file storing, file syncing, providing file access interface. It also manage the meta data which are attributes representing as key value pair of the file. For example: width=1024, the key is "width" and the value is "1024".

The tracker and storage contain one or more servers. The servers in the tracker or storage cluster can be added to or removed from the cluster by any time without affecting the online services. The servers in the tracker cluster are peer to peer.

The storarge servers organizing by the file volume/group to obtain high capacity. The storage system contains one or more volumes whose files are independent among these volumes. The capacity of the whole storage system equals to the sum of all volumes' capacity. A file volume contains one or more storage servers whose files are same among these servers. The servers in a file volume backup each other, and all these servers are load balancing. When adding a storage server to a volume, files already existing in this volume are replicated to this new server automatically, and when this replication done, system will switch this server online to providing storage services. When the whole storage capacity is insufficiency, you can add one or more volumes to expand the storage capacity. To do this, you need to add one or more storage servers.

The identification of a file is composed of two parts: the volume name and the file name.

----最近正准备尝试,所以就多看了一点:
实战FastDFS:http://blog.csdn.net/column/details/fastdfs.html
FastDFS安装使用:http://soartju.iteye.com/blog/803548

How-to recover from checksum mismatch errors in SVN

How-to recover from checksum mismatch errors in SVN

windows和linux有一点不同,即。。。文件名是否区分大小写。于是在SVN里就有了这么纠结的事情,如果将文件名即时改名大小写,SVN会认为这是同一个文件,而不会加到SVN的库里。如果有改动,再提交,我日。尼玛,其他 客户端就会说文件不一样。会报标题出现的错误 ,肿么办??

原文标题来自的文章是出自这里:http://andrew.hedges.name/blog/2009/01/25/how-to-recover-from-checksum-mismatch-errors-in-svn

全英文,有四屏哦(光标回到最上面,按四次空格 可以到底,称之为四屏),如果你兴趣不大,我这里有一个简化版。。。

1、将出错的目录,重新checkout出来到一个新的目录
2、将原svn中的该目录删除
3、将新checkout的目录拷过去,到项目目录里
4、改正用户组权限。
Over了。就是这么简单。。。。

英文是这样说的:

  1. Check out the latest revision of the corrupted directory into a temporary directory
  2. Delete the munged SVN revision files
  3. Copy the correct SVN revision files into the working directory

Over。。。真不难哦

自动登录远程Linux服务器

SSH命令是用來連接遠程Linux服務器的,大多數時候,我們都是用的客戶端,好看又方便,還能保存密碼,但長久以往,居然我連密碼也忘了。。。悲催
所以,我在想,是否可以自動連接ssh服務器(不用客戶端)也不用記密碼?直接就完事?
公鈅?rsa public ?沒意思,那樣我還是記不住密碼,萬一被人一折騰,腫麼辦?

所以,找了一些資料,發現。。。sshpass真是一個好東西啊
最簡單的應用方法:sshpass -p 123456 ssh username@hostname
就可以了。
於是,比如 我現在的服務器,我新建 了一個腳本:neatstudio.com.sh,並且chmod +x ,然後在裏面就一行代碼:
sshpass -p 123456 ssh root@neatstudio.com
當然在執行這個文件之前,需要先ssh neatstudio.com一下。先保存完驗證的KEY,然後就可以執行./neatstudio.com.sh了。

於是,我密碼再也不會忘了,因為就在這個文件裏,這個可是明文的。。。。就算我設的再複雜也毛有關係了。。。輕輕鬆鬆

關於sshpass的下載,我這裏提供一個下載地址:e3ca5bb8a22ac7d6cbe7c589142eed64

這個直接就是官方的版本,不過您為了安全,還是直接去sf下載吧。我這裏就權當是為我自己做一個備份。畢竟有時候sf是會被墻的

转:VPS采用的几种常见技术(OpenVZ、Xen、KVM)介绍与对比

转:VPS采用的几种常见技术(OpenVZ、Xen、KVM)介绍与对比

一直都知道openVZ性能不高,不太能設VPN,所以一直想用的也都是XEN,但XEN的價格又比較高,比較有名的就是linode了。
找了一下資料,詳細了解一下資料:
很多人看到同样配置的VPS价格相差很大,甚是不理解,其实VPS使用的虚拟技术种类有很多,如OpenVZ、Xen、KVM、Xen和HVM与 PV。在XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于linux内核的系统,效率更高,hvm可以虚拟所有常见操作系统(可以使用 windows),理论效率比pv略低,另外,hvm需要cpu虚拟化指令支持,pv无此要求。KVM是新兴的虚拟化项目,出售KVM的VPS商家不多, 但据说KVM虚拟技术是比较强悍的。而OpenVZ是一个类似于Linux-VServer的操作系级全虚拟化解决方案,目前基于Xen和OpenVZ的 VPS服务商比较多。本文就VPS采用的几种常见技术OpenVZ、Xen、KVM做简单介绍和对比,以备你选购自己合适的VPS。

OpenVZ

OpenVZ是操作系统级别的虚拟化技术,是底层操作系统上的一层应用,这意味着易于理解和低权重开销,一般来说也意味着更优的性能。但是OpenVZ配置起来比较灵活,给黑心服务商改低限制的机会。

优势:现在外面卖的这种类型,许可的内存都超大,CPU也强劲,而且卖家很多,可比性也很强。性价比超高。

劣势:超卖,没有不超卖的,导致各种石头盘,钻石盘。连带的cpu也被过度分割导致性能升值不如其标明的1/10。再有就是内存,基本上OpenVZ技术没有独占的,都是共享,别人多了你就少了,而且这种技术最大的劣势就是内存下来后直接就是当机。还有开设vpn各种不方便。

Xen

Xen是半虚拟化技术,它并不是一个真正的虚拟机,而是相当于自己运行了一个内核的实例,可以自由的加载内核模块,虚拟的内存和IO,稳定而且可预测。分Xen pv 和Xen hvm,区别就是pv只支持linux,而hvm支持win系统。

优势:内存独占,虽然小但是保证分配的到。部分虚拟技术决定了就算是超卖也不会超太离谱。所以一般的母鸡就算超了,也很少导致石头盘。当然小鸡有pt就除外了。另外就是即使内存再低也不会当掉,只是会无响应一段时间。

劣势:内存小,硬盘小,带宽小(以上3点均和同价位的openvz对比)。因为没发超卖了,为了赚钱只能把这3个基本配置降下来了。还有就是供应商残次不齐,而且大部分在说xen的时候都木有明说是pv还是hvm,其实pv的性能是优于hvm的。

KVM

优势:和xen类似,比xen更好的一点是,kvm是完全虚拟的,所以不分pv和hvm的区别,所有的kvm类 型的虚拟技术都可以装各种linux的发行版和各种win的发行版,不管供应商在主页有没有写明是否支持win,只要你配置够win运行,那就肯定可以装 的上去,只是方法的问题而已。

劣势:恰恰因为kvm可以装任意类型的操作系统,导致了折腾帝甚至在128m的机器上装了win2003(上去 后直接所有的cpu和内存都用于硬盘IO了,不明白这些人想干神马)。其结果就是所有的kvm邻居都得看你周围邻居的脸色。这么说把,一个node下只要 有5、6台这种折腾帝,对不起,你的硬盘基本就是石头盘了。

个人比较倾向于Xen,因为它是对供应商和和客户来说都是可以接受的折衷方案。openvz超卖太厉害,kvm等看RP,这2种都不适合那些不想折腾只想做站的站长。

--------

上面這段文字是來自於:http://www.laoyao.me/post/2805.html

在VPS上为mysql禁用innodb引擎

在VPS上为mysql禁用innodb引擎

我知道INNODB不錯,但是我的VPS只有小小的512M內存,實在是扛不住,這玩意啥也不錯就吃掉了我不少內存了。於是我直接在my.cnf裏加上了skip-innodb。結果服務無法啟動。

找了一下資料 ,原來mysql 5.5以上的時候,默認的引擎就是innodB,因此,如果要skip掉它,必須告訴 mysql我的默認引擎是myisam。因此代碼就變成了這樣,在[mysqld]中加入:
default-storage-engine = MyISAM
然後再skip-innodb,接著運行service mysql restart,世界清靜 了。
原來運行top的時候,mysql一直佔有著70%左右的CPU。現在立刻清零。
一下子安逸了

sync的功能

sync的功能

看好了,這裏寫的是sync不是RSYNC
以前一直不知道是干嘛用的,直到这次。服务器的空间突然间就以每天30G的使用率往上升,以为数据确实在井喷了。在删除掉部分数据后,执行了sync后,突然间又多出150G左右出来

这时候问vampire,他说sync是将内存中的一些信息存储到硬盘上。删除了文件后,如果不执行,很可能空间在运行df的时候,还是在占用状态。

于是查了一下资料 :

用途说明

Linux内核为了达到最佳的磁盘操作效率,会把需要写入到磁盘的数据现在内存中缓存起来,在合适的时候才真正写入到磁盘中,这在绝大多数情况都是没有任何问题的,而且提高了系统的效率,但是如果系统当机、掉电,就会有些文件内容不会保存下来。在Linux系统关机或者重启时,会自动把缓冲区的内容自动同步到磁盘中。我们也可以手工去执行sync命令,强制将内存中的文件缓冲内容写到磁盘,这个命令是通过调用sync系统调用来实现的。(flush file system buffers。Synchronize data on disk with memory。Force changed blocks to disk, update the super block.`sync' writes any data buffered in memory out to disk. This can include (but is not limited to) modified superblocks, modified inodes, and delayed reads and writes. This must be implemented by the kernel; The `sync' program does nothing but exercise the `sync' system call. The kernel keeps data in memory to avoid doing (relatively slow) disk reads and writes. This improves performance, but if the computer crashes, data may be lost or the file system corrupted as a result. The `sync' command ensures everything in memory is written to disk.)但是,我认为一般情况下我们是没有必要去执行这个命令的,因为Linux内核会尽快让内存中的数据自动同步到磁盘上去,而且,谁又会知道什么时候会掉电或当机呢?


常用方式

格式:sync

强制将内存中的文件缓冲内容写到磁盘。


使用示例
示例一

[root@web ~]# sync
[root@web ~]#


示例二
问题思考

1. 在以前使用Unix(SCO Unix, Sun OS)的时候,那些人教我们使用sync命令,所以记住了它,有些文章也说在关闭或重启系统之前要多次执行sync命令,有的说要2此,有的说最好4次。各位看官,你们怎么看待这个问题,欢迎留言赐教。


相关资料

【1】肚子网 linux命令sync用法详解
http://www.duzi.cn/article/2010-3-12/223585-1.htm
【2】loongene的博客 Linux sync命令的作用
http://blog.sina.com.cn/s/blog_53689eaf0100o8b4.html
【3】IT INF Linux sync命令详解
http://www.itinf.com/bbs/viewthread.php?tid=66500&extra=page%3D1
【4】CCF技术论坛 【求助】LINUX关机之前,是否一定要sync呢?
https://bbs.et8.net/bbs/archive/index.php/t-374736.html
【争论】localhost与127.0.0.1的区别

【争论】localhost与127.0.0.1的区别

看到新浪微博上面有這麼一句:
【#SAE技术分享#】localhost与127.0.0.1的区别是什么? 相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。 看来这个入门问题还有人不清楚,其实这两者是有区别的。

所以我打開了網頁關注了一下:

localhost与127.0.0.1的区别是什么

相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。

看来这个入门问题还有人不清楚,其实这两者是有区别的。

localhost也叫local ,正确的解释是:本地服务器
127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)

localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。

127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。

一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。

有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。

本來標題不想用爭論這個詞的,但你看我標出的紅色區域就知道了。所以我用了爭論這個詞。原作者看來也不能確認。而我也不知道是否確實是這樣。。。好吧。懶得google了

怎么样修复SVN中的 “containing working copy admin area is missing”

怎么样修复SVN中的 “containing working copy admin area is missing”

How to fix “containing working copy admin area is missing” in SVN?
有的时候,SVN中刚刚创建了一个目录 ,结果没有在svn中删除 ,而是直接到资源管理器或者finder中删除 了。这时SVN会报错。说是你建了一个目录,删除 了,错误信息就是: “containing working copy admin area is missing”
怎么修复呢?
最方便的方法就是checkout原来项目的这个路径的目录。覆盖掉当前目录。

世界就清静了

折腾

折腾

折腾了很久,VPS又换成了apache,而不再使用lnmp。嗯,nginx确实不错,但我想,apache更容易配置,nginx相对来说配置起来还是有一点的麻烦。不如apache支持的多

比如,Svn就直接支持apache。当然这只是一个很不能说服人的理由,不过,我想配置服务器这玩意,还是怎么熟怎么来吧。
apache优化好了,也不见得就比nginx差到哪里去,当然插件是少了很多。忍忍了

转一下:OpenResty

转一下:OpenResty

前段时间,老王推荐了一个伪同步的代码,async,可以到github上找到代码:https://github.com/hugozhu/async_php/,其中,有一个lua的目录,是用来为nginx提供插件以担当这个同步功能的一些玩意。
于是冲到nginx上看了一下,NND,没这玩意嘛 .
再一瞅github上,原来还写着:
ngx_lua module - http://openresty.org latest stable release
我晕,那openresty是什么玩意呢?去官方看了看,一大堆英文,但是左侧的支付宝捐赠让我怀疑这应该是个国人的作品。于是找啊找,找了一个中文介绍:

官网: http://openresty.org/
虽然是中国人做的,但没几个汉字.....

我用Nginx,是这样一个过程:
1. 系统rpm中的nginx,能让其跑起来
2. 玩配置文件
3. 玩编译选项
4. 写插件,集成第三方插件

OpenResty , 是淘宝一位大牛(agentzh)集成的包含N多好插件的Nginx捆绑源码包,这位仁兄自称Nginx最活跃的第三方模块开发人员哦

下面,当然要列一下到底集成了什么模块:

LuaJIT -- 极速版Lua实现
ArrayVarNginxModule -- 数组类型的Nginx变量
AuthRequestNginxModule -- 鉴权,想象一下以C代码的速度判断一个请求是否合法,是不是很有快感呢?!
DrizzleNginxModule -- -MySQL桥,非阻塞的哦,我又爱又恨的一个模块,值得注意的是,其响应是RDS流
EchoNginxModule -- 以非常直观的方式在Nginx配置文件中编写简单的处理逻辑,源码包含大量注释,绝对是入门好例子!!
EncryptedSessionNginxModule -- 加密会话
FormInputNginxModule -- 解析post请求中的参数,这下子,简单请求根本不需要PHP/Java来处理啦
HeadersMoreNginxModule -- Nginx默认的header模块只能添加或忽略,这个给你CRUD全套的!!
IconvNginxModule -- 编码转换,不多说,也不懂
StandardLuaInterpreter -- 与Lua官方实现所匹配,一般用不上,因为我们用LuaJIT!!
MemcNginxModule -- 与Memcached的绝配,谁用谁知道!! 与upstram_keepalive一起用,你能更High!!
Nginx
NginxDevelKit -- N多第三方插件都依赖的东西,不知道为啥
LuaCjsonLibrary -- Lua版的Json处理库实在太慢,这个才叫速度!!
LuaNginxModule -- 我的最爱,一般逻辑,完全没必要用Java/PHP啦
LuaRdsParserLibrary -- 在Lua中直接处理RDS流,速度杠杠的!
LuaRedisParserLibrary -- 在Lua中处理Redia模块的响应,暂时我还没用上
PostgresNginxModule -- Nginx-Postgres桥,输出的也是RDS流
RdsCsvNginxModule -- RDS流转CVS格式,不知道能干啥,报表?
RdsJsonNginxModule -- RDS流转JSON字符串,之前经常用这个
Redis2NginxModule -- Nginx-Redis2桥
SetMiscNginxModule -- 提供很多很实用的方法,例如base64编解码,URL编解码,SQL防注入等等
SrcacheNginxModule -- 缓存模块,据说跟Memc模块一起用比较爽
UpstreamKeepaliveNginxModule -- 与Memc模块的标配,号称性能提升几倍呢
XssNginxModule -- 防跨站攻击的

OpenResty的最大的好处是帮你弄清楚各个模块的编译顺序,别小看,学问大大的呢

当初没有这东西,单单弄清楚模块间的编译顺序就耗费不少时间

来吧,试试这个国产的精品!!
-------EOF--------
以上这段内容来自:http://wendal.net/338.html
值得看看哦。可以尝试用lua写插件