Nacos 初始

1.Nacos 的安装使用。

nacos的安装步骤

1.端口配置

Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。

如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:.

修改其中的内容:

 2.启动

在解压的位置输入cmd,定位到bin目录下,然后执行 startup.cmd -m standalone

 

黑窗口代码 

登录Nacos 默认账号密码都是nacos

3.在父工程中添加spring-cloud-alilbaba的管理依赖: 

<dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.6.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

注:注释掉order-service和user-service中原有的eureka依赖。

4.子模块添加nacos的客户端依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

5.修改子模块中的application.yml文件,注释eureka地址,添加nacos地址

 6.启动并测试   

 naacos 就配置并启动成功了。

Nacos服务分级存储模型

 服务集群的配置

修改application.yml,添加如下内容:

#     集群
     discovery:
       #集群名称
       cluster-name: sc
       #id
       namespace: 0fd0dd9c-0e40-4bb4-ba90-ef4966ee9036

NacosRule负载均衡 

默认的`ZoneAvoidanceRule`并不能实现根据同集群优先来实现负载均衡。

因此Nacos中提供了一个`NacosRule`的实现,可以优先从同集群中挑选

NacosRule负载均衡策略的优点

1.优先选择统同集群服务实例列表

2.本地集群找不到提供者,才会去其它集群寻找,并且会警告

3.确定了实例列表后,再采用随机负载均衡挑选实例

给子模块配置集群信息

spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ # 集群名称

修改负载均衡规则

修改子模型的application.yml文件,修改负载均衡规则

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 

 新建命名空间

注:默认的是public(保留空间)

1.在Nacos控制台可以创建namespace,用来隔离不同环境 (物理隔离)

2. 然后填写一个新的命名空间信息:

 3.保存后会在控制台看到这个命名空间的id:

 4.修改子模块的application.yml,添加namespace

  namespace: 0fd0dd9c-0e40-4bb4-ba90-ef4966ee9036  //id和命名空间id一至

这样就配置完成了。

Nacos配置管理

一.统一配置管理

Nacos除了可以做注册中心,同样可以做配置管理来使用

配置中心步骤

1、在nacos中添加配置文件

2.在弹出表单中填写配置信息:

3.从微服务拉取配置

流程图

1.引入nacos-config依赖

首先,在子模块的服务中,引入nacos-config的客户端依赖:

<!--nacos配置管理依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2. 添加bootstrap.yaml

  其实bootstrap 文件中代码和nasoc中的服务名称一至

spring:
  application:
    name: userservice # 服务名称
  profiles:
    active: dev #开发环境,这里是dev
  cloud:
    nacos:
      server-addr: localhost:8848 # Nacos地址
      config:
        file-extension: yaml # 文件后缀名
//如果使用了物理隔离就要加上namespace 和ID
#        namespace: 0fd0dd9c-0e40-4bb4-ba90-ef4966ee9036

读取nacos配置 

在子模块中的逻辑层中添加业务逻辑,读取pattern.dateformat配置:

 读取nacos配置 方式一

在@Value注入的变量所在类上添加注解@RefreshScope:

 读取nacos配置  方式二

使用@ConfigurationProperties注解代替@Value注解

 


@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
    private String dateformat;
}

在子模块中使用这个类代替@Value:

### Nacos 初始化数据库配置教程 #### 1. 数据库支持情况 Nacos 默认情况下仅支持 MySQL 数据库作为其配置中心的数据存储方案[^1]。如果需要使用其他类型的数据库(如达梦数据库),则需依赖社区提供的定制化版本或自行修改源码实现兼容性[^3]。 #### 2. 使用 MySQL 进行初始化 对于标准的 Nacos 配置,可以通过以下方式完成基于 MySQL 的初始化操作: - **创建数据库** 在目标 MySQL 实例中新建名为 `nacos_config` 的数据库实例。 - **执行 SQL 脚本** 执行位于 Nacos 发布包中的 `conf/nacos-mysql.sql` 文件内容来构建必要的表结构以及初始数据记录。此脚本通常包含了所有用于管理配置项和服务注册所需的元数据定义。 ```sql -- Example of running the initialization script manually (if not using Docker or automation tools) SOURCE /path/to/your/downloaded/directory/conf/nacos-mysql.sql; ``` - **调整配置文件** 修改 Nacos 的配置文件以指向新建立好的 MySQL 数据库连接参数。具体路径可能依据安装环境有所不同,但一般涉及编辑如下几个关键属性: ```properties spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://<MYSQL_HOST>:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=<YOUR_MYSQL_USER> db.password=<YOUR_MYSQL_PASSWORD> ``` 上述设置应放置于 `application.properties` 或者相应的 YAML 格式的配置文档里。 #### 3. 达梦数据库的支持扩展 当考虑采用国产化的达梦数据库替代传统的关系型数据库解决方案时,可参照特定优化过的分支版本来进行适配工作。该版本不仅修正了一些已知缺陷还增强了对 DM 类产品的全面支持能力。 注意,在实际应用过程中除了替换默认驱动程序外还需要验证事务隔离级别、字符集编码等方面是否存在潜在差异从而影响最终效果表现。 #### 4. 自动化部署选项 - 利用Docker简化流程 为了进一步降低复杂度提高效率,推荐利用容器技术快速搭建包含预设好各项参数的服务镜像。按照官方指引准备好基础映像之后再引入外部关系型数据库链接信息即可[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值