V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HDMItoDP
V2EX  ›  Java

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

  •  1
     
  •   HDMItoDP · 2021-06-21 15:21:45 +08:00 · 2188 次点击
    这是一个创建于 1269 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    HttpClient 是带连接复用的,针对 HTTP1.1 还带连接池的。你每次 new 一个 Client 去操作效率非常低,每次都要重建一个新的连接。
    anonydmer
        10
    anonydmer  
       2021-06-21 17:10:48 +08:00
    @HDMItoDP OKHttpClient 内部已经复用连接池了,哪怕是多个 OKHttpClient 实例;所以即使 new 了多个 MinioClient 仍然会享受 OKHttpClient 连接池的福利。 不过正如 @qwerthhusn 兄弟说的不需要也不推荐
    liian2019
        11
    liian2019  
       2021-06-21 18:09:20 +08:00
    复用,java 里面都是交给 spring 托管
    HDMItoDP
        12
    HDMItoDP  
    OP
       2021-06-22 11:43:21 +08:00
    @qwerthhusn 好的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3110 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:56 · PVG 12:56 · LAX 20:56 · JFK 23:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.