网站开发类型什么意思,绿茶直播,公司运营计划书怎么写,wordpress amp改成mip一 、服务集群
1 需求 服务提供者搭建集群 服务调用者#xff0c;依次显示集群中各服务的信息
2 搭建 1#xff09;修改服务提供方的controller#xff0c;打印服务端端口号 package com.czxy.controller;import org.springframework.web.bind.annotation.*;import …
一 、服务集群
1 需求 服务提供者搭建集群 服务调用者依次显示集群中各服务的信息
2 搭建 1修改服务提供方的controller打印服务端端口号 package com.czxy.controller;import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;/*** author 桐叔* email liangtongitcast.cn*/
RestController
public class EchoController {Resourceprivate HttpServletRequest request;RequestMapping(value /echo/{string}, method RequestMethod.GET)public String echo(PathVariable String string) {int serverPort request.getServerPort();return Hello Nacos Discovery string : serverPort;}
} 2编写yml配置 #端口号
server:port: 8170spring:application:name: service-provider #服务名cloud:nacos:discovery:server-addr: 127.0.0.1:8848 #nacos服务地址 #端口号
server:port: 8270spring:application:name: service-provider #服务名cloud:nacos:discovery:server-addr: 127.0.0.1:8848 #nacos服务地址 3配置idea启动项 -Dspring.profiles.active8170
3 测试
启动3个服务2个服务提供1个服务消费 查看nacos控制台
二、 加载配置文件顺序2
对 3.4.5章节/第4步内容进行详解加载配置文件的顺序第4步详解
1 nacos 配置 DataId 介绍
nacos 提供了3种方式配置dataId的加载顺序 A: 共享配置过时使用 shared-configs 替代 spring.cloud.nacos.config.shared-dataids spring.cloud.nacos.config.refreshable-dataids B: 加载多配置过时使用 extension-configs 替代 spring.cloud.nacos.config.ext-config[n] C: 内部规则拼接 spring.cloud.nacos.config.prefix spring.cloud.nacos.config.file-extension spring.cloud.nacos.config.group 2 配置 yml 文件中的 DataId
spring:application:name: config-service # 服务名cloud:nacos:config:server-addr: 127.0.0.1:8848 # nacos 服务地址
# shared-dataids: test1.yml # 4.1 共享配置 已过时
# refreshable-dataids: test1.ymlshared-configs: # 4.1 共享配置【最新】- data-id: test1-1.ymlgroup: DEFAULT_GROUPrefresh: true- data-id: test1-2.ymlgroup: DEFAULT_GROUPrefresh: true
# ext-config: # 4.2 配置多个 已过时
# - data-id: test2-1.yml
# group: DEFAULT_GROUP
# refresh: true
# - data-id: test2-2.yml
# group: DEFAULT_GROUP
# refresh: trueextension-configs: # 4.2 配置多个 【最新】- data-id: test2-1.ymlgroup: DEFAULT_GROUPrefresh: true- data-id: test2-2.ymlgroup: DEFAULT_GROUPrefresh: trueprefix: ${spring.application.name} # 4.3 data ID的前缀默认服务名file-extension: yaml # data ID的后缀config-service.yamlgroup: DEFAULT_GROUP # 组名discovery:server-addr: 127.0.0.1:8848 #nacos服务地址3 配置 console中的DataId
nacos控制台配置 4 测试 后面加载的dataId将覆盖前面加载的dataId设置的内容 查看日志 Located property source: [
BootstrapPropertySource {namebootstrapProperties-test3-demo.yaml}, BootstrapPropertySource {namebootstrapProperties-test3.yaml}, BootstrapPropertySource {namebootstrapProperties-test2-2.yml}, BootstrapPropertySource {namebootstrapProperties-test2-1.yml}, BootstrapPropertySource {namebootstrapProperties-test1.yml}]
三、 多环境配置
1 介绍
在Nacos为不同的环境开发、测试、生产等中提供了多个不同管理级别的概念包括Data ID、Group、Namespace。
概念描述Data ID数据唯一标识可理解为Spring Cloud应用的配置文件名Group用来对Data ID做集合管理相当于小分类Namespace用于进行租户粒度的配置隔离。相当于大分类
2 配置介绍 组group配置 spring.cloud.nacos.config.group #组名称 命名空间 namespace配置 注意namespace的ID spring.cloud.nacos.config.namespace #namespace的ID
3 配置内容 在nacos 控制台配置namespace 在nacos控制台显示namespace
四、 数据持久化
在单机模式时nacos默认使用嵌入式数据库实现数据存储0.7版本后增加了mysql存储数据。
1 初始化数据库 在conf目录下提供了nacos-mysql.sql SQL语句进行数据库的初始化 要求5.6 mysql 注意如果使用mysql 5.5需要修改sql语句 提供的SQL语句没有创建database手动创建nacos_config
2 开启mysql存储
conf目录下提供了application.properties可以修改数据库配置信息 ### If use MySQL as datasource:
spring.datasource.platformmysql### Count of DB:
db.num1### Connect URL of DB:
db.url.0jdbc:mysql://127.0.0.1:3306/nacos_config_2_1?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTC
db.user.0root
db.password.01234
配合完成后重启nacos
3 测试 添加配置信息 检查数据库存储 五、 Nacos集群搭建
1 概述 3个或3个以上Nacos节点才能构成集群 配置数据源 使用内置数据源 startup.cmd -p embedded 使用外置数据源MySQL参考4.4.2 在一台主机配置多个节点的端口号不能连续。 例如8841/8842/8843 不可用例如8841/8843/8845 可用
2 配置步骤 节点1配置Nacos8841 配置数据源修改端口号8841配置集群配置文件启动服务startup.cmd 节点2复制Nacos8843 修改端口号8843启动服务startup.cmd 节点3复制Nacos8845 修改端口号8845启动服务startup.cmd
3 配置详情
1配置节点1 拷贝nacos并重命名 nacos-2.1.0-8841 配置数据源 修改端口号8841 配置集群配置文件拷贝conf/cluster.conf.example重名为cluster.conf 启动服务startup.cmd 成功启动
2配置节点2 复制节点nacos-2.1.0-8841并重命名nacos-2.1.0-8843 修改端口号 启动服务
3配置节点3 复制节点nacos-2.1.0-8841并重命名nacos-2.1.0-8845 修改端口号 启动服务
4配置成功 4 常见错误
1db.num is null 错误提示db.num is null 原因没有配置数据库
2 unable to start embedded tomcat 错误提示unable to start embedded tomcat 原因1没有编写集群配置文件 原因2安装目录有中文
3内存不足 提示信息 原因内存不足修改分配内存大小
4 Cannot determine JNI library name for ARCH‘x86’ OS‘windows 10’ name‘rocksdb’
提示信息Cannot determine JNI library name for ARCH‘x86’ OS‘windows 10’ name‘rocksdb’原因nacos与jdk 系统位数64位和32位不一致
5 JNI相关错误
提示信息 C:\Users\Administrator\AppData\Local\Temp\/librocksdbjni1411968517689619912.dll: Cant find dependent libraries原因JAVA_HOME配置的jdk安装目录而不是jre安装目录
因内存不足修改分配内存大小
[外链图片转存中…(img-0X76yvOW-1705319663136)]
4 Cannot determine JNI library name for ARCH‘x86’ OS‘windows 10’ name‘rocksdb’
提示信息Cannot determine JNI library name for ARCH‘x86’ OS‘windows 10’ name‘rocksdb’原因nacos与jdk 系统位数64位和32位不一致
5 JNI相关错误
提示信息 C:\Users\Administrator\AppData\Local\Temp\/librocksdbjni1411968517689619912.dll: Cant find dependent libraries原因JAVA_HOME配置的jdk安装目录而不是jre安装目录