HDMItoDP
V2EX  ›  Java

在 minio 中, MinioClient 需要每次 new 一个吗?还是复用?

  •  1
     
  •   HDMItoDP · Jun 21, 2021 · 2834 views
    This topic created in 1796 days ago, the information mentioned may be changed or developed.

    if (minioClient == null) { minioClient = new MinioClient(endpoint, port, accessKey, secretKey, false); }

    Supplement 1  ·  Jun 22, 2021
    9 楼正解
    12 replies    2021-06-22 11:43:21 +08:00
    zm8m93Q1e5otOC69
        1
    zm8m93Q1e5otOC69  
       Jun 21, 2021
    注册个 bean 托管好一些吧,没用过,猜测滴。。
    https://blog.csdn.net/qq_33842795/article/details/115912970
    anonydmer
        2
    anonydmer  
       Jun 21, 2021
    能不能复用取决于它本身是不是线程安全。 不过通常来讲这种 XXClient 一般都是
    Oktfolio
        3
    Oktfolio  
       Jun 21, 2021
    bean
    HDMItoDP
        4
    HDMItoDP  
    OP
       Jun 21, 2021
    @anonydmer 看了下 MinioClient 内部代码,每次 new 一下,都 new 一个 OKHttpClient
    HDMItoDP
        6
    HDMItoDP  
    OP
       Jun 21, 2021
    @beichenhpy 我看网上的都是注册个 bean 的这种
    X0ray
        7
    X0ray  
       Jun 21, 2021
    不用,可以做一个单例全局使用。上面提到的 bean 不就是默认 singleton 的嘛
    jingslunt
        8
    jingslunt  
       Jun 21, 2021
    终于有人开始讨论 minio 了
    PS:minio 最近被集成进 harbor operator
    qwerthhusn
        9
    qwerthhusn  
       Jun 21, 2021
    不需要,而且不推荐。

    这个 SDK 跟很多类似 AWS,阿里云的 SDK 一样,其实就是 HttpClient 套一层。(就是说你可以完全用原生的 HttpClient 做出完整的 Minio 请求,只不过会非常复杂。。尤其是阿里云系的,不用 SDK 很难自己能构造出正确的请求,老是签名错误,而且文档上的说的含糊不清)

    HttpClient 是带连接复用的,针对 HTTP1.1 还带连接池的。你每次 new 一个 Client 去操作效率非常低,每次都要重建一个新的连接。
    anonydmer
        10
    anonydmer  
       Jun 21, 2021
    @HDMItoDP OKHttpClient 内部已经复用连接池了,哪怕是多个 OKHttpClient 实例;所以即使 new 了多个 MinioClient 仍然会享受 OKHttpClient 连接池的福利。 不过正如 @qwerthhusn 兄弟说的不需要也不推荐
    liian2019
        11
    liian2019  
       Jun 21, 2021
    复用,java 里面都是交给 spring 托管
    HDMItoDP
        12
    HDMItoDP  
    OP
       Jun 22, 2021
    @qwerthhusn 好的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2914 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 14:03 · PVG 22:03 · LAX 07:03 · JFK 10:03
    ♥ Do have faith in what you're doing.