OceanBase Database Proxy (ODP) requires high availability to ensure service continuity. User requests first arrive at ODP. If ODP experiences an exception, the user requests cannot be properly handled. ODP also needs to handle OBServer node failures and perform corresponding fault tolerance operations.
Unlike the OceanBase cluster, ODP does not have persistent states, and all the data it relies on comes from accessing OceanBase Database. Therefore, ODP failures will not result in data loss. ODP is also a cluster composed of multiple nodes to provide services. The decision on which ODP node is supposed to handle user requests is made by a load balancer such as the user's F5. In addition, if a certain ODP node fails, the load balancer automatically removes it so that new user requests will not be forwarded to it.
During the ODP running process, it will monitor the cluster status in real time. On one hand, ODP will obtain the health status of each OBServer node and the location of each partition through system tables in real time. On the other hand, ODP will detect the service status of OBServer nodes through network connections. Once ODP detects an exception, it marks the corresponding node as faulty and switches the services to another node.
References
For more information about ODP, see Overview.