6.Nacos

news2025/1/17 6:18:36

1.单机部署

  1.1 官网

https://nacos.io/zh-cn/index.html
https://github.com/alibaba/Nacos

  1.2.版本说明

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

  1.3.下载地址

https://github.com/alibaba/nacos/releases/tag/2.2.0

  1.4.安装

    解压安装包,直接运行bin目录下,默认账号密码都是nacos,命令运行成功后直接访问http://localhost:8848/nacos,结果页面

startup.cmd -m standalone

2.注册中心

    2.1 支付项目

    1) 父POM

    2.2.6.RELEASE以上版本集群报错,大概意思是找不到grpc的端口

 <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>

    2) POM

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

    3) YML

server:
  port: 9001

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #配置Nacos地址
 

    4) 主程序

@EnableDiscoveryClient
@SpringBootApplication
public class PaymentMain9001 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain9001.class,args);
    }
}

  2.2 订单项目

    1) POM

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

    2) YML

spring:
  application:
    name: order-nacos-service
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

    3) 主程序

@EnableDiscoveryClient
@SpringBootApplication
public class OrderNacosMain {

    public static void main(String[] args) {
        SpringApplication.run(OrderNacosMain.class, args);
    }
}

    4) 业务类

        ApplicationContextBean

@Configuration
public class ApplicationContextBean {

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

       OrderNacosController

@RestController
public class OrderController {

    @Resource
    private RestTemplate restTemplate;

    private String serverURL = "http://nacos-payment-service";

    @GetMapping(value = "/payment/get/{id}")
    public String paymentInfo(@PathVariable("id") Long id)
    {
        return restTemplate.getForObject(serverURL+"/payment/get/"+id,String.class);
    }

}

3.配置中心

  3.1 POM

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

  3.2 YOM

     1) bootstrap.yml

        此文件不写,yaml格式无法加载

spring:
  profiles:
    active: dev
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
      config:
        server-addr: localhost:8848
        file-extension: yaml

    2) application.yml

server:
  port: 8001
spring:
  application:
    name: nacos-payment-service

  3.3 业务类


@RestController
@RefreshScope
public class ConfigClientController
{
    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/config/info")
    public String getConfigInfo() {
        return configInfo;
    }
}

 通过 Spring Cloud 原生注解@RefreshScope  实现配置自动更新

  3.4 Nacos中添加配置信息

    1) 配置规格

${prefix}-${spring.profiles.active}.${file-extension}

    2) 说明

  • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置
  • spring.profiles.active 即为当前环境对应的 profile
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置,官网上说目前只支持 properties 和 yaml 类型,但我的版本只有properties 成功过

    3) 配置新增

4.配置mysql

  修改配置文件application.properties

spring.datasource.platform=mysql

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

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

### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

启动

startup.cmd

5.集群配置

   修改配置配置文件cluster.conf

  1) 单机配置:

192.168.2.93:8840
192.168.2.93:8850
192.168.2.93:8860

  2) 多服务器

6.nginx

  6.1 配置

upstream nacosserver{
	  server 192.168.2.18:8840;
	  server 192.168.2.18:8850;
	  server 192.168.2.18:8860;
	}

server {
        listen       8023;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;			
	    proxy_pass http://nacosserver;
        }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1340444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百度CTO王海峰:飞桨开发者已达1070万

目录 写在前面 飞桨开发者已达1070万 文心一言用户规模破亿&#xff0c;日提问量快速增长 写在前面 “文心一言用户规模突破1亿。”12月28日&#xff0c;百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰在第十届WAVE SUMMIT深度学习开发者大会上宣布。会上&…

全平台去水印系统源码:画质高清无损害,一键下载 支持目前主流80多个平台无水印下载 带完整的安装部署教程

在数字内容爆炸的时代&#xff0c;图片和视频的传播和使用越来越频繁。然而&#xff0c;许多优质资源都带有水印&#xff0c;不仅影响了美观&#xff0c;也在一定程度上限制了资源的再利用。传统的去水印方法往往操作复杂&#xff0c;效果不尽如人意&#xff0c;甚至可能损害原…

《网络是怎样连接的》1.2、1.3节图表(自用)

图2.1&#xff1a;浏览器调用socket库中的解析器&#xff0c;向DNS服务器询问域名的ip地址 &#xff08;图中的gethostbyname是解析器的名称&#xff1b;协议栈是操作系统的网络控制软件&#xff0c;也称协议驱动、TCP/IP驱动&#xff09; 图2.2 DNS服务器根据客户端查询信息查…

Vue2.0 -- 组件局部注册

目录 组件定义 注册 使用组件 组件的命名 再做vue之前, 需要先引入vue.js文件 <script src"../js/vue.js"></script>有很多官方或者非官方的cdn可以使用, 可自行前往 搜索下载 组件定义 首先, 使用Vue.extend() 来定义一个组件 (注意这个步骤是在sc…

mac 生成 本地.ssh

输入下面命令行 ssh-keygen 默认回车得到下面的 Generating public/private rsa key pair. Enter file in which to save the key (/Users/{用户名}/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has be…

【 FPGA 封装设计资源 】 Xilinx vs Altera

XILINX PACKAGE 一般在doc nav搜索&#xff0c;同样也可以在官网&#xff1b;检索关键字“*pkg-pinout.” 比如vu9p: ug575-ultrascale-pkg-pinout.pdf 原理库文件 Package Files Portal 举例&#xff1a; 先选封装&#xff1b; 再选器件 二维交叉检索后&#xff0c;在右击…

【力扣题解】P404-左叶子之和-Java题解

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P404-左叶子之和-Java题解&#x1f30f;题目描述&#x1f4a1;题解&#x1f30f;总结…

配置inotify+rsync实时同步

Linux内核从2.6.13版本开始提供了inotify通知接口&#xff0c;用来监控文件系统的各种变化情况&#xff0c;如 文件存取&#xff0c;删除、移动&#xff0c;修改等&#xff0c;利用这一机制&#xff0c;可以非常方便地实现文件异动告警、增量备份&#xff0c; 并针对目录或文件…

main函数的参数ac和av

概要&#xff1a; main函数有两个参数&#xff0c;ac和av ac表示参数的个数&#xff0c;程序名包括在内。也就是说程序无参数运行时&#xff0c;ac的值为1 av是一个字符串数组&#xff0c;这个数组中的每个元素表示一个参数&#xff0c;程序名包括在内。也就是说&#xff0c…

Zulip:开源团队协作工具,高效沟通与远程办公 | 开源日报 No.126

zulip/zulip Stars: 18.9k License: Apache-2.0 Zulip 是一个开源的团队协作工具&#xff0c;拥有独特的基于主题的线程功能&#xff0c;结合了电子邮件和聊天的优点&#xff0c;使远程工作更加高效和愉快。它是唯一设计用于实时和异步对话的现代团队聊天应用程序。 其核心优势…

创建加密分区或者文件

文章目录 [GParted 中已清除的分区与未格式化的分区](https://superuser.com/questions/706624/cleared-vs-unformatted-partition-in-gparted)创建加密分区解密创建的加密分区以便挂载格式化设备未具体的格式&#xff08;这里为ext4格式&#xff09;创建挂载点目录挂载加密的文…

win32 WM_MENUSELECT消息学习

之前写了一些win32的程序&#xff0c;处理菜单单击都是处理WM_COMMAND消息&#xff0c;通过 LOWORD(wParam) 获取菜单ID&#xff0c;判断单击的是哪个菜单项&#xff1b; 还有一些其他菜单消息&#xff1b; 当在菜单项中移动光标或鼠标&#xff0c;程序会收到许多WM_MENUSELEC…

来聊聊程序员的职业发展路线

作为程序员&#xff0c;在开发岗位上做了几年&#xff0c;特别是到了30岁&#xff0c;这个而立之年&#xff0c;我们会来到一个重要的人生岔路口。就是管理和技术两个选择&#xff0c;一边专业路线&#xff0c;一边是管理路线。 在互联网的头部企业&#xff0c;对管理和技术是…

(12)Linux 常见的三种进程状态

&#x1f4ad; 前言&#xff1a;本章我们专门讲解进程的状态。我们先学习具体的 Linux 系统状态&#xff0c;再去介绍 OS 学科面对的概念如何理解 —— 运行态、终止态、阻塞态以及挂起态。 进程状态&#xff08;Process Status&#xff09; 什么是进程状态&#xff1f; 进程…

打地鼠游戏来了

主要利用js鼠标点击事件和window.setInterval&#xff08;&#xff09;回调函数来进行实现的. 源码获取方式&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1eW9qvX3zFH9qlH82-I4yOA 提取码&#xff1a;1233

1.2.3 TCP/IP参考模型

一、OSI参考模型与TCP/IP参考模型 1、应用层&#xff1a;将表示层和会话层都纳入其中&#xff0c;形成一个比较大的层次&#xff0c;包含所有的高层协议 2、传输层&#xff1a;实现端到端的&#xff0c;进程与进程之间的通信。 3、网际层&#xff1a;TCP/IOP模型中最关键的部…

Arduino平台软硬件原理及使用——发光二极管(LED灯)的使用

文章目录 一、发光二极管的发光原理 二、发光二极管正负极的辨别 三、发光二极管在Arduino中的使用 一、发光二极管的发光原理 通过上述两幅图像对发光二极管的结构及发光原理进行理解&#xff1b; 从物理学的角度而言&#xff0c;当电流通过晶片时&#xff08;N区的电子向P区移…

腾讯云轻量应用服务器和云服务器有什么区别?买哪个好

腾讯云轻量服务器和云服务器有什么区别&#xff1f;为什么轻量应用服务器价格便宜&#xff1f;是因为轻量服务器CPU内存性能比云服务器CVM性能差吗&#xff1f;轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境&#xff0c;云服务器CV…

【node-express】实现省县市/区三级联动接口

省县市/区三级联动接口 介绍接口步骤代码部分 介绍 源码地址&#xff1a;https://github.com/thinkasany/nestjs-course-code/tree/master/demo/address 使用 navicat 导入sql文件&#xff0c;新增表&#xff0c;然后只需要一个接口 localhost:3001/region?parentId1, 不断的…

uni-app新建页面

新建页面 一、右键点击 pages 文件夹&#xff0c;点击新建页面。 二、输入页面名称、选择创建 vue 文件、勾选创建同名目录、选择默认模板、勾选在 pages.json 中注册、点击创建即可。 原创作者&#xff1a;吴小糖 创作时间&#xff1a;2023.12.28