Open ivanallen opened 2 months ago
pain 系统名称来源于以上词汇,我们使用不同名词代表不同的模块:
Deva 是中心元数据服务,Manusya 是 chunk 服务,保存实际的数据,Pain 是用户接入存储系统使用的 SDK。
用户通过 SDK,可读写集群中的数据。数据是多副本存储,Pain 尽最大努力保证数据不丢不错。用户可以使用下面的方式简单接入集群(当然,接口未来还可能会产生变动,此处为设计稿):
#include <pain/pain.h>
int main() {
spdlog::set_level(spdlog::level::debug);
auto fs = pain::FileSystem::create("list://192.168.10.1:8001,192.168.10.2:8001,192.168.10.3:8001");
auto file = fs->open("/tmp/hello.txt", O_CREAT | O_WRONLY);
pain::core::FileService::Stub stub(file.get());
pain::Controller cntl;
pain::core::AppendRequest request;
pain::core::AppendResponse response;
cntl.request_attachment().append("hello world");
stub.append(&cntl, &request, &response, nullptr);
if (cntl.Failed()) {
std::cerr << "append failed: " << cntl.ErrorText() << std::endl;
return 1;
}
std::cout << "append success, offset: " << response.offset() << std::endl;
return 0;
}
Pain 系统名字来源介绍(因为名字真的很难取):
六道(梵语:ṣaḍ-gati),又名六趣(趣通趋,意为趋向的轮回道及环境)、六凡、六途或轮回六道等,佛教名词,意指六种欲界、色界及无色界众生的种类型态或者说是境界,也是在凡夫众生轮回之道途,它是佛教宇宙观的一部分。六道(六凡)属于十法界(十界),和四圣合称为“四圣六凡”[1]。
六道可分为三善道和三恶道(又称三途、三恶趣)。三善道为天、阿修罗、人; 三恶道为畜生、饿鬼、地狱。早期经论说五道,是指除了阿修罗以外的五种众生[2],阿修罗被视为天道或鬼道,阿修罗也是一种神灵,因为好勇斗狠,能与天神争斗。阿修罗虽为善道,拥有神通法力,因德不及天,故又曰非天;以其有愤恨之苦,尚甚于人,[3]故有时被列入三恶道中,合称为四恶道。[4]
四生和六趣(趋)在汉传佛教合称生趣。因欲界(梵语:kāma-dhātu)为欲界天人、阿修罗、人、畜生、饿鬼、地狱这六道众生杂居之地,故也可以欲界代指六道的境界。
三界和六道的关系是这样的:除了天道外的五道皆属欲界,而天道中的一部分也属于欲界,但其他部分则分属于色界和无色界。