热活实例组管理
更新时间:2024-03-14
实例组管理
创建实例组
使用以下代码可以创建实例组。
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.InstanceGroupArgs{
Name: "test_group",
LeaderId: instanceId,
}
err := client.CreateInstanceGroup(args)
if err != nil {
fmt.Printf("create instance group error: %+v\n", err)
return
}
fmt.Printf("create instance group success\n")
实例组列表
使用以下代码可以获取实例组列表。
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.ListInstanceGroupArgs{
Manner: "page",
}
result, err := client.ListInstanceGroup(args)
if err != nil {
fmt.Printf("get instance group list error: %+v\n", err)
return
}
fmt.Printf("get instance group list success\n")
jsonData, _ := json.Marshal(result)
fmt.Println(string(jsonData))
实例组详情
使用以下代码可以获取实例组详情
// import "github.com/baidubce/bce-sdk-go/services/rds"
result, err := client.InstanceGroupDetail(groupId)
if err != nil {
fmt.Printf("get instance group detail error: %+v\n", err)
return
}
fmt.Printf("get instance group detail success\n")
jsonData, _ := json.Marshal(result)
fmt.Println(string(jsonData))
实例组前置检查-GTID检查
使用以下代码可以进行GTID检查
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.CheckGtidArgs{
InstanceId: instanceId,
}
result, err := client.InstanceGroupCheckGtid(args)
if err != nil {
fmt.Printf("GTID check error: %+v\n", err)
return
}
fmt.Printf("GTID check success\n")
jsonData, _ := json.Marshal(result)
fmt.Println(string(jsonData))
实例组前置检查-连通性检查
使用以下代码可以进行连通性检查
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.CheckPingArgs{
SourceId: instanceId,
TargetId: instanceId,
}
result, err := client.InstanceGroupCheckPing(args)
if err != nil {
fmt.Printf("check ping error: %+v\n", err)
return
}
fmt.Printf("check ping success\n")
jsonData, _ := json.Marshal(result)
fmt.Println(string(jsonData))
实例组前置检查-数据检查
使用以下代码可以进行数据检查
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.CheckDataArgs{
InstanceId: instanceId,
}
result, err := client.InstanceGroupCheckData(args)
if err != nil {
fmt.Printf("check data error: %+v\n", err)
return
}
fmt.Printf("check data success\n")
jsonData, _ := json.Marshal(result)
fmt.Println(string(jsonData))
小版本前置检查
使用以下代码可以进行小版本前置检查
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.CheckVersionArgs{
LeaderId: instanceId,
FollowerId: instanceId,
}
result, err := client.InstanceGroupCheckVersion(args)
if err != nil {
fmt.Printf("check data error: %+v\n", err)
return
}
fmt.Printf("check data success\n")
jsonData, _ := json.Marshal(result)
fmt.Println(string(jsonData))
修改热活实例组的名称
使用以下代码可以修改热活实例组的名称
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.InstanceGroupNameArgs{
Name: "test_group_name",
}
err := client.UpdateInstanceGroupName(groupId, args)
if err != nil {
fmt.Printf("update instance group name error: %+v\n", err)
return
}
fmt.Printf("update instance group name success\n")
加入热活实例组
使用以下代码可以加入热活实例组
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.InstanceGroupAddArgs{
FollowerId: instanceId,
}
err := client.InstanceGroupAdd(groupId, args)
if err != nil {
fmt.Printf("add instance group error: %+v\n", err)
return
}
fmt.Printf("add instance group success\n")
批量加入热活实例组
使用以下代码可以批量加入热活实例组
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.InstanceGroupBatchAddArgs{
FollowerIds: []string{instanceId},
Name: "test_group_name",
LeaderId: instanceId,
}
err := client.InstanceGroupBatchAdd(args)
if err != nil {
fmt.Printf("batch add instance group error: %+v\n", err)
return
}
fmt.Printf("batch add instance group success\n")
强制切换热活实例组
使用以下代码可以强制切换热活实例组
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.ForceChangeArgs{
LeaderId: instanceId,
Force: 0,
}
err := client.InstanceGroupForceChange(groupId, args)
if err != nil {
fmt.Printf("instance group force change error: %+v\n", err)
return
}
fmt.Printf("instance group force change success\n")
主角色变更
使用以下代码可以主角色变更
// import "github.com/baidubce/bce-sdk-go/services/rds"
args := &rds.GroupLeaderChangeArgs{
LeaderId: instanceId,
}
err := client.InstanceGroupLeaderChange(groupId, args)
if err != nil {
fmt.Printf("instance group leader change error: %+v\n", err)
return
}
fmt.Printf("instance group leader change success\n")
退出热活实例组
使用以下代码可以退出热活实例组
// import "github.com/baidubce/bce-sdk-go/services/rds"
err := client.InstanceGroupRemove(groupId, instanceId)
if err != nil {
fmt.Printf("instance group remove error: %+v\n", err)
return
}
fmt.Printf("instance group remove success\n")
删除热活实例组
使用以下代码可以删除热活实例组
// import "github.com/baidubce/bce-sdk-go/services/rds"
err := client.DeleteInstanceGroup(groupId)
if err != nil {
fmt.Printf("delete instance group error: %+v\n", err)
return
}
fmt.Printf("delete instance group success\n")