spring cloud alibaba入门demo

搭建Spring Cloud Alibaba Nacos Demo(配置中心+注册中心) 背景 因为eureka停止更新,而nacos既可以作为注册中心又可以作为配置中心,公司准备将用nacos替代eureka和config。虽然以前学习过nacos,但只是简单了解而且时间久远,有些遗忘,写一个demo复习下,后面迁移可以用到。 介绍 Nacos是阿里巴巴的开源项目,支持服务发现和服务健康监测、动态配置服务等,相当于Eureka+Spring Cloud Config。Eureka支持支持AP模式,而Nacos支持AP和CP模式两种模式。 官方文档及下载地址 官方文档 github下载nacos 阅读详情

一、搭建环境

1.1 安装Nacos

下载解压启动
bin/startup.sh -m standalone
访问
ip:8848/nacos/#/login

1.2 构建环境

创建环境,引入依赖

    <!--  只声明依赖,不引入依赖  -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

二、开始

2.1 服务注册

2.1.1 引入依赖
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>

2.1.2 启动nacos 客户端
@SpringBootApplication
@EnableDiscoveryClient
public class UserManagerApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserManagerApplication.class,args);
    }
}

2.1.3 配置文件

位置在:src\main\resources\application.yml

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.88.51:8848
  application:
    name: ordermanager
server:
  port: 8080

2.2 配置中心

2.2.1 引入依赖
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2.2.2 配置

在src\main\resources创建配置文件 bootstrap.yml

spring:
  application:
    name: ordermanager
  cloud:
    nacos:
      config:
        server-addr: 192.168.88.51:8848

2.2.3 发布配置

在nacos 中发布 Data Id 为**${appllication-name}.${file-extension}** 的配置文件

user.id=1
user.name=james
user.age=23

2.2.4 注入配置
@RestController
@RefreshScope //实时刷新
public class SampleCroller {
    @Value("${user.name}")
    String userName;
    @Value("${user.age}")
    int age;

    @RequestMapping("/user")
    public String simple() {
        return "Hello Nacos Config!" + "Hello " + userName + " " + age ;
    }
}

2.3 服务调用

2.3.1 引入依赖
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>

2.3.2 启用openfien 客户端
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class UserManagerApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserManagerApplication.class,args);
    }
}

2.3.3 服务调用

客户端代码

@Component
@FeignClient("ordermanager")
public interface OrderManager {
    @RequestMapping("/user")
    public String getConfig();
}

服务端代码

@RestController
@RefreshScope
public class SampleCroller {
    @Value("${user.name}")
    String userName;
    @Value("${user.age}")
    int age;

    @RequestMapping("/user")
    public String simple() {
        return "Hello Nacos Config!" + "Hello " + userName + " " + age ;
    }
}

2.4 服务网关

2.4.1 引入依赖
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
            <version>2.2.2.RELEASE</version>
            <exclusions>
                <exclusion>
                    <artifactId>spring-web</artifactId>
                    <groupId>org.springframework</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>spring-boot-starter-webflux</artifactId>
                    <groupId>org.springframework.boot</groupId>
                </exclusion>
            </exclusions>
        </dependency>

2.4.2 配置路由
spring:
  cloud:
    gateway:
      routes:
        - id: test_route
          uri: https://www.baidu.com
          predicates:
            - Query=url,baidu

        - id: qq_route
          uri: https://www.qq.com
          predicates:
            - Query=url,qq

附上github地址: https://github.com/RoundYuanYuan/springcloudalibabademo
手把手教你在 IDEA 中创建一个 Spring Cloud Alibaba 工程(一) Spring Cloud Alibaba 为分布式应用开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用 Spring Cloud 开发应用程序。 使用Spring Cloud Alibaba,您只需添加一些注解和少量配置,即可将Spring Cloud应用连接到阿里巴巴的分布式解决方案,并通过阿里巴巴中间件构建分布式应用系统。 阅读详情

相关推荐

SpringCloudAlibaba完整demo

本demo集成SpringCloudAlibaba中注册中心、配置中心、链路追踪、分布式事务、Feign远程调用、网关 链接:https://download.youkuaiyun.com/download/caidingnu/26991183

蔡定努 1811

springCloudAlibaba简单demo框架

此demo纯属个人研究,大佬请勿喷 架构使用springboot、mybatisplus、注册中心采用nacos。分为geteway网关--->服务生产者(期间并没有加服务消费者以及服务降级) 1、第一步建立maven父模块 命名为cloud-demo以下是父模块pom依赖 ​ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i

qq_40717036的博客 2842

SpringCloudAlibaba 完整的demo

SpringCloudAlibaba 示例包含:seata分布式事务、Feign远程调用、gateway网关、中注册中心、配置中心、链路追踪。

SpringCloud Alibaba Demo(Nacos,OpenFeign,Gatway,Sentinel)

SpringBoot、SpringCloud 、SpringCloud Alibaba 以及各种组件存在版本对应关系。可参考下面版本对应。

QQ:690217293 1413

RT-Thread实战:手把手教你用STM32F04ZGT6通过SPI驱动BMI088(附完整工程)

本文详细介绍了如何使用RT-Thread操作系统在STM32F04ZGT6上通过SPI接口驱动BMI088高性能6轴惯性传感器(包含陀螺仪和加速度计)。从硬件连接到软件配置,再到数据采集与处理,提供了完整的开发指南和优化技巧,帮助开发者快速实现精确的姿态测量功能。

kappa的博客 236

论文理解【LLM-Clarification】—— 【QDrawer】Asking the Right Question at the Right Time: Human and Model Unce

本文基于 CoDraw 任务对 LLM 澄清提问的触发方式进行探索,发现模型内部不确定性与人类澄清决策相关性弱,使用不确定性阈值触发澄清提问相比模仿人类提问时机,性能和计算效率都更好

佚失的诗篇 770

Spring Cloud Alibaba入门实践(一)-demo项目构建

既然是要实践Spring Cloud Alibaba,那么简单的划分出几个微服务模块是必须的,以下用来测试实践Spring Cloud Alibaba的几个模块如下: mall-common:公共模块,主要放些服务间共用的实体类,公共的工具类等。 mall-user:用户微服务,分配端口为10000~10009,方便之后多实例测试。 mall-product:商品微服务,分配端口为10010~10019,方便之后多实例测试。 mall-order:订单微服务,分配端口为10020~10029,方便之后多实例

硅脂味咖啡的博客 1508

静态时序分析(Static Timing Analysis, STA):简介及内容导航

静态时序分析(简称STA)是用来验证数字设计时序的技术之一,另外一种验证时序的方法是时序仿真,时序仿真可以同时验证功能和时序。“时序分析”这个术语就是用来指代“静态时序分析“或”时序仿真“这两种方法之一,简单来说,时序分析的目的就是为了解决设计中的各种时序问题。STA被称为静态的原因是其对于设计的分析是静态地执行的,并不依赖于施加在输入端口上的激励。相比之下,时序仿真则可以被视作动态地执行对设计的分析,具体过程描述如下:施加一组激励,观察在这组激励下电路行为是否符合要求,然后换一组激。

Starry__的博客 1989

快速入门Spring AI Alibaba

本文主要内容为Spring AI Alibaba的快速入门demo,基于Spring Boot集成Spring AI Alibaba并完成一个简单的对话模型。

weixin_46425661的博客 1363

1.5元主控搞定高精度电流电压采集?STC8G1K08+INA180A3硬件设计全解析

本文详细解析了如何利用成本仅1.5元的STC8G1K08单片机与INA180A3电流检测放大器,构建一套高精度、低成本的电流电压采集系统。文章深入剖析了硬件设计精髓,包括利用MCU内部上拉电阻直驱数码管以节省成本、INA180A3的配置与计算,以及实现高频率采集并与上位机高速通信的软件策略,为嵌入式开发中的极致性价比设计提供了完整方案。

weixin_29166013的博客 600

Geant4 学习笔记(一):实现multi-thread多线程

简单修改实现Geant4多线程

weixin_52417815的博客 6084

SpringCloud2-入门

services的子模块service-product1、service-order1。

m0_73902080的博客 354

gRPC之gRPC开发流程与入门案例

gRPC之gRPC开发流程与入门案例

YIYIYI 3759

基于spring cloud alibaba搭建微服务架构demo

本文介绍了基于JDK1.8环境搭建SpringCloud Alibaba微服务框架的过程。集成的主要组件包括:Nacos作为注册中心、Gateway实现API网关、OpenFeign处理服务调用、Seata管理分布式事务、Sentinel提供限流熔断功能、RocketMQ实现消息通信。文章详细说明了各组件配置步骤,包括版本选择、依赖引入、配置文件修改等关键操作。本项目为基于SpringCloud Alibaba的微服务架构提供了完整的搭建指南。

开源、分享、成长 371

PostgreSQL 异常排查:读取流时发生异常 (x80004005)

通过以上步骤,您应该能够解决在 .NET Core 中与 PostgreSQL 数据库进行交互时出现异常 (x80004005) 的问题。确保数据库连接正确,查询语句准确,并使用兼容的驱动程序版本。如有必要,可以捕获异常并查看详细的错误信息,以便更好地排查问题。在使用 .NET Core 开发应用程序时,如果在与 PostgreSQL 数据库进行交互时遇到异常,例如在读取数据流时发生异常 (x80004005),我们需要进行排查和修复。另外,还可以尝试捕获异常并打印异常信息,以便更好地了解问题所在。

XwlyVue的博客 1621

【部署】Ubuntu 24.04.4虚拟机下部署OpenClaw

OpenClaw是一款基于AI的智能助手工具,本文详细介绍了在Ubuntu 24.04.4系统上的三种安装方法。推荐使用一键安装脚本(curl -fsSL https://openclaw.ai/install.sh | bash),自动完成Node.js检测、CLI安装和引导配置。对于开发者,提供了从源码构建的详细步骤,包括环境准备、依赖安装和构建流程。文章还包含常见问题解决方案(如sharp构建错误处理)以及后续维护建议(更新、配置检查和日志查看)。安装完成后,用户可通过终端TUI或Web UI进行初始

海兰 1万+

尚硅谷 SpringCloud 01 分布式概念-工程创建-nacos安装-nacos服务注册与发现-远程调用-负载均衡注解版-配置中心-动态刷新-环境隔离

可能是因为使用的是 Spring Cloud Alibaba 2021.0.1.0 及以上版本,该版本对服务注册的注解做了简化 ——无需显式添加 @EnableDiscoveryClient,只要引入了 Nacos 注册中心的依赖并配置了 spring.cloud.nacos.server-addr,微服务就会自动注册到 Nacos。实现自定义服务调用:结合获取到的实例信息,可手动实现 HTTP 调用(如使用 RestTemplate),灵活控制服务调用的逻辑(如自定义负载均衡策略)。

Tianwen55的博客 750

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SpringCloud 极简 Demo 实战:100 行代码实现 “服务注册 + 接口调用”,零基础也能懂的入门案例

本文为SpringCloud零基础入门指南,通过100行核心代码实现极简微服务Demo,包含Nacos注册中心、服务生产者和消费者。核心逻辑是服务注册与调用:服务启动时向Nacos注册,消费者通过服务名调用生产者接口。技术选型采用SpringCloudAlibaba+Nacos,轻量易用。文章详细拆解了环境准备、代码实现和核心原理,并提供了常见问题解决方案。通过这个Demo,读者可以快速理解SpringCloud的基本工作原理,为后续进阶学习打下基础。全文聚焦核心流程,避免冗余代码和复杂配置。

qq_40303030的博客 1666

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spring Cloud Alibaba Nacos 入门

概览 阿里巴巴在2018年7月份发布Nacos, Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。并表示在6-8个月完成到生产可用的0.8版本,目前版本是0.9版本。 Nacos提供四大功能 服务发现和服务健康检查 Nacos使服务更容易注册自己并通过DNS或HTTP接口发现其他服务。Nacos还提供服务的实时健康检查,以防止向不健康的主机或服务实例发送请求。 ...

程序员果果的博客 278

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

spring cloud alibaba的demo

本项目是基于Spring Cloud Alibaba的微服务学习项目,包含服务提供者(Provider)和服务消费者(Consumer)两个模块。采用Nacos作为服务注册中心,Sentinel实现熔断限流保护,通过OpenFeign进行服务间调用。项目展示了微服务架构的核心组件及实现方式,包括服务注册发现、负载均衡、REST接口开发等。技术栈包括Spring Boot 3.3.4、Spring Cloud 2023.0.3、Nacos 2.2.0等,为开发者提供了完整的微服务实践示例。

winter_zlh的博客 1136

Alibaba Spring Cloud 入门指南

Alibaba Spring Cloud 是基于 Spring Cloud 的微服务解决方案,由阿里巴巴开源并贡献给 Spring 社区。它提供了丰富的组件和工具,帮助开发者快速构建分布式系统和微服务架构

格子先生Lab的博客 1149

【亲测免费】 Spring Cloud & Spring Cloud Alibaba学习Demo教程

Spring Cloud & Spring Cloud Alibaba学习Demo教程 1. 项目的目录结构及介绍 cloud-learn/ ├── common-utils/ ├── gateway/ ├── user-consumer/ ├── user-openfegin-consumer/ ├── user-service/ ├── .gitignore ├── LICENSE ├...

gitblog_00964的博客 1159

Spring Cloud Alibaba快速入门

本文介绍了微服务架构的优势与挑战,对比了Spring Cloud与Spring Cloud Alibaba的关系,并系统梳理了架构演进过程:从单体架构到集群架构,最终发展为分布式架构。文章详细分析了每种架构的优缺点,单体架构简单但扩展性差,分布式架构灵活但复杂度高。

weixin_46425661的博客 967

Spring Cloud Alibaba 快速学习之 RocketMQ

RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。

D_J_Dragon的博客 2623

spring cloud alibaba 全家桶详细整合

naocs:注册中心、配置中心 sentinel:流控防护 spring gateway::网关 sleuth+zipkin:分布式追踪系统 openfeign:服务之间调用 skywalking:链路追踪 seata:分布式事务 spring security:权限控制 oauth2:授权机制

itboy 9231
上一篇: 【JVM调错】由于GC导致生产环境高CPU错误
下一篇: 安装clickhouse-mysql 报错 error: ‘for’ loop initial declarations are only allowed in C99 mode
Round_Yuan
博客等级 码龄10年 26粉丝 78原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值