Три режима развертывания
Nacos поддерживает три режима развертывания
1. Автономный режим: его можно использовать для тестирования и автономного использования. Не используйте автономный режим в производственной среде (не может обеспечить высокую доступность)
2. Кластерный режим: может использоваться в производственной среде для обеспечения высокой доступности.
3. Многокластерный режим: может использоваться в сценариях с несколькими центрами обработки данных.
Автономный режим
Запустить Nacos-сервер
Линукс:sh startup.sh -m standalone
Окна:cmd startup.cmd -m standalone
или дважды щелкнитеstartup.cmd
запускать
Закрыть сервер Nacos
Линукс:sh shutdown.sh
Окна:cmd shutdown.cmd
или дважды щелкнитеshutdown.cmd
запускать
существует0.7
версия раньше,Nacos
с помощью встроенной базы данныхDerby
(Apache Derby) для хранения данных;0.7
версии, добавивmysql
Поддержка источника данных.
Источник данных Дерби
Встроенную базу данных можно запустить напрямую через команду без дополнительной установки.
startup.cmd -m standalone
Источник данных MySQL
шаг первый: Установить данные MySQL, требования к версии:5.6.5+
Шаг 2: Инициализировать базу данных
создать базу данных
create database if not exists nacos default charset utf8 collate utf8_general_ci;
Инициализировать базу данных В каталоге распаковки сервера nacos conf найдите файл nacos-mysql.sql и запустите его напрямую.После завершения выполнения используйте клиент Navicat для его просмотра.
Шаг 3:Исправлятьconf/application.properties
Документ, добавьте следующую информацию
## mysql datasource
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
Уведомление:spring.datasource.platform=mysql
Не пропустите или используйте его в любом случаеDerby
база данных.
Шаг 4: Запустить сервер Nacos
После успешного запуска используем предыдущий блог:«Серия NACOS: использование Java SDK NACOS»Случай для проверки, запустите NacosConfig, наблюдайте за изменениями содержимого таблицы данных, после того, как пример известен и выполнен,config_info
стол иhis_config_info
В таблице будут данные, относящиеся к конфигурации, как показано на следующем рисунке:
Похоже, что источник данных MySQL для Nacos хранит только данные конфигурации, а список служб и информация о зарегистрированном экземпляре службы не отображаются в таблице данных (это явление можно наблюдать, запустив метод main() класса NacosDiscovery в примере )
кластерный режим
Из-за ограниченных ресурсов я напрямую смоделировал развертывание в Windows для создания «псевдокластера», создал новый файловый каталог NacosCluster, извлек три копии Nacos Server в этот каталог и назвал их какnasosSlave0、nasosSlave1、nasosSlave2
, назначение порта:8845、8846、8847
Измените nasosSlave0/conf/application.properties, server.port=8845 и добавьте
## mysql datasource
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
Здесь для демонстрации функции используется библиотека MySQL.В реальном производстве должен использоваться как минимум режим «активный-резервный», например:
db.num=2
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos1?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.url.1=jdbc:mysql://127.0.0.1:3306/nacos2?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
Скопируйте nasosSlave0/conf/cluster.conf.example какcluster.conf
, модификация выглядит следующим образом:
127.0.0.1:8845
127.0.0.1:8846
127.0.0.1:8847
Конфигурации nasosSlave1, nasosSlave2 и nasosSlave0 одинаковы, за исключением разных портов.
Запускайте каждый сервер Nacos отдельно
startup.cmd -m cluster
Примечание. В Windows в настоящее время больше нельзя дважды щелкнуть мышью.startup.cmd
Запущено, если оно запущено так, оно все равно начинается с单机模式
беги, потому чтоbin/startup.cmd
Есть следующий код:
if not "%2" == "cluster" (
set "JAVA_OPT=%JAVA_OPT% -Xms512m -Xmx512m -Xmn256m"
set "JAVA_OPT=%JAVA_OPT% -Dnacos.standalone=true"
) else (
set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
set "JAVA_OPT=%JAVA_OPT% -XX:-OmitStackTraceInFastThrow XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%BASE_DIR%\logs\java_heapdump.hprof"
set "JAVA_OPT=%JAVA_OPT% -XX:-UseLargePages"
)
Наблюдайте за консолью.После успешного запуска вы можете увидеть следующую информацию в консоли:
E:\Software\Nacos\nacosCluster\nacosSlave0\bin>startup.cmd -m cluster
,--.
,--.'|
,--,: : | Nacos 0.8.0
,`--.'`| ' : ,---. Running in cluster mode
| : : | | ' ,'\ .--.--. Port: 8845
: | \ | : ,--.--. ,---. / / | / / ' Pid: 6568
| : ' '; | / \ / \. ; ,. :| : /`./ Console: http://192.168.1.102:8845/nacos/index.html
' ' ;. ;.--. .-. | / / '' | |: :| : ;_
| | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io
' : | ; .' ," .--.; |' ; :__| : | `----. \
| | '`--' / / ,. |' | '.'|\ \ / / /`--' /
' : | ; : .' \ : : `----' '--'. /
; |.' | , .-./\ \ / `--'---'
'---' `--`---' `----'
2019-02-20 23:06:13,059 INFO The server IP list of Nacos is [127.0.0.1:8845, 127.0.0.1:8846, 127.0.0.1:8847]
2019-02-20 23:06:14,185 INFO Nacos is starting...
2019-02-20 23:06:15,409 INFO Nacos is starting...
2019-02-20 23:06:16,512 INFO Nacos is starting...
2019-02-20 23:06:17,605 INFO Nacos is starting...
2019-02-20 23:06:18,736 INFO Nacos is starting...
2019-02-20 23:06:19,860 INFO Nacos is starting...
2019-02-20 23:06:21,021 INFO Nacos is starting...
2019-02-20 23:06:22,230 INFO Nacos is starting...
2019-02-20 23:06:23,390 INFO Nacos is starting...
2019-02-20 23:06:24,605 INFO Nacos is starting...
2019-02-20 23:06:25,991 INFO Nacos is starting...
2019-02-20 23:06:26,993 INFO Nacos is starting...
2019-02-20 23:06:28,197 INFO Nacos is starting...
2019-02-20 23:06:29,264 INFO Nacos is starting...
2019-02-20 23:06:30,515 INFO Nacos is starting...
2019-02-20 23:06:31,810 INFO Nacos is starting...
2019-02-20 23:06:32,934 INFO Nacos is starting...
2019-02-20 23:06:33,976 INFO Nacos is starting...
2019-02-20 23:06:35,044 INFO Nacos is starting...
2019-02-20 23:06:36,153 INFO Nacos is starting...
2019-02-20 23:06:37,290 INFO Nacos is starting...
2019-02-20 23:06:38,616 INFO Nacos is starting...
2019-02-20 23:06:39,736 INFO Nacos is starting...
2019-02-20 23:06:40,824 INFO Nacos is starting...
2019-02-20 23:06:41,757 INFO Nacos Log files: E:\Software\Nacos\nacosCluster\nacosSlave0\/logs/
2019-02-20 23:06:41,768 INFO Nacos Conf files: E:\Software\Nacos\nacosCluster\nacosSlave0\/conf/
2019-02-20 23:06:41,771 INFO Nacos Data files: E:\Software\Nacos\nacosCluster\nacosSlave0\/data/
2019-02-20 23:06:41,774 INFO Nacos started successfully in cluster mode.
Доступ к следующим путям в браузере соответственноhttp://localhost:8845/nacos
http://localhost:8846/nacos
http://localhost:8847/nacos
Если все попытки доступа выполнены успешно, это доказывает успешность развертывания в режиме кластера.
Многокластерный режим
Nacos поддерживает режим запроса маршрутизации NameServer, с помощью которого вы можете разработать полезное правило сопоставления для управления переадресацией запросов в соответствующий кластер.В правиле сопоставления вы можете сегментировать запросы по пространству имен или арендатору (с официального сайта Nacos)
другие инструкции
в соответствии сNacos
Официально, Накосv0.8.0 Pre-GA
Эту версию можно использовать в производственной среде. До этой версии не используйте ее в производственной среде.