SpringCloud-Nacos

一、介绍

(1)作为服务注册中心和配置中心
(2)等价于:Eureka+Config+Bus
(3)nacos集成了ribbon,支持负载均衡

二、安装

(1)官网
(2)
在这里插入图片描述
(3)如果是单节点部署,修改startup.cmd后启动

在这里插入图片描述
(4)运行http://localhost:8848/nacos/
(5)
在这里插入图片描述

三、编写服务提供者

(1)编写pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>demo20220821</artifactId><groupId>com.wsh.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloudalibaba-provider-payment9001</artifactId><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.wsh.springcloud</groupId><artifactId>cloud-api-common</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>

(2)编写application.yml

server:port: 9001spring:application:name: cloudalibaba-provider-paymentcloud:nacos:discovery:server-addr: localhost:8848management:endpoints:web:exposure:include: "*"

(3)编写启动类

package com.wsh.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** @ClassName ConfigMain3344* @Description: TODO* @Author wshaha* @Date 2023/10/15* @Version V1.0**/
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderPayment9001 {public static void main(String[] args) {SpringApplication.run(ProviderPayment9001.class, args);}
}

(4)编写Controller

package com.wsh.springcloud.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** @ClassName TestController* @Description: TODO* @Author wshaha* @Date 2023/10/18* @Version V1.0**/
@RestController
public class TestController {@Value("${server.port}")private String port;@GetMapping("/payment/test")public String test(){return "test: " + port;}
}

(5)启动
在这里插入图片描述

在这里插入图片描述
(6)按照此配置创建9002,运行
在这里插入图片描述
在这里插入图片描述

四、编写服务提供者

(1)编写pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>demo20220821</artifactId><groupId>com.wsh.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloudalibaba-consumer-order83</artifactId><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.wsh.springcloud</groupId><artifactId>cloud-api-common</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>

(2)编写application.yml

server:port: 83spring:application:name: cloudalibaba-consumer-ordercloud:nacos:discovery:server-addr: localhost:8848management:endpoints:web:exposure:include: "*"server-url: http://cloudalibaba-provider-payment

(3)编写启动类

package com.wsh.springCloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** @ClassName ConsumerOrder83* @Description: TODO* @Author wshaha* @Date 2023/10/18* @Version V1.0**/
@EnableDiscoveryClient
@SpringBootApplication
public class ConsumerOrder83 {public static void main(String[] args) {SpringApplication.run(ConsumerOrder83.class, args);}
}

(4)编写配置类

package com.wsh.springCloud.config;import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;/*** @ClassName MyConfig* @Description: TODO* @Author wshaha* @Date 2023/10/18* @Version V1.0**/
@Configuration
public class MyConfig {@Bean@LoadBalancedpublic RestTemplate restTemplate(){return new RestTemplate();}
}

(5)编写Controller

package com.wsh.springCloud.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;/*** @ClassName TestController* @Description: TODO* @Author wshaha* @Date 2023/10/18* @Version V1.0**/
@RestController
public class TestController {@Value("${server-url}")private String url;@Autowiredprivate RestTemplate restTemplate;@GetMapping("/consumer/test")public String test(){String rtn = restTemplate.getForObject(url + "/payment/test", String.class);return rtn;}
}

(6)运行在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、编写服务配置中心客户端

(1)编写pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>demo20220821</artifactId><groupId>com.wsh.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloudalibaba-config-client3377</artifactId><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-config</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.wsh.springcloud</groupId><artifactId>cloud-api-common</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>

(2)编写bootstrap.yaml

server:port: 3377spring:application:name: cloudalibaba-config-clientcloud:nacos:discovery:server-addr: localhost:8848config:server-addr: localhost:8848file-extension: yamlmanagement:endpoints:web:exposure:include: "*"

(3)编写application.yaml

spring:profiles:active: dev

(4)编写启动类

package com.wsh.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** @ClassName ConfigMain3344* @Description: TODO* @Author wshaha* @Date 2023/10/15* @Version V1.0**/
@SpringBootApplication
@EnableDiscoveryClient
public class ConfigClient3377 {public static void main(String[] args) {SpringApplication.run(ConfigClient3377.class, args);}
}

(5)编写Controller

package com.wsh.springcloud.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** @ClassName TestController* @Description: TODO* @Author wshaha* @Date 2023/10/18* @Version V1.0**/
@RestController
@RefreshScope
public class TestController {@Value("${myInfo}")private String myInfo;@GetMapping("/configClient/myInfo")public String test(){return "myInfo: " + myInfo;}
}

(6)nacos添加配置(DataID = spring.application.name + spring.profiles.active + spring.cloud.nacos.config.file-extension)
在这里插入图片描述
(7)运行
在这里插入图片描述

六、命名空间、组名、DataId

(1)
在这里插入图片描述
(2)
在这里插入图片描述
(3)同时测试命名空间、组名、DataId
a、修改bootstrap.yaml

server:port: 3377spring:application:name: cloudalibaba-config-clientcloud:nacos:discovery:server-addr: localhost:8848config:server-addr: localhost:8848file-extension: yamlnamespace: e9b0b33c-533d-4c8d-9e77-6a91e9dd2f5fgroup: TESTmanagement:endpoints:web:exposure:include: "*"

b、新建命名空间TEST
在这里插入图片描述
c、创建配置
在这里插入图片描述
d、运行
在这里插入图片描述

七、配置持久化

(1)运行\nacos\conf下的mysql-schema.sql
在这里插入图片描述
(2)编写\nacos\conf下的application.properties
在这里插入图片描述
(3)运行
在这里插入图片描述

八、linux安装

(1)修改conf下的application.properties
在这里插入图片描述
(2)开放端口8848iptables -I IN_public_allow -s 0.0.0.0/0 -p tcp --dport 8848 -j ACCEPT
(3)执行./startup.sh
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法设计zxd】第6章 回溯法

目录 6.1 回溯法的设计技术 &#xff1a; 四皇后问题 回溯法&#xff1a; 算法框架&#xff1a; 思考题&#xff1a; 回溯算法的适用条件 【例6-1】求满足下列不等式的所有整数解&#xff1a; 6.2回溯算法的经典例题 【例6-2】装载问题  问题分析 计算模型  算法设计与描…

网络安全常见问题隐患及其应对措施

随着数字化时代的到来&#xff0c;网络安全已经成为组织和个人面临的严重挑战之一。网络攻击日益普及&#xff0c;黑客和不法分子不断寻找机会侵入系统、窃取敏感信息、破坏服务和网络基础设施。在这种情况下&#xff0c;了解网络安全的常见问题隐患以及如何应对它们至关重要。…

Golang学习:基础知识篇(三)—— Map(集合)

Golang学习&#xff1a;基础知识篇&#xff08;三&#xff09;—— Map集合 前言什么是Golang&#xff1f;Map集合定义 Map综合实例补充 前言 很久之前就想学Go语言了&#xff0c;但是一直有其他东西要学&#xff0c;因为我学的是Java嘛&#xff0c;所以后面学的东西一直是跟J…

机器学习基础之《回归与聚类算法(3)—线性回归优化:岭回归》

一、什么是岭回归 其实岭回归就是带L2正则化的线性回归 岭回归&#xff0c;其实也是一种线性回归。只不过在算法建立回归方程时候&#xff0c;加上L2正则化的限制&#xff0c;从而达到解决过拟合的效果 二、API 1、sklearn.linear_model.Ridge(alpha1.0, fit_interceptTrue…

使用UniApp实现视频数组自动下载与播放功能:一步步指导

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

5分钟内在Linux上安装.NET Core应用程序

作为开源的忠实粉丝&#xff0c;我喜欢 .NET Core 的跨平台特性。它开启了无限的可能性&#xff0c;从业余爱好项目、实验和概念验证&#xff0c;到在具有高安全性和可扩展性的经济高效基础设施上运行的大规模高负载生产应用程序。我通常从任何云平台提供商那里获得最简单、最便…

Java:SpringBoot整合Spring Batch示例

目录 文档基础概念Tasklet方式示例Chunk方式示例参考文章 文档 https://docs.spring.io/spring-batch/docs/4.3.9/reference/html/index.html 基础概念 JobLauncher&#xff1a;作业启动器&#xff0c;启动作业的入口。对应的实现类为SimpleJobLauncher。Job&#xff1a;作业…

上海亚商投顾:沪指震荡调整跌 减肥药、华为概念股持续活跃

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 沪指上个交易日低开后震荡调整&#xff0c;深成指、创业板指盘中跌超1%&#xff0c;宁德时代一度跌超3%&#xff…

apk和小程序渗透

apk和小程序域服务器通信使用的还是http协议&#xff0c;只是使用了加密。只要可以获取到http的请求报文&#xff0c;就可以回归到web渗透的层面。apk和小程序的渗透很复杂&#xff0c;涉及逆向时要进行脱壳&#xff0c;脱壳后反编译了&#xff0c;源代码没做加密就能直接逆向出…

华为eNSP配置专题-NAT的配置

文章目录 华为eNSP配置专题-NAT的配置0、参考文档1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、基本终端构成和连接2.2、各终端基本配置2.2.1、PC1和PC2的配置2.2.2、交换机不做任何配置2.2.3、网关路由器的配置2.2.4、模拟互联网的路由器的配置 3、配置静态NAT…

代码随想录第四十三天|343. 整数拆分 ● 96.不同的二叉搜索树

343.整数拆分 题目&#xff1a; 给定一个正整数 n&#xff0c;将其拆分为至少两个正整数的和&#xff0c;并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: 10 输出: 36 解释: 10 3 3 4, 3 3 4 …

强化学习 | 强化学习基础知识(图解)

强化学习是机器学习的一个领域。它是关于在特定情况下采取适当的行动来最大化奖励。它被各种软件和机器用来找到在特定情况下应该采取的最佳行为或路径。强化学习与监督学习的不同之处在于&#xff0c;在监督学习中&#xff0c;训练数据具有答案键&#xff0c;因此模型本身使用…

RabbitMQ从0到1完整学习笔记一:《基础篇》

目录 启篇 一、初识MQ 1.1 同步调用 1.2异步调用 1.3 技术选型 二、RabbitMQ 架构 2.2 收发消息 2.2.1 交换机 2.2.2 队列 2.2.3 绑定关系 2.2.4 发送消息 2.3 数据隔离 2.3.1 用户管理 2.3.2 virtual host 三、SpringAMQP 3.1 案例入门 3.1.1 导入依赖 3.1.2 消息发送 3.1.2 消…

图像识别-人脸识别与疲劳检测 - python opencv 计算机竞赛

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是…

threejs(2)-Geometry进阶详解

一、全面讲解UV与应用 在本节中&#xff0c;我们将讨论Three.js中的UV映射&#xff0c;包括UV映射的概念、与顶点位置的关系和区别以及如何在Geometry中设置UV坐标。我们将使用BufferGeometry进行示例说明。 颜色对应 什么是UV映射&#xff1f; UV映射是一种将二维纹理映…

Ubuntu系统如何进行网络连接-连接电脑局域网-物联网开发-Ubuntu系统维护

一、前言 在Ubuntu系统的维护中&#xff0c;我们常常需要对VMware中的Ubuntu虚拟机配置网络连接&#xff0c;以连接服务器下载或安装软件包以及进行网络通信等。 基于上述问题&#xff0c;本文将着重分享Ubuntu配置网络链接的若干方法。 二、网络连接模式 打开VM&#xff0c;右…

【Java 进阶篇】JavaScript 动态表格案例

在这篇博客中&#xff0c;我们将深入了解JavaScript如何创建和操作动态表格。我们将从头开始构建一个动态表格&#xff0c;并逐步添加各种功能&#xff0c;使其能够实现数据的添加、删除和编辑。这个示例将有助于理解如何在前端开发中使用JavaScript创建交互性强大的表格。 准…

网站如何优化加速,让网站降低延迟

优化网站架构 精简页面加载过程&#xff1a;通过消除冗余代码和不必要的图像&#xff0c;并采用CDN资源分发&#xff0c;以减少加载时间。 精心规划内容架构&#xff1a;通过使用恰当的标题和描述&#xff0c;使搜索引擎能够快速理解页面的内涵。 选择性能出众的前端框架&…

RT-Thread学习笔记(三):线程管理

线程管理 线程管理相关概念什么是时间片轮转调度器锁线程运行机制线程的五种状态 动态和静态创建线程区别动态和静态创建线程优缺点RT-Thread动态线程管理函数动态创建线程动态删除线程 RT-Thread静态线程管理函数静态创建线程 线程其他操作线程启动线程延时获得当前执行的线程…

Java并发面试题:(六)悲观锁和乐观锁和Java内存模型和CAS原理

悲观锁和乐观锁的区别 什么是悲观锁&#xff1f; 基本上我们理解的操作前对资源加锁&#xff0c;操作完后释放锁。说的都是悲观锁。悲观锁认为所有的资源都是不安全的&#xff0c;随时会被其他线程操作、更改。所以操作资源前一定要加一把锁、防止其他线程访问。 什么是乐观锁&…