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 предлагает три независимых сервера: 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 )