Однопользовательская модель
Однопользовательская модель
Все серверы Firebird могут работать с локальными клиентами. Протоколы соединения и режимы меняются в соответствии с выбранной вами моделью сервера. Однопользовательские инсталляции делятся на две категории:
* Независимый сервер. В этой модели сервер инсталлируется и запускается на машине. Локальные соединения осуществляются с использованием протоколов в стиле сетевых, используя обычные клиентские библиотеки.
* Встраиваемый сервер. Никакой сервер не инсталлируется. Сервер находится в DLL, похожей на клиентскую библиотеку, и загружается приложением. Приложение вместе с DLL сервера выполняется как единственный процесс на одно соединение. Когда приложение завершается, то фактически завершается и работа сервера.
Клиент-сервер
В автономной модели клиент-сервер локализованное клиентское подключение к выполняющемуся серверу выполняется с использованием локального протокола. Сервер может прослушивать подключения от удаленных клиентов во время подключенного локального клиента. Рис. 6.2 иллюстрирует этот режим.
Рис. 6.2. Автономные серверы
Первый пример показывает модель локального подключения. В Firebird 1.5 и ниже подсистема IPSERVER моделирует сетевое подключение в том же блоке пространства общения между процессами. В версии 1.5 и выше вместо локального протокола используется более быстрая и надежная подсистема XNET. Функциональный эквивалент локального подключения используется Классическим сервером в POSIX.
В двух других примерах в Windows, Linux или на любой другой поддерживаемой платформе Суперсервер использует локальную "заглушку" (loopback) протокола TCP/IP. Это обычное подключение TCP/IP к специальному IP-адресу 127.0.0.1, который большинство подсистем TCP/IP инсталлирует по умолчанию для локального хоста (localhost). В Linux Классический сервер версии 1.5 может применяться в этом режиме при использовании клиентской библиотеки libfbclient.so.
Встраиваемый сервер
Встраиваемые серверы поддерживаются на платформах Windows и Linux/UNIX, хотя реализация моделей различна. Под Windows библиотека встроенного сервера, который выполняется как единый процесс, называется fbembed.dll. В Linux/UNIX это стандартный режим локального подключения для Классического сервера. Библиотека libfbclient.so запускает один процесс Классического сервера (fb_inet_server или ib inet server) и напрямую соединяется с базой данных. Процесс не является исключительным - удаленные клиенты могут одновременно соединяться с базой данных, используя fbclient.so, другую библиотеку libfbclient.so или fbembed.dll.
Более подробно встроенные серверы обсуждаются в главе 7.