Giter Club home page Giter Club logo

fastdfs-client's Introduction

fastdfs-client

fastdfs-client is a FastDFS java client based on Netty 4 . support multiple tracker server pool and active tracker server health check .

Requirements

  • Java 8+

Usage

    
    // FastdfsClient is threadsafe and use connection pool.
    FastdfsClient  client = FastdfsClient.newBuilder()
                                            .connectTimeout(3000)
                                            .readTimeout(100)
                                            .healthCheck(3, 2, 3000, 10000)
                                            .tracker("192.168.1.2", 22222)
                                            .build();
    
    // upload file
    CompletableFuture<FileId> promise = client.upload(new File("/tmp/test.dmg"));
    FileId fileId = promise.get();
    // do something.
    
    // download file
    OutputStream out = ...
    CompletableFuture<Void> promise = client.download(fileId, out);
    // promise.whenComplete(...);
    
    // delete file
    CompletableFuture<Void> promise = client.delete(fileId);
    // promise.whenComplete(...);
    
    // get file info
    CompletableFuture<FileInfo> promise = client.infoGet(fileId);
    FileInfo fileInfo = promise.get();
    // do something.
    
    // set file metadata
    FileMetadata metadata = FileMetadata.newBuilder().put("test", "test1").build();
    CompletableFuture<Void> promise = client.metadataSet(fileId, metadata);
    // do something.
    
    // get file metadata
    CompletableFuture<FileMetadata> promise = client.metadataGet(fileId);
    FileMetadata metadata = promise.get();
    // do something.
    
    client.close();

fastdfs-client's People

Contributors

coding4m avatar dependabot[bot] avatar veir-panda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fastdfs-client's Issues

服务端发现connect reset的情况

服务端报错如下

java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcher.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(Unknown Source)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
        at sun.nio.ch.IOUtil.read(Unknown Source)
        at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
  ...

这个客户端应该没有关闭channel的操作,为什么会出现这种现象

tracker单点问题

设置多个tracker,在所有trackerserver正常的情况下不会有问题,如果其中一台trackerserver异常,会导致部分上传失败,

java 6 how to do?

How in the java6 environment compatible, most companies are using java6, very want to know how to reconstruct compatible java6。

进度问题

问下,这个客户端开发到什么阶段了, 现在有用在生产环境的吗

执行错误后无法获得错误编号,效率怎样提高

每一个功能函数(上传,下载,修改,删除)上都应该有调用后Fastdfs返回的错误编号,在异常时让调用者知道是什么原因造成的(譬如:删除时错误,有可能是文件不存在出错,也有可能网络不通出错,上传时有可能空间不足出现的错误)可以在异常上加上错误的编号,可以根据错误编号进行下一步业务的处理(如果是文件不存在的话,我可能会进行一些其他的处理)。
使用附带的测试程序测试下载,网络负载最高达到41.2M/秒,用happyfish100的客户端下载可以达到97.6M/秒(相同的测试环境),怎样提高效率?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.