У меня есть приложение в воспламенителе кода, которое устанавливает соединение с cassandra с помощью драйвера cassa DB PHP. Код для подключения следующий, который загружается автоматически.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class CassaDb {
private $CI;
public $cassa_db;
private $batch;
private $schema;
private $keyspace_name = "dev";
private $username = "";
private $password = "";
private $hostname = "127.0.0.1";
public function __construct() {
if(!$this->cassa_db) {
try {
$cluster = Cassandra::cluster()
->withContactPoints($this->hostname)
->withDefaultConsistency(Cassandra::CONSISTENCY_LOCAL_QUORUM)
->withCredentials($this->username, $this->password)
->withRequestTimeout(30)
->build();
$this->cassa_db = $cluster->connect($this->keyspace_name);
$this->batch = new Cassandra\BatchStatement();
$this->schema = $this->cassa_db->schema();
} catch(Exception $e) {
log_message('error', $e->getMessage());
}
}
}
}
Кассандра находится на моей локальной машине и использует только один узел.
В случае простоя нет соединений с портом 9042, который используется Cassandra.
:~$ sudo lsof -i -P -n | grep '9042 (ESTAB' | wc -l
0
Как только я нажимаю URL-адрес приложения, я вижу некоторые TCP-соединения, сделанные с портом 9042 apache.
:~$ sudo lsof -i -P -n | grep '9042 (ESTAB'
apache2 17394 www-data 21u IPv4 2685247 0t0 TCP 127.0.0.1:47144->127.0.0.1:9042 (ESTABLISHED)
apache2 17394 www-data 27u IPv4 2685248 0t0 TCP 127.0.0.1:47146->127.0.0.1:9042 (ESTABLISHED)
Снова я go при обновлении приложения или открыв его в новых браузерах, тогда будет сделано еще несколько TCP-соединений, количество которых увеличивается до 20-22. После этого ограничения больше не будет никаких соединений.
:~$ sudo lsof -i -P -n | grep '9042 (ESTAB' | wc -l
16
:~$ sudo lsof -i -P -n | grep '9042 (ESTAB'
apache2 17395 www-data 21u IPv4 2685782 0t0 TCP 127.0.0.1:47236->127.0.0.1:9042 (ESTABLISHED)
apache2 17395 www-data 27u IPv4 2687278 0t0 TCP 127.0.0.1:47238->127.0.0.1:9042 (ESTABLISHED)
apache2 17398 www-data 21u IPv4 2685511 0t0 TCP 127.0.0.1:47170->127.0.0.1:9042 (ESTABLISHED)
apache2 17398 www-data 27u IPv4 2682226 0t0 TCP 127.0.0.1:47172->127.0.0.1:9042 (ESTABLISHED)
apache2 17400 www-data 21u IPv4 2689101 0t0 TCP 127.0.0.1:47274->127.0.0.1:9042 (ESTABLISHED)
apache2 17400 www-data 27u IPv4 2685815 0t0 TCP 127.0.0.1:47276->127.0.0.1:9042 (ESTABLISHED)
apache2 17552 www-data 21u IPv4 2684269 0t0 TCP 127.0.0.1:47206->127.0.0.1:9042 (ESTABLISHED)
apache2 17552 www-data 27u IPv4 2688683 0t0 TCP 127.0.0.1:47208->127.0.0.1:9042 (ESTABLISHED)
apache2 17553 www-data 21u IPv4 2686408 0t0 TCP 127.0.0.1:47214->127.0.0.1:9042 (ESTABLISHED)
apache2 17553 www-data 27u IPv4 2683890 0t0 TCP 127.0.0.1:47216->127.0.0.1:9042 (ESTABLISHED)
apache2 17851 www-data 21u IPv4 2688980 0t0 TCP 127.0.0.1:47248->127.0.0.1:9042 (ESTABLISHED)
apache2 17851 www-data 27u IPv4 2687319 0t0 TCP 127.0.0.1:47250->127.0.0.1:9042 (ESTABLISHED)
apache2 17853 www-data 21u IPv4 2687432 0t0 TCP 127.0.0.1:47292->127.0.0.1:9042 (ESTABLISHED)
apache2 17853 www-data 27u IPv4 2686531 0t0 TCP 127.0.0.1:47294->127.0.0.1:9042 (ESTABLISHED)
apache2 17948 www-data 21u IPv4 2682435 0t0 TCP 127.0.0.1:47288->127.0.0.1:9042 (ESTABLISHED)
apache2 17948 www-data 27u IPv4 2685831 0t0 TCP 127.0.0.1:47290->127.0.0.1:9042 (ESTABLISHED)
Когда я смотрю на phpinfo (), я вижу только 1 постоянное соединение и кластер в секции cassandra.
Главный вопрос заключается в том, где Кассандра поддерживала пул соединений. Установлено несколько соединений tcp, и в phpinfo отображается только 1 постоянное.
Также я соединяю cassandra с кодом Java, где я создаю сеансы cassandra в шаблоне синглтон-дизайна, где старый сеанс возвращается, если присутствует , Кроме того, есть также несколько соединений TCP, установленных Java, с портом 9042 Java.
:~$ sudo lsof -i -P -n | grep '9042 (ESTAB'
apache2 17395 www-data 21u IPv4 2685782 0t0 TCP 127.0.0.1:47236->127.0.0.1:9042 (ESTABLISHED)
apache2 17395 www-data 27u IPv4 2687278 0t0 TCP 127.0.0.1:47238->127.0.0.1:9042 (ESTABLISHED)
apache2 17398 www-data 21u IPv4 2685511 0t0 TCP 127.0.0.1:47170->127.0.0.1:9042 (ESTABLISHED)
apache2 17398 www-data 27u IPv4 2682226 0t0 TCP 127.0.0.1:47172->127.0.0.1:9042 (ESTABLISHED)
apache2 17400 www-data 21u IPv4 2689101 0t0 TCP 127.0.0.1:47274->127.0.0.1:9042 (ESTABLISHED)
apache2 17400 www-data 27u IPv4 2685815 0t0 TCP 127.0.0.1:47276->127.0.0.1:9042 (ESTABLISHED)
apache2 17407 www-data 21u IPv4 2687454 0t0 TCP 127.0.0.1:47302->127.0.0.1:9042 (ESTABLISHED)
apache2 17407 www-data 27u IPv4 2689170 0t0 TCP 127.0.0.1:47304->127.0.0.1:9042 (ESTABLISHED)
apache2 17552 www-data 21u IPv4 2684269 0t0 TCP 127.0.0.1:47206->127.0.0.1:9042 (ESTABLISHED)
apache2 17552 www-data 27u IPv4 2688683 0t0 TCP 127.0.0.1:47208->127.0.0.1:9042 (ESTABLISHED)
apache2 17553 www-data 21u IPv4 2686408 0t0 TCP 127.0.0.1:47214->127.0.0.1:9042 (ESTABLISHED)
apache2 17553 www-data 27u IPv4 2683890 0t0 TCP 127.0.0.1:47216->127.0.0.1:9042 (ESTABLISHED)
apache2 17851 www-data 21u IPv4 2688980 0t0 TCP 127.0.0.1:47248->127.0.0.1:9042 (ESTABLISHED)
apache2 17851 www-data 27u IPv4 2687319 0t0 TCP 127.0.0.1:47250->127.0.0.1:9042 (ESTABLISHED)
apache2 17853 www-data 21u IPv4 2687432 0t0 TCP 127.0.0.1:47292->127.0.0.1:9042 (ESTABLISHED)
apache2 17853 www-data 27u IPv4 2686531 0t0 TCP 127.0.0.1:47294->127.0.0.1:9042 (ESTABLISHED)
apache2 17948 www-data 21u IPv4 2682435 0t0 TCP 127.0.0.1:47288->127.0.0.1:9042 (ESTABLISHED)
apache2 17948 www-data 27u IPv4 2685831 0t0 TCP 127.0.0.1:47290->127.0.0.1:9042 (ESTABLISHED)
apache2 17993 www-data 21u IPv4 2687491 0t0 TCP 127.0.0.1:47316->127.0.0.1:9042 (ESTABLISHED)
apache2 17993 www-data 27u IPv4 2690176 0t0 TCP 127.0.0.1:47318->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3413u IPv4 2700469 0t0 TCP 127.0.0.1:47376->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3414u IPv4 2700470 0t0 TCP 127.0.0.1:47378->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3450u IPv4 2696024 0t0 TCP 127.0.0.1:47382->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3501u IPv4 2694086 0t0 TCP 127.0.0.1:47384->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3525u IPv4 2694087 0t0 TCP 127.0.0.1:47386->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3575u IPv4 2692561 0t0 TCP 127.0.0.1:47388->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3576u IPv4 2699860 0t0 TCP 127.0.0.1:47390->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3577u IPv4 2694999 0t0 TCP 127.0.0.1:47392->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3580u IPv4 2697303 0t0 TCP 127.0.0.1:47396->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3581u IPv4 2694088 0t0 TCP 127.0.0.1:47398->127.0.0.1:9042 (ESTABLISHED)
java 18315 juser 3682u IPv4 2694089 0t0 TCP 127.0.0.1:47400->127.0.0.1:9042 (ESTABLISHED)
Несколько соединений tcp, созданных выше, являются несколькими сеансами cassandra или соединениями в конкретном сеансе.