网站域名必须备案吗,织梦cms 网站栏目管理,个体户查名字是否被注册,指纹锁在什么网站做宣传好一、Nacos的介绍
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 动态服务发现#xff1a;Nacos支持DNS与RPC服务发现#xff0c;提供原生SDK、OpenAPI等多种服务注册方式和DNS、HTTP与API等多种服务发现方式。服务健康监测#xff1a;Nacos提供…
一、Nacos的介绍
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 动态服务发现Nacos支持DNS与RPC服务发现提供原生SDK、OpenAPI等多种服务注册方式和DNS、HTTP与API等多种服务发现方式。服务健康监测Nacos提供对服务的实时健康检查阻止向不健康的主机或服务实例发送请求。动态配置服务Nacos提供配置统一管理功能能够以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态DNS服务Nacos支持动态DNS服务权重路由能够实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务。服务及其元数据管理Nacos支持从微服务平台建设的视角管理数据中心的所有服务及元数据包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的SLA以及最首要的metrics统计数据。 二、单机部署
1、准备 开启docker systemctl start docker 创建目录 mkdir -p mysql/{conf,data,script} my.cnf配置文件从主机拖到conf文件夹中 my.cnf [client]
default-character-setutf8[mysql]
default-character-setutf8[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size 128M
# sort_buffer_size 2M
# read_rnd_buffer_size 2M
skip-host-cache
skip-name-resolve
datadir/var/lib/mysql
socket/var/lib/mysql/mysql.sock
secure-file-priv/var/lib/mysql-files
usermysql# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links0log-error/var/log/mysqld.log
pid-file/var/run/mysqld/mysqld.pidinit_connectSET collation_connection utf8_unicode_ci
init_connectSET NAMES utf8
character-set-serverutf8
collation-serverutf8_unicode_ci
skip-character-set-client-handshake
# default: sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# modeified:
sql_mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_allowed_packet10M
default-time_zone8:00
default_authentication_pluginmysql_native_password 创建一个mysql容器m1自动连接了默认网络中的网桥Bridge docker run \
--name m1 \
-v /root/mode/mysql/conf/my.cnf:/etc/my.cnf \
-v /root/mode/mysql/data:/var/lib/mysql \
-v /root/mode/mysql/script:/script \
--privilegedtrue \
-e MYSQL_ROOT_PASSWORD123456 \
-d mysql/mysql-server:5.7 2、数据准备
登录MySQL容器 进入 docker exec -it m1 bash 登入mysql mysql -uroot -p 输入设置好的密码123456 创建一个数据库存放数据 create database nacos; 使用数据库 use nacos; 对应目录放入我们的数据脚本 执行指定路径中sql的脚本 source /script/nacos-mysql.sql; 之后查看数据表 show tables; 进行用户的授权及密码设置 grant all on *.* to root% identified by 123456; 重启mysql docker restart m1 3、下载Nacos镜像 下载Nacos镜像 docker pull nacos/nacos-server 查看m1容器信息 docker inspect m1 找到对应的IP后面需要 4、开发访问端口 查看防火墙列表的端口 firewall-cmd --zonepublic --list-ports 开放端口8848 firewall-cmd --zonepublic --add-port8848/tcp --permanent 更新防火墙端口 firewall-cmd --reload 5、配置 创建并且运行nacos及配置MySQL中的用户密码及m1的IP和端口映射 docker run -itd \
-e PREFER_HOST_MODEip \
-e MODEstandalone \
-e SPRING_DATASOURCE_PLATFORMmysql \
-e MYSQL_SERVICE_HOST172.17.0.2 \
-e MYSQL_SERVICE_PORT3306 \
-e MYSQL_SERVICE_DB_NAMEnacos \
-e MYSQL_SERVICE_USERroot \
-e MYSQL_SERVICE_PASSWORD123456 \
-p 8848:8848 \
--name nacos \
nacos/nacos-server 可以使用命令查看该容器是否运行成功 docker logs nacos 然后就可以进行访问了 三、集群部署 1、创建容器 创建自定义网络 docker network create --subnet 172.18.0.0/16 mode 将自定义网络和网桥连接 docker network connect mode m1 查看m1容器 docker inspect m1 2、配置 创建并且运行nacos01并进行配置 docker run -itd \
-e PREFER_HOST_MODEip \
-e MODEcluster \
-e NACOS_SERVERS172.18.0.102:8848 172.18.0.103:8848 \
-e SPRING_DATASOURCE_PLATFORMmysql \
-e MYSQL_SERVICE_HOSTm1 \
-e MYSQL_SERVICE_PORT3306 \
-e MYSQL_SERVICE_DB_NAMEnacos \
-e MYSQL_SERVICE_USERroot \
-e MYSQL_SERVICE_PASSWORD123456 \
-p 8848:8848 \
--name nacos01 \
--net mode \
--ip 172.18.0.101 \
--restartalways \
nacos/nacos-server 创建多个并进行配置 nacos02 docker run -itd \
-e PREFER_HOST_MODEip \
-e MODEcluster \
-e NACOS_SERVERS172.18.0.101:8848 172.18.0.103:8848 \
-e SPRING_DATASOURCE_PLATFORMmysql \
-e MYSQL_SERVICE_HOSTm1 \
-e MYSQL_SERVICE_PORT3306 \
-e MYSQL_SERVICE_DB_NAMEnacos \
-e MYSQL_SERVICE_USERroot \
-e MYSQL_SERVICE_PASSWORD123456 \
--name nacos02 \
--net mode \
--ip 172.18.0.102 \
--restartalways \
nacos/nacos-server nacos03 docker run -itd \
-e PREFER_HOST_MODEip \
-e MODEcluster \
-e NACOS_SERVERS172.18.0.101:8848 172.18.0.102:8848 \
-e SPRING_DATASOURCE_PLATFORMmysql \
-e MYSQL_SERVICE_HOSTm1 \
-e MYSQL_SERVICE_PORT3306 \
-e MYSQL_SERVICE_DB_NAMEnacos \
-e MYSQL_SERVICE_USERroot \
-e MYSQL_SERVICE_PASSWORD123456 \
--name nacos03 \
--net mode \
--ip 172.18.0.103 \
--restartalways \
nacos/nacos-server 可查看节点 3、负载均衡 在mode目录中创建目录 mkdir -p nginx/conf.d 在conf.d目录中创建并且编辑配置文件default.conf。 编辑 vim default.conf 集群nacos01nacos02nacos03的容器IP #服务器的集群
upstream nacosList { server nacos01:8848 weight1; server nacos02:8848 weight1; server nacos03:8848 weight1;
} server {listen 80;server_name www.wfzldr.com;location / {root /etc/nginx/html/;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location /50x.html {root /usr/share/nginx/html;}location /nacos {proxy_pass http://nacosList;}} 创建并且运行负载均衡的容器 docker run -itd \--name nginx \-v /root/mode/nginx/conf.d:/etc/nginx/conf.d \-p 80:80 \--net mode \nginx ip地址/nacos即可访问实现负载均衡