Nacos快速入门

这里写目录标题

  • 概述
      • Nacos 作为注册中心
        • 服务创建
      • 生产者环境搭建
      • 消费者环境搭建
      • CAP理论以及注册中心比较
    • Nacos 集群和持久化配置

概述

Nacos = Eureka + Config + Bus
官方文档. 下载地址.
下载好之后需要配置 nacos 的mysql 链接
我直接启动会报错,网上查了之后需要配置mysql.暂时还不知道为什么

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456

mysql 创建 nacos 数据库. 运行conf/nacos-mysql.sql 文件.之后启动成功
访问 http://localhost:8848/nacos 账号密码为 nacos nacos
启动单机版 nacos ./startup.sh -m standalone

Nacos 作为注册中心

服务创建

  1. 生产者环境搭建

  2. pom 文件
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
  1. yml 文件
server:
  port: 9001

spring:
  application:
    name: provider-01

  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
management:
  endpoint:
    web:
      exposure:
        include: "*"
  1. 启动类 上添加@EnableDiscoveryClient
  2. 消费者环境搭建

  3. 消费者环境和生产者一样,想调用的时候只需要使用 feign即可.和eureka一样

CAP理论以及注册中心比较

CAP 是分布式系统中的三种情况,最多只能满足两种

  1. C(一致性): 所有数据库集群节点在同一时间点看到的数据完全一致,即所有节点能实时保持数据同步。
  2. A(可用性): 读写操作永远是成功的。即服务一直是可用的,即使集群一部分节点故障,集群整体还能正常响应客户端的读写请求。
  3. P(分区容错性) : 尽管系统中有任意的信息丢失或故障,系统仍在继续运行。

其中 eureka 和 Nacos 都有 AP 模式,及短时间内,集群之间的数据可能不一致. 而Nacos 还支持 CP 模式,及注册中心有一台服务挂了,及所有服务暂停对外服务

Nacos 集群和持久化配置

官网建议的nacos集群配置是 3台nacos + 1台nginx + 1台mysql

  1. Linux 上mysql 数据库配置 创建nacos数据库 运行conf/nacos-mysql.sql 脚本
  2. application.properties 配置
### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=123456
  1. 修改 cluster.conf.examplecluster.conf 并且修改内容, 注意,ip不能写127.0.0.1
192.168.16.101:8847
192.168.16.102:8848
192.168.16.103:8849
  1. 部署三台不同的nacos实例到三台机器上
  2. 修改nginx 配置 然后 sudo nginx -c /usr/local/etc/nginx/nginx.conf 启动nginx
    Nacos快速入门_第1张图片

你可能感兴趣的:(SpringCloud,java)