Как настроить соединение yii2 db с кластером mysql ndb?

#mysql #yii2 #cluster-computing

#mysql #yii2 #кластерные вычисления

Вопрос:

У меня есть кластер mysql с 2 узлами sql, я хочу использовать yii2 для подключения этого кластера без дополнительного кодирования. Это идеально подходит для кластера поиска Elastich с третьей стороной, выполняющей следующие действия:

   'elasticsearch' => [
       'class' => 'yiielasticsearchConnection',
       'nodes' => [
            ['http_address' => '127.0.0.1:9200'],
            // configure more hosts if you have a cluster
        ],
        'dslVersion' => 7,
   ],
 

Как мы можем сделать это с кластером mysql?

Ответ №1:

после некоторого времени для тестирования у меня есть простое решение, которым я хочу поделиться для всех, кто нуждается.

Мы просто используем конфигурацию репликации Yii db, конфигурация массива мастера — это узлы кластера mysql ndb, вот и все!

 [
    'class' => 'yiidbConnection',

    // common configuration for masters
    'masterConfig' => [
        'username' => 'sqlnodeuser',
        'password' => 'sqlnodepass',
        'attributes' => [
            // use a smaller connection timeout
            PDO::ATTR_TIMEOUT => 10,
        ],
    ],

    // list of master configurations
    'masters' => [
        ['dsn' => 'dsn for ndb sql node 1'],
        ['dsn' => 'dsn for ndb sql node 2'],
    ],
]
 

из официального документа yii2: https://www.yiiframework.com/doc/guide/2.0/en/db-dao