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