TCP-соединения Cassandra через PHP / Java - PullRequest
0 голосов
/ 24 января 2020

У меня есть приложение в воспламенителе кода, которое устанавливает соединение с 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. enter image description here

Главный вопрос заключается в том, где Кассандра поддерживала пул соединений. Установлено несколько соединений 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 или соединениями в конкретном сеансе.

...