簡體   English   中英

如何為 Google Cloud Bigtable 建立連接池

[英]How to do connection pooling for Google Cloud Bigtable

是否存在任何內置庫或是否需要實現自定義庫?

我試圖在這里檢查,但不確定如何從這里開始: Bigtable connection pool

我已經嘗試了下面的代碼,但不太確定如何從這里取得進展:

import com.google.cloud.bigtable.config.BigtableOptions;
import com.google.cloud.bigtable.config.CredentialOptions;
import com.google.cloud.bigtable.grpc.BigtableSession;
import com.google.cloud.bigtable.grpc.io.ChannelPool;
import com.mahindra.digisense.config.AppConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;

@Component
public class BigTableConnectionPoolingExample {

    @Autowired
    private AppConfig.BigTableConfig bigTableConfig;

    private void bigTableConnectionPooling() throws IOException, GeneralSecurityException {
        CredentialOptions credentialOptions = CredentialOptions.jsonCredentials(new FileInputStream(new File(bigTableConfig.getCredentialsJson())));
        BigtableOptions.Builder builder = new BigtableOptions.Builder();
        builder.setCredentialOptions(credentialOptions);
        ChannelPool.ChannelFactory channelFactory = (ChannelPool.ChannelFactory) BigtableSession.createChannelPool(bigTableConfig.getInstanceId(), builder.build());
        ChannelPool channelPool = new ChannelPool(channelFactory,3);
    }
}

這是另一個堆棧溢出問題,沒有答案。

正如 Solomon Duskis 所指出的,我們鼓勵新人開始使用google-cloud-java 中慣用的 Bigtable 客戶端。 客戶端適用於生產用途,但我們尚未最終確定客戶端 API,因此我們可能會進行向后不兼容的更改。

如果您使用Cloud Bigtable 客戶端存儲庫中的 HBase 客戶,則可以選擇調整下方使用的數據通道數量以及每個通道的動態 RPC 數量。 但是我們建議您首先分析您的應用程序,因為您應該能夠獲得良好的性能並使集群飽和,而無需手動調整這些參數的默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM