普通型BLB实例
更新时间:2019-10-30
提供了负载均衡常规功能组件,能够满足用户对负载均衡的通用需求,具备轻量化、配置简单、价格便宜等特点。
具体各个参数含义请参考blb官方文档,api参考下的普通型blb接口
创建blb实例
描述:
- 创建一个LoadBalancer,返回分配的服务地址及实例ID。
- 付费方式为后付费。
- 需要实名认证,若未通过实名认证可以前往百度智能云官网控制台中的安全认证下的实名认证中进行认证。
使用以下代码可以创建BLB实例:
public CreateBlbResponse createBlb(String name, String desc, String vpcId, String subnetId) {
return createBlb(new CreateBlbRequest().withName(name).withDesc(desc).withVpcId(vpcId).withSubnetId(subnetId));
}
使用示例如下:
blbClient.createBlb("blb_bj","","vpc-jupcnrwxqgvf","sbn-p64udgxpymae")
修改blb实例
描述:
- 更新指定的单个LoadBalancer配置信息,包括LoadBalancer实例的名称和描述。
使用以下代码可以修改指定blb的信息:
public void modifyBlbAttributes(String blbId, String name, String desc) {
modifyBlbAttributes(new ModifyBlbAttributesRequest(blbId, name, desc));
}
使用示例如下:
blbClient.modifyBlbAttributes("lb-2f30bc8a","blb_bj","");
查询blb实例列表
描述:
- 查询用户账户下所有LoadBalancer的信息
- 支持按LoadBalancer的id、name、address进行查询,匹配规则支持部分包含(不支持正则)
- 支持按bccId进行查询,目前只支持单个bccId查询,并且仅支持精确查询。查询结果为包含该后端服务器的负载均衡实例。
- 返回结果是多重查询条件的交集
- 如果BLB实例开启了公网访问,返回结果将会带上公网IP
- 结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定
以下代码可以查询BLB实例列表,支持通过以下参数进行筛选:
public ListBlbResponse listBlbs(String address, String name, String blbId, String bccId) {
return listBlbs(new ListBlbRequest().withAddress(address).withName(name).withBlbId(blbId).withBccId(bccId));
}
使用示例如下:
blbClient.listBlbs("","","lb-a62da492","");
删除blb实例
描述:
- 释放指定LoadBalancer,被释放的LoadBalancer无法找回
使用以下代码可以删除指定blb:
public void deleteBlb(String blbId) {
deleteBlb(new DeleteBlbRequest(blbId));
}
使用示例如下:
blbClient.deleteBlb("lb-a62da492");
创建listener实例
描述:
- 在指定LoadBalancer下,创建一个基于某个协议的监听器,监听一个前端端口,将发往该端口的所有该协议的请求,转发到后端服务器监听的后端端口上
使用以下代码可以创建BLB监听器实例:
public void createListener(BlbListenerRequest blbListenerRequest) {
...
}
使用示例如下:
BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
blbListenerRequest.setType("HTTP");
blbListenerRequest.setBlbId("lb-2f30bc8a");
blbListenerRequest.setListenerPort(80);
blbListenerRequest.setBackendPort(80);
blbListenerRequest.setScheduler("RoundRobin");
blbClient.createListener(blbListenerRequest);
修改listener实例
描述:
- 更新指定LoadBalancer下的某协议监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。
使用以下代码可以修改BLB监听器实例:
public void modifyListenerAttributes(BlbListenerRequest modifyListenerAttributesRequest) {
...
}
使用示例如下:
BlbListenerRequest blbListenerRequest = new BlbListenerRequest();
blbListenerRequest.setType("HTTP");
blbListenerRequest.setBlbId("lb-2f30bc8a");
blbListenerRequest.setListenerPort(80);
blbListenerRequest.setBackendPort(80);
blbListenerRequest.setScheduler("LeastConnection");
blbClient.modifyListenerAttributes(blbListenerRequest);
查询httpListener实例列表
描述:
- 查询指定LoadBalancer下所有HTTP监听器的信息
使用以下代码可以查询httpListener实例列表
public ListListenerResponse<HttpListener> listHttpListener(String blbId) {
return listListener(new ListListenerRequest().withBlbId(blbId).withType(ListenerConstant.HTTP_LISTENER));
}
使用示例如下:
blbClient.listHttpListener("lb-a62da492");
查询httpsListener实例列表
描述:
- 查询指定LoadBalancer下所有HTTPS监听器的信息
使用以下代码可以查询httpsListener实例列表
public ListListenerResponse<HttpsListener> listHttpsListener(String blbId) {
return listListener(new ListListenerRequest().withBlbId(blbId).withType(ListenerConstant.HTTPS_LISTENER));
}
使用示例如下:
blbClient.listHttpsListener("lb-a62da492");
查询tcpListener实例列表
描述:
- 查询指定LoadBalancer下所有TCP监听器的信息
使用以下代码可以查询tcpListener实例列表
public ListListenerResponse<TcpListener> listTcpListener(String blbId) {
return listListener(new ListListenerRequest().withBlbId(blbId).withType(ListenerConstant.TCP_LISTENER));
}
使用示例如下:
blbClient.listTcpListener("lb-a62da492");
查询udpListener实例列表
描述:
- 查询指定LoadBalancer下所有UDP监听器的信息
使用以下代码可以查询udpListener实例列表
public ListListenerResponse<UdpListener> listUdpListener(String blbId) {
return listListener(new ListListenerRequest().withBlbId(blbId).withType(ListenerConstant.UDP_LISTENER));
}
使用示例如下:
blbClient.listUdpListener("lb-a62da492");
删除listener实例
描述:
- 释放指定LoadBalancer下的监听器,监听器通过监听端口来指定
- 支持批量释放
使用以下代码可以删除BLB监听器实例:
public void deleteListener(String blbId, List<Integer> portList) {
deleteListener(new DeleteListenerRequest(blbId, portList));
}
使用示例如下:
blbClient.deleteListener("lb-2f30bc8a", Arrays.asList(80));
新增后端服务器
描述:
- 为指定LoadBalancer添加后端服务器,支持批量添加
使用以下代码可以新增blb后端服务器:
public void addBackendServers(String blbId, List<BackendServer> backendServerList) {
addBackendServers(new AddBackendServersRequest(blbId, backendServerList));
}
使用示例如下:
List<BackendServer> backendServerList = new ArrayList<BackendServer>();
BackendServer backendServer = new BackendServer();
backendServer.setInstanceId("i-jVRZWSXN");
backendServerList.add(backendServer);
blbClient.addBackendServers("lb-93421df2", backendServerList);
修改后端服务器
描述:
- 更新指定LoadBalancer下的后端服务器权重,支持批量修改。
使用以下代码可以修改blb后端服务器:
public void modifyBackendServerAttributes(String blbId, List<BackendServer> backendServerList) {
modifyBackendServerAttributes(new ModifyBSAttributesRequest(blbId, backendServerList));
}
使用示例如下:
List<BackendServer> backendServerList = new ArrayList<BackendServer>();
BackendServer backendServer = new BackendServer();
backendServer.setInstanceId("i-jVRZWSXN");
backendServer.setWeight(70);
backendServerList.add(backendServer);
blbClient.modifyBackendServerAttributes("lb-93421df2", backendServerList);
查询后端服务器
描述:
- 查询指定LoadBalancer下的后端服务器列表
使用以下代码可以查询blb后端服务器:
public ListBackendServerResponse listBackendServers(String blbId) {
return listBackendServers(new ListBackendServerRequest(blbId));
}
使用示例如下:
blbClient.listBackendServers("lb-93421df2");
查询后端服务器状态
描述:
- 查询指定LoadBalancer下的后端服务器状态
使用以下代码可以查询blb后端服务器状态:
public ListBackendServerStatusResponse listBackendServerStatus(String blbId, int listenerPort) {
return listBackendServerStatus(new ListBackendServerStatusRequest(blbId, listenerPort));
}
使用示例如下:
blbClient.listBackendServerStatus("lb-93421df2", 80);
删除后端服务器
描述:
- 释放指定LoadBalancer下的后端服务器,后端服务器通过其标识符指定
- 支持批量释放
使用以下代码可以删除blb后端服务器:
public void deleteBackendServers(String blbId, List<String> backendServerList) {
deleteBackendServers(new DeleteBSRequest(blbId, backendServerList));
}
使用示例如下:
blbClient.deleteBackendServers("lb-93421df2", Arrays.asList("i-jVRZWSXN"));