欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > windows >内容正文

windows

fastdfs 吗 支持windows_主流开源文件存储系统-fastdfs是否支持windows?你可以选择minio...

发布时间:2023/12/10 windows 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 fastdfs 吗 支持windows_主流开源文件存储系统-fastdfs是否支持windows?你可以选择minio... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
首先答案是肯定的,fastdfs不支持windows。 其次建议你使用Minio

一、引言

一般来说文件存储花钱就选择阿里云oss、七牛云等产品,开源的话,目前开源的分布式文件存储系统非常多,上网一搜 "Ceph,GlusterFS,Sheepdog,

Lustre,Swift,Cinder,TFS,HDFS,MooseFS,FastDFS,MogileFS等" 这么多,有没有感觉看完对这些产品的分析后,还是不知道选择哪个????

这是一篇针对主流的开源的分布式文件存储系统的对比文章:

开源分布式存储系统的对比_直到世界的尽头-CSDN博客_四大开源分布式存储​blog.csdn.net

二、那到底选择哪个呢?

2.1、实在没法选择时,我们先看看几开源产品github 的 star

分布式文件系统github staros支持
minio25.1kwin/linux
fastdfs7kwin
ceph8.6kwin/linux
GlusterFS2.9kwin/linux

2.2、推荐使用minio

看看这篇文章:《MinIO很强-让我放弃FastDFS拥抱MinIO的8个理由》

MinIO很强-让我放弃FastDFS拥抱MinIO的8个理由​www.cnblogs.com

三、minio安装与使用

3.1、 windows安装非常简单

官网直接下载:

https://min.io/​min.io

启动就这么简单, F:Data 就是文件存储的目录

3.3、java调用minio

在官方上有相应的demo,不过官网引用的版本比较旧,相应的demo也比较旧,最新的demo我们可以去github上看。

githug examples:

https://github.com/minio/minio-java​github.com

minio/minio-java

https://github.com/minio/minio-java​github.com

以下代码基于官方github微调后的示例

<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.0.3</version></dependency>class MinioTest {MinioClient minioClient;@BeforeEachvoid setUp() {minioClient =MinioClient.builder().endpoint("https://play.min.io").credentials("Q3AM3UQ867SPQQA43P2F", "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG").build();}/*** 上传文件** @throws Exception*/@Testvoid test_upload() throws Exception {minioClient.uploadObject(UploadObjectArgs.builder().bucket("bucket01").object("test.txt").filename("D:dataDesktoptest.txt").build());System.out.println("my-filename is uploaded to my-objectname successfully");}/*** 下载文件** @throws Exception*/@Testvoid test_download() throws Exception {minioClient.downloadObject(DownloadObjectArgs.builder().bucket("bucket01").object("test.txt").filename("D:dataDesktoptest.txt").build());System.out.println("my-filename is uploaded to my-objectname successfully");}/*** 获取文件URL** @throws Exception*/@Testvoid test_geturl() throws Exception {String url =minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder().method(Method.GET).bucket("bucket01").object("test.txt").expiry(60 * 60 * 24).build());System.out.println(url);}/*** 上传+加密** @throws Exception*/@Testvoid test_upload_sse() throws Exception {KeyGenerator keyGen = KeyGenerator.getInstance("AES");keyGen.init(256);ServerSideEncryptionCustomerKey ssec =new ServerSideEncryptionCustomerKey(keyGen.generateKey());minioClient.uploadObject(UploadObjectArgs.builder().bucket("bucket01").object("test-sse-01.txt").filename("D:dataDesktoptest.txt").sse(ssec).build());System.out.println("my-filename is uploaded to my-objectname successfully");}/*** 下载+解密** @throws Exception*/@Testvoid test_download_sse() throws Exception {KeyGenerator keyGen = KeyGenerator.getInstance("AES");keyGen.init(256);ServerSideEncryptionCustomerKey ssec =new ServerSideEncryptionCustomerKey(keyGen.generateKey());minioClient.downloadObject(DownloadObjectArgs.builder().bucket("bucket01").object("test-sse-01.txt").filename("D:dataDesktop_test-sse-01.txt").ssec(ssec) // Replace with same SSE-C used at the time of upload..build());System.out.println("my-objectname is successfully downloaded to my-filename");}/*** 如何保存上传时的密钥对象** @throws Exception*/@Testvoid test_key() throws Exception {KeyGenerator keyGen = KeyGenerator.getInstance("AES");keyGen.init(256);SecretKey key1 = keyGen.generateKey();byte[] keySave = key1.getEncoded();System.out.println("key1 = " + Base64.getEncoder().encodeToString(keyBytes));//这里把keySave 保存下来就可以了,当然我们可以转成base64保存//以下就是把存储下来的keySave还原成SecretKey对象SecretKey key2 = new SecretKeySpec(keySave , "AES");System.out.println("key2 = " + Base64.getEncoder().encodeToString(key2 .getEncoded()));//key1 == key2assertEquals(key1,key2);} }

总结

以上是生活随笔为你收集整理的fastdfs 吗 支持windows_主流开源文件存储系统-fastdfs是否支持windows?你可以选择minio...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。