1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Bwar-Nebula

Клонировать/Скачать
nebula_distributed_demo.md 5.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 22:21 646366b

Установка Nebula распределённого сервиса

Nebula предоставляет возможность установки и развёртывания в один клик, как для одиночного сервера, так и для распределённой службы. Процесс установки для распределённой системы выглядит следующим образом:

# Получение исходного кода для установки
wget https://github.com/Bwar/NebulaBootstrap/archive/master.zip

# Распаковка архива с установкой, предоставление скрипту прав на выполнение
unzip master.zip; rm master.zip; mv NebulaBootstrap-master NebulaBootstrap; cd NebulaBootstrap; chmod u+x deploy.sh

# Установка в один клик
./deploy.sh

Запуск демонстрационного примера распределённой службы

После завершения установки можно запустить службу и протестировать её. Настройка и запуск также выполняются в один клик.

# Настройка IP-адреса сервера
./configure.sh

# Запуск сервера
./startup.sh

Сервер должен успешно запуститься, и startup.sh выведет информацию о запущенном сервере. Если сервер не запустился, можно проверить причину в каталоге log. Выполните команды grep "ERROR" log/* и grep "FATAL" log/*, чтобы узнать, есть ли ошибки. Затем проверьте конкретные файлы журналов для получения подробной информации об ошибках. Обратите внимание, что в файле конфигурации по умолчанию для Nebula есть ограничения на количество подключений к IP за единицу времени. Если при тестировании большого объёма данных возникают странные проблемы, можно изменить настройки ограничений. Просмотр предупреждающих сообщений в журнале обычно помогает определить такие «ошибки», которые на самом деле не являются ошибками. Если сервер успешно запущен, можно использовать Postman или curl для тестирования и проверки результатов.

# Тестирование
curl -H "Content-Type:application/json" -X POST -d '{"name": "Nebula", "address":"https://github.com/Bwar/Nebula"}' http://${your_ip}:16003/hello

Здесь представлен метод тестирования с использованием команды curl. Также можно использовать другие клиентские программы, такие как Postman.

Анализ распределённой службы Nebula

Разработка распределённых служб на основе Nebula — это очень простая задача. Nebula предлагает три независимых сервера: NebulaBeacon, NebulaInterface и NebulaLogic, которые позволяют создавать распределённые системы. Nebula представляет собой фреймворк, который компилируется в libnebula.so для использования в бизнес-разработке. Поэтому у самого Nebula нет функции main(), и создание работающего сервера сводится к написанию функции main() для каждого сервера на основе Nebula.

Помимо тесной связи между NebulaBeacon и Nebula, которая отвечает за управление кластером Nebula, регистрацию и настройку, другие серверы, такие как NebulaInterface (HTTP-доступ к кластеру Nebula), NebulaLogic (логика кластера Nebula), NebulaMydis (резидентный прокси-сервер Redis для кластера Nebula) и NebulaDbAgent (прокси-сервер MySQL для кластера Nebula), предоставляют решения для помощи разработчикам в быстрой сборке распределённых систем. Они также служат примерами применения и учебными материалами для фреймворка Nebula. Разработка сервера на базе Nebula занимает менее 10 строк кода. Если существующие серверные решения на основе Nebula не удовлетворяют требованиям, можно создать собственный сервер без использования этих решений. Например, проект Nebio, запущенный в производство в июле 2018 года для сбора и анализа данных о точках, использует только NebulaBeacon и NebulaDbAgent, а остальные три сервера (Collect/Analyse/Aggregate) были полностью переписаны.

NebulaDynamic — это динамический загрузчик плагинов для кластера Nebula. Здесь хранятся тестовый код фреймворка и примеры кода бизнес-логики.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Bwar-Nebula.git
git@api.gitlife.ru:oschina-mirror/Bwar-Nebula.git
oschina-mirror
Bwar-Nebula
Bwar-Nebula
master