[000-01-008].第01节:Nacos开发应用

news2024/11/16 16:30:56

我的后端学习大纲

SpringCloud学习大纲


2.Nacos功能:

Nacos可以作为服务的注册中心,也可以作为服务配置中心:

  • 服务发现与服务健康检查:Nacos使服务更容易注册,并通过DNS或HTTP接口发现其他服务,Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。
  • 服务配置中心:动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新 部署应用程序,这使配置的更改更加高效和灵活。
  • 动态DNS服务 :Nacos提供基于DNS 协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos上的服务以 域名的方式暴露端点,让三方应用方便的查阅及发现。
  • 服务和元数据管理:Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略。 这里动态配置管理的特性说明了Naocs的配置管理能力

2.2.官方说明文档:

  • Nacos说明开发文档
    在这里插入图片描述

2.3.Nacos作为注册中心进行环境搭建:

基于Nacos的服务提供者

  • 新建Module:cloudalibaba-provider-payment9001
    在这里插入图片描述
  • 改pom:父pom和本模块pom
//本模块pom
<?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>cloud2022</artifactId>
        <groupId>com.atguigu.springcloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>cloudalibaba-provider-payment9001</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>


    <dependencies>
        <!--SpringCloud ailibaba nacos -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!-- SpringBoot整合Web组件 -->
        <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>
        <!--日常通用jar包配置-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
  • 写YML
    在这里插入图片描述
server:
  port: 9001

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


management:
  endpoints:
    web:
      exposure:
        include: '*'
  • 主启动
    在这里插入图片描述
package java.com.atguigu.springcloud.alibaba;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @author jianqun
 * @email:1033586391@qq.com
 * @creat 2022-01-07-13:57
 */
@EnableDiscoveryClient
@SpringBootApplication
public class paymentMain9001 {
    public static void main(String[] args) {
        SpringApplication.run(paymentMain9001.class,args);
    }
}
  • 业务类
    在这里插入图片描述
package java.com.atguigu.springcloud.alibaba.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author jianqun
 * @email:1033586391@qq.com
 * @creat 2022-01-07-14:02
 */
@RestController
public class PaymentController {
    @Value("${server.port}")
    private String serverPort;

    @GetMapping(value = "payment/nacos/{id}")
    public String getPayment(@PathVariable("id") Integer id){
        return "nacos register,serverport:" + serverPort + "\t id"+ id;
    }

}
  • 启动服务,进行测试
    在这里插入图片描述

3.3.基于Nacos的服务消费者

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

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

相关文章

无人机遥控器工作原理!!!

一、基本组成 无人机遥控器通常由发射端&#xff08;遥控器本体&#xff09;和接收端&#xff08;安装在无人机上的接收模块&#xff09;两部分组成。发射端包含控制杆、按钮、显示屏等物理控件&#xff0c;用于输入控制指令&#xff1b;接收端则负责接收来自发射端的无线电信…

机器人外呼的具体操作步骤是怎样的?

今天小编给大家整理一下几点关于使用AI机器人拨打电销电话的具体步骤可以归纳为以下几个关键环节&#xff1a; ​ ### 一、选择合适的AI机器人服务 1. **平台选择**&#xff1a; - 选择一个提供AI机器人拨打电话服务的平台&#xff0c;这可以是云端的AI电话机器人服务&#…

关于docker-maven-plugin在arm架构的机器上制作镜像报错

背景 客户环境提供的容器集群全是arm架构&#xff0c;因此打包时要在arm架构的电脑上来制作镜像&#xff0c;本人使用mac m3芯片macbook&#xff0c;但是执行mvn clean package -D maven.test.skiptrue docker:build 命令时报错&#xff0c;报错信息如下&#xff1a; Caused …

数据分析及应用:如何分析基于绝对中位差的异常值检测问题?

目录 0 场景描述 1 数据准备 2 问题分析 abs(rn - (cnt+1)/2) < 1 3 小结 0 场景描述 数据集中可能存在异常的值。值存在异常有多种原因: (1)可能是数据收集方式有问题,比如记录值的仪表存在误差;(2)可能是数据输入错误导致的;(3)还可能是因为数据生成时环境…

基于web 在线影院系统网站设计与实现

3.1 系统基本情况描述 在线影院系统需要实现的功能包括用户的管理&#xff0c;以及视频信息的管理和使用等。具体来讲&#xff0c;它包含用户管理中常见的注册、登录操作&#xff0c;视频信息的显示、播放、搜索操作&#xff0c;视频管理中的添加、删除、修改等。同时为了方便…

【VScode环境配置】在VScode中配置php环境(wamp版)

1.前置准备 1.wamp&#xff08;集成环境&#xff09; 2.Visual Studio Code 2.系统变量配置 1.打开php所在路径&#xff1a; 一般在你所安装的wamp的bin目录文件夹下。wamp可以自定义安装路径&#xff0c;每个人的位置不一样&#xff0c;这里是拿作者的路径作为演示。 C:…

Golang | Leetcode Golang题解之第382题链表随机节点

题目&#xff1a; 题解&#xff1a; type Solution struct {head *ListNode }func Constructor(head *ListNode) Solution {return Solution{head} }func (s *Solution) GetRandom() (ans int) {for node, i : s.head, 1; node ! nil; node node.Next {if rand.Intn(i) 0 { …

mysql与es数据同步

同步方案 1. 同步双写 同步双写是一种数据同步策略&#xff0c;它指的是在主数据库&#xff08;如MySQL&#xff09;上进行数据修改操作时&#xff0c;同时将这些修改同步写入到ES中。这种策略旨在确保两个数据库之间的数据一致性&#xff0c;并优化系统的读写性能。 目标 …

es映射配置(_mapping)

文章目录 1、创建映射字段2、查看映射关系 1、创建映射字段 PUT /索引库名/_mapping {"properties": {"字段名": {"type": "类型","index": true&#xff0c;"store": true&#xff0c;"analyzer": &q…

python-矩阵交换行

[题目描述] 给定一个 55 的矩阵(数学上&#xff0c;一个 rc 的矩阵是一个由 r 行 c 列元素排列成的矩形阵列)&#xff0c;将第 n 行和第 m 行交换&#xff0c;输出交换后的结果。输入&#xff1a; 输入共 6 行&#xff0c;前 5 行为矩阵的每一行元素&#xff0c;元素与元素之间…

行业Know How在AI提示词中的重要性

现在AI这玩意儿可是火得不得了,ChatGPT、Claude这些大语言模型简直是让人眼花缭乱。可是呢,你要是不会用,那就跟给猴子一部iPhone有啥区别? 咱得明白,这AI不是神仙,它也是需要"调教"的。 你给它的提示词就像是给小孩子布置作业,说得不清不楚,它可能就给你整出些稀奇…

NPC框架

NPC框架在不同领域可能有不同的含义和应用。在软件开发和游戏设计领域,NPC(Non-Player Character,非玩家角色)框架通常与角色控制、行为模拟和交互逻辑等方面相关。以下是对NPC框架的一种概括性解释: NPC框架概述 定义: NPC框架是指在软件开发或游戏设计中,用于创建、…

深入探索.NET Flyleaf的高级特性与最佳实践

文章目录 前言一、高级特性1.强大的扩展性2.高性能3.易开发4.广泛兼容性5.自定义性强6.多语言支持 二、最佳实践1.定制化界面开发2.性能优化3.插件集成4.跨平台部署5.安全性考虑 三、应用案例1.案例一&#xff1a;个人媒体中心2.案例二&#xff1a;教育平台3.案例三&#xff1a…

国内首批!文心快码获中国信通院评测AI智能编码工具4+级

&#x1f381;&#x1f449;点击进入文心快码 Baidu Comate 官网&#xff0c;体验智能编码之旅&#xff0c;还有超多福利&#xff01;&#x1f381; 国内首批&#xff01;文心快码获中国信通院评测AI智能编码工具4级 在当下这个快节奏的开发时代&#xff0c;每一个程序员都在追…

爆肝熬夜整理出来的百道Python基础必刷题!(附加源码和答案)

一、前言 一个python入门初学者如何学代码,读代码和写代码&#xff0c;我想学代码不知道方向谁能给我指明一个方向?对于c语言来说&#xff0c;要记得东西其实不多&#xff0c;基本就是几个常用语句加一些关键字而已。你所看到的那些几千甚至上万行的代码&#xff0c;都是用这…

零基础学习Redis(9) -- set类型命令使用

set&#xff0c;即集合和list类似&#xff0c;集合中的每个元素都是string类型&#xff0c;但是集合中的元素是无序且不能重复的 1. 增删查操作 1.1 增加元素 sadd key member1 menber2 ... 在key中添加一个或多个menber1 &#xff0c;返回添加成功的数量&#xff0c;添加每…

ZW3D二次开发_UI_ZsCc::OptionRadios控件回调

1.ZW3D中的OptionRadios控件如何实现点击触发回调并且获取点击后的值&#xff1f;如下图 2.教程如下&#xff1a; 1&#xff09;添加OptionRadios控件到表单中 2&#xff09;增加radio按钮 3&#xff09;添加回调 4&#xff09;编写回调函数 int radioCallbackDemo(char* for…

OpenHarmony 实战开发——应用HAP包签名

背景 OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;应用如果需要对外发布就必须要通过应用签名&#xff0c;DevEco Studio已提供自动签名功能加速应用开发&#xff0c;但自动签名仅限于debug开发&#xff0c;如需对外发布则必须完成release签名。 在…

USR-DR134有人网关如何对接到ThingsPanel

本指南将帮助您使用有人口红串口服务器USR-DR134/USR-DR132将断路器接入ThingsPanel平台。这款创新的超小体积导轨式单串口服务器能够实现RS485/RS232转以太网的双向透传功能&#xff0c;是连接断路器与物联网平台的理想选择。 设备介绍&#xff1a; 口红串口服务器USR-DR134…

Juniper防火墙与交换机trunk配置

拓扑图 防火墙配置 set interfaces ge-0/0/1 description To_INET set interfaces ge-0/0/1 enable set interfaces ge-0/0/1 vlan-tagging set interfaces ge-0/0/1 unit 97 description To_INET set interfaces ge-0/0/1 unit 97 vlan-id 97 set interfaces ge-0/0/1 unit 9…