-
Notifications
You must be signed in to change notification settings - Fork 13
创建Go客户端实例
IHEII edited this page Aug 21, 2023
·
2 revisions
目前Go客户端可以使用两种方式连接Server:
- 直连连接Server(使用Config Server)
- 通过连接ODP(OceanBase Database Proxy)连接Server 同时我们提供直接创建及toml文件创建客户端两种方式
func NewClient(
configUrl string,
fullUserName string,
password string,
sysUserName string,
sysPassWord string,
cliConfig *config.ClientConfig) (Client, error) {
param
- configUrl: 从obconfig server获取RSlist的url
- fullUserName: 格式为userName@tenantName#clusterName
- passWord: fullUserName中userName访问OceanBase的密码
- sysUserName: 系统租户下的用户名, 只有系统租户下的用户才有权限访问路由表
- sysPassWord: 系统租户下的用户密码
- cliConfig: 客户端配置, 具体见config.ClientConfig
return
- Client: 客户端接口, 接口包含insert、get、update等方法
- error: 错误信息
func NewOdpClient(
fullUserName string,
passWord string,
odpIP string,
odpRpcPort int,
database string,
cliConfig *config.ClientConfig) (Client, error)
param
- fullUserName: 格式为userName@tenantName#clusterName
- passWord: fullUserName中userName访问OceanBase的密码
- odpIP: ODP的IP地址
- odpRpcPort: ODP的RPC端口号
- database: 需要连接的数据库名称
- cliConfig: 客户端配置, 具体见config.ClientConfig
return
- Client: 客户端接口,接口包含insert、get、update等方法
- error: 错误信息
配置文件位置: configurations/obkv-table-default.toml
.
配置文件中可以在直连或者ODP两种模式中选择一个填写参数, 其他的参数作用可以参见ClientConfig.
func NewClientWithTomlConfig(configFilePath string) (Client, error)
param
- configFilePath: toml文件路径
return
- Client: 客户端接口,接口包含insert、get、update等方法
- error: 错误信息
type ClientConfig struct {
ConnPoolMaxConnSize int
ConnConnectTimeOut time.Duration
ConnLoginTimeout time.Duration
OperationTimeOut time.Duration
LogLevel log.Level
TableEntryRefreshLockTimeout time.Duration
TableEntryRefreshTryTimes int
TableEntryRefreshIntervalBase time.Duration
TableEntryRefreshIntervalCeiling time.Duration
MetadataRefreshInterval time.Duration
MetadataRefreshLockTimeout time.Duration
RsListLocalFileLocation string
RsListHttpGetTimeout time.Duration
RsListHttpGetRetryTimes int
RsListHttpGetRetryInterval time.Duration
EnableRerouting bool
}
以下几个配置项需要关注
- ConnPoolMaxConnSize: 连接池连接数量, 默认值1
- ConnConnectTimeOut: tcp连接连接超时时间, 默认1s
- ConnLoginTimeout: 鉴权操作超时时间, 默认1s
- OperationTimeOut: 单个请求超时时间, 默认10s
- EnableRerouting: 是否开启二次路由功能, 默认关闭