pecl:mysqlnd_ms
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
pecl:mysqlnd_ms [2012/04/17 12:01] – [Raw Bin ideas (RFCs)] uw | pecl:mysqlnd_ms [2012/04/17 14:14] – [Raw Bin ideas (RFCs)] uw | ||
---|---|---|---|
Line 164: | Line 164: | ||
* NOTE: this may require refactoring of four filters. | * NOTE: this may require refactoring of four filters. | ||
* [open] Automatic on-connect fail over, if activated, shall be done in a loop until a connection can be opened. Currently we stop after the first attempt. If automatic fail over is on, we try " | * [open] Automatic on-connect fail over, if activated, shall be done in a loop until a connection can be opened. Currently we stop after the first attempt. If automatic fail over is on, we try " | ||
+ | * [open] Remember failed hosts for the duration of a web request (the plugins' | ||
* [open] Support directing statements manually to a group of nodes for more efficient server cache usage | * [open] Support directing statements manually to a group of nodes for more efficient server cache usage | ||
Line 353: | Line 354: | ||
Whenever the plugin tries to connect to a node it may fail to do so. Connection attempts can be made when opening a connection or later, when executing a statement (lazy connections). By default the plugin bails out if the connection attempt fails. To make using the plugin as transparent as possible it is possible to optionally enable automatic fail over in case of failed connection attempts. | Whenever the plugin tries to connect to a node it may fail to do so. Connection attempts can be made when opening a connection or later, when executing a statement (lazy connections). By default the plugin bails out if the connection attempt fails. To make using the plugin as transparent as possible it is possible to optionally enable automatic fail over in case of failed connection attempts. | ||
+ | The fail over logic itself is basic. Smaller improvements will make it much more capable. | ||
== Feature description == | == Feature description == | ||
- | Up to version 1.3 the automatic fail over stops after trying one alternative. For example, if a connection to A fails we try B. If connecting to B fails we stop and bail out. In that case the user must handle the error although there may be node C and D, ... which could be used. | ||
- | In the future the search for an alternative shall not stop after B but continue until a connection has been established or there are no alternatives. If a connect to A fails, the plugin shall try B, C, D and so forth. Automatic fail over, automatic connection attempts shall not stop after trying B and failing to connect to B. | + | Automatic fail over is basic. We shall: |
+ | |||
+ | - make it configurable whether fail over node search tries one or all possible alternatives | ||
+ | - link fail over to certain error codes | ||
+ | - remember failed hosts to skip them for the rest of the web request | ||
+ | |||
+ | Up to version 1.3 the automatic fail over stops after trying one alternative. For example, if a connection to A fails we try B. If connecting to B fails we stop and bail out. In that case the user must handle the error although there may be node C and D, ... which could be used. In the future the search for an alternative shall not stop after B but continue until a connection has been established or there are no alternatives. If a connect to A fails, the plugin shall try B, C, D and so forth. Automatic fail over, automatic connection attempts shall not stop after trying B and failing to connect to B. | ||
Whether this shall become a new default or become configurable is to be decided. | Whether this shall become a new default or become configurable is to be decided. | ||
Furthermore, | Furthermore, | ||
+ | |||
+ | Upon request the plugin will remember failed nodes for the duration of a web request. If connecting to a node has failed once no further attempts will be made to connect to the node. This may lead to situations where nodes are skipped although they became available again in the meantime. This is ignore because most web requests are short-lived. | ||
=== Support directing statements manually to a group of nodes for more efficient server cache usage === | === Support directing statements manually to a group of nodes for more efficient server cache usage === |
pecl/mysqlnd_ms.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1