You can call the AllocateReadWriteSplittingConnection operation to apply for a read/write splitting endpoint for an ApsaraDB RDS instance.
If read-only instances are attached to a primary ApsaraDB RDS for SQL Server instance, you can call this operation to apply for a unified read-only routing endpoint for the primary instance. After you apply for a read-only routing endpoint for a primary instance, the existing endpoints of the primary instance and its read-only instances remain valid. In addition, you can still apply for internal and public endpoints.
Before you call this operation, make sure that the following requirements are met:
- If the instance runs MySQL, the instance uses a shared proxy.
- The instance is in the Running state.
- Read-only instances are attached to the primary instance.
- The instance does not have an ongoing Data Transmission Service (DTS) migration task.
- The instance runs one of the following database versions and RDS editions:
- SQL Server (cluster edition)
- MySQL 5.7 on RDS High-availability Edition with local SSDs
- MySQL 5.6
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | AllocateReadWriteSplittingConnection |
The operation that you want to perform. Set the value to AllocateReadWriteSplittingConnection. |
DBInstanceId | String | Yes | rm-uf6wjk5xxxxxxx |
The ID of the primary instance. You can call the DescribeDBInstances operation to query the ID of the instance. |
ConnectionStringPrefix | String | No | rr-m5exxxxx-rw.mysql.rds.aliyuncs.com |
The prefix of the read-only routing endpoint. The prefix must be unique. It can be up to 30 characters in length and can contain lowercase letters and hyphens (-). It must start with a lowercase letter. Note The default prefix consists of the name of the primary instance followed by the letters
rw.
|
Port | String | No | 1433 |
The port that is associated with the read-only routing endpoint. Valid values: 1000 to 5999. Default value: 1433. |
MaxDelayTime | String | No | 30 |
The threshold of the latency that is allowed on the read-only instances. Valid values: 0 to 7200. Default value: 30. Unit: seconds. Note If the latency on a read-only instance exceeds the specified threshold, ApsaraDB RDS
does not forward read requests to the read-only instance.
|
NetType | String | No | Intranet |
The network type of the read-only routing endpoint. Valid values:
Note The default value is Intranet. Make sure that the network type of the read-only routing
endpoint is the same as that of the primary instance.
|
DistributionType | String | No | Standard |
The method that is used to assign read weights. Valid values:
|
Weight | String | No | {"rm-bp1**********":800,"master":400,"slave":400} |
The read weights of the primary instance and its read-only instances. The read weight is increased in increments of 100. The maximum value is 10000.
Note
|
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
RequestId | String | 4C467B38-3910-447D-87BC-AC049166F216 |
The ID of the request. |
Examples
Sample requests
http(s)://rds.aliyuncs.com/?Action=AllocateReadWriteSplittingConnection
&DBInstanceId=rm-uf6wjk5xxxxxxx
&ConnectionStringPrefix=rr-m5exxxxx-rw.mysql.rds.aliyuncs.com
&Port=1433
&MaxDelayTime=30
&NetType=Intranet
&DistributionType=Standard
&Weight={"rm-bp1**********":800,"master":400,"slave":400}
&Common request parameters
Sample success responses
XML
format
HTTP/1.1 200 OK
Content-Type:application/xml
<AllocateReadWriteSplittingConnectionResponse>
<RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId>
</AllocateReadWriteSplittingConnectionResponse>
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "4C467B38-3910-447D-87BC-AC049166F216"
}
Error codes
For a list of error codes, visit the Error Center.