3 Nacos Server部署
    下载源码编译
    源码下载地址:https://github.com/alibaba/nacos/ 可以用迅雷下载
    cd nacos/ mvn -Prelease-nacos clean install -U
    下载安装包
    下载地址:https://github.com/alibaba/Nacos/releases
    3.1 单机模式
    官方文档: https://nacos.io/zh-cn/docs/deployment.html
    解压,进入nacos目录
    11.jpeg
    单机启动nacos,执行命令

    1. bin/startup.sh -m standalone

    也可以修改默认启动方式
    22.png
    访问nocas的管理端:http://192.168.3.14:8848/nacos ,默认的用户名密码是 nocas/nocas

    3.2 集群模式
    1. jdk1.8+
    2.maven 3.3+
    3.nginx 作为负载均衡
    4.mysql
    官网文档: https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
    集群部署架构图
    44.jpeg
    1.下载

    cd /usr/local
    mkdir nacos
    
     wget https://github.com/alibaba/nacos/releases/download/1.4.1/nacos-server-1.4.1.tar.gz
    

    创建多个nacos server
    重复三次

    tar -zxvf nacos-server-1.4.1.tar.gz
    
    mv nacos nacos8849
    


    1)单机搭建伪集群,复制nacos安装包,修改为nacos8849,nacos8850,nacos8851
    55.jpeg
    2)以nacos8849为例,进入nacos8849目录
    2.1)修改conf\application.properties的配置,使用外置数据源 要使用mysql5.7+(包括)

    #使用外置mysql数据源 
    spring.datasource.platform=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.0=root 
    db.password.0=root
    

    66.png
    2.2)将conf\cluster.conf.example改为cluster.conf,添加节点配置

    # ip:port 
    192.168.65.220:8849 
    192.168.65.220:8850
    192.168.65.220:8851
    


    nacos8850,nacos8851 按同样的方式配置。
    3)创建mysql数据库,sql文件位置:conf\nacos-mysql.sql
    4) 如果出现内存不足:修改启动脚本(bin\startup.sh)的jvm参数

    JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256 -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m"
    

    77.png
    5) 分别启动nacos8849,nacos8850,nacos8851
    以nacos8849为例,进入nacos8849目录,启动nacos

    bin/startup.sh
    

    88.jpeg
    6) 测试
    登录 http://192.168.3.14:8849/nacos ,用户名和密码都是nacos
    99.jpeg
    下载nginx

    1.添加官方源仓库
    yum install -y yum-utils
    yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
    
    2.安装openresty
    yum install -y openresty
    
    cd /usr/local/openresty/
    

    7)官方推荐,nginx反向代理
    192.168.56.220:8847/nacos/

     upstream nacoscluster {
            server 127.0.0.1:8849;
            server 127.0.0.1:8850;
            server 127.0.0.1:8851;
        }
        server {
            listen        8847;
            server_name   localhost;
    
            location /nacos/{
                proxy_pass http://nacoscluster/nacos/;
            }
        }
    

    10.jpeg
    访问: http://192.168.3.14:8847/nacos
    1.3 prometheus+grafana监控Nacos(扩展)
    https://nacos.io/zh-cn/docs/monitor-guide.html
    Nacos 0.8.0版本完善了监控系统,支持通过暴露metrics数据接入第三方监控系统监控Nacos运行状态。
    1. nacos暴露metrics数据

    management.endpoints.web.exposure.include=*
    

    测试: http://localhost:8848/nacos/actuator/prometheus
    1.png
    2. prometheus采集Nacos metrics数据
    启动prometheus服务
    prometheus.exe —config.file=prometheus.yml
    测试:http://localhost:9090/graph
    2.png
    3. grafana展示metrics数据
    测试: http://localhost:3000/
    3.png
    4. Spring Cloud Alibaba Nacos快速开始
    4.1 Spring Cloud Alibaba版本选型
    4.jpeg
    4.2 搭建Nacos-client服务
    1)引入依赖
    父Pom中支持spring cloud&spring cloud alibaba, 引入依赖

    <dependencyManagement>
        <dependencies>
            <!--引入springcloud的版本-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.1.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    

    当前项目pom中引入依赖

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

    2) application.properties中配置

    server.port=8002
    #微服务名称
    spring.application.name=service-user
    #配置 Nacos server 的地址
    

    更多配置:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-discovery
    5.jpeg
    3)启动springboot应用,nacos管理端界面查看是否成功注册
    6.jpeg
    4)测试
    使用RestTemplate进行服务调用,可以使用微服务名称 (spring.application.name)
    String url = “http://service-order/order/findOrderByUserId/"+id;
    注意:需要添加@LoadBalanced注解

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
    

    4.3 Nacos注册中心架构
    7.jpeg