Spring boot升级为Spring cloud配置修改(服务注册和服务发现简单案例)

sprinboot单体项目升级成springcloud项目 id是自己器的,uri:负载均衡到在nacos中注册的服务。predicates里面放上前端请求到某服务需要加上的路径。filters重写请求进服务的路径。通用依赖里面引入了 服务注册于服务发现。然后里面将文件服务里面涉及到的接口签名复制出来;打开控制台默认账号密码都是 sentinel 登录后就可以进行简单的监控了。然后默认是懒加载的,你第一次请求的时候。我将按照 引入依赖 加配置 改代码三部曲来完成模块的升级。配置了相关的端口名称,重要的是配置了nacos的地址。使用如下的启动命令启动。 阅读详情

一、Spring Boot 升级Spring Cloud

1、导入Spring Cloud相关jar包,修改pom.xml文件

备注:可能不同的Spring Boot版本会对应不同的Spring Cloud版本号,以下配置的Spring Boot版本号:
2.1.5.RELEASE

  • 在标签下,加入spring-cloud和eureka版本号
<spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
<spring-cloud-eureka.version>2.1.0.RELEASE</spring-cloud-eureka.version>
  • 导入Spring Cloud相关jar包,修改pom.xml文件
<!-- springCloud -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>${spring-cloud.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

<!-- Eureka客户端 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <version>${spring-cloud-eureka.version}</version>
</dependency>

<!-- feign远程调用,包含了ribbon负载均衡 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    <version>${spring-cloud-eureka.version}</version>
</dependency>

2、在Spring Boot启动类上加上如下注解:

@EnableDiscoveryClient // 注册服务
@EnableFeignClients // 开启远程调用(发现服务)

3、在yml配置文件中,添加eureka相关配置(如果没有应用名,还需要配置应用名)

eureka:
  client:
    service-url:
      defaultZone: http://172.16.18.72:9000/eureka
  instance:
    prefer-ip-address: true # 当其它服务获取地址时提供ip而不是hostname
    ip-address: 172.16.18.72 # 指定自己的ip信息,不指定的话会自己寻找
    lease-renewal-interval-in-seconds: 30 # 30秒检测一次心跳
    lease-expiration-duration-in-seconds: 90 # 最小过期时长,间隔90秒就准备剔除,之后60秒后执行
spring:
  application:
    name: xxxxxxxx-demo

二、案例

1、服务注册简单案例

  • 主函数添加注解
@SpringBootApplication
@EnableDiscoveryClient
public class DemoApplication {

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

}
  • yml配置
server:
  port: 9002
spring:
  application:
    name: spring-cloud-boot-provide
eureka:
  client:
    service-url:
      defaultZone: http://172.16.18.72:9000/eureka
  instance:
    prefer-ip-address: true # 当其它服务获取地址时提供ip而不是hostname
    ip-address: 172.16.18.72 # 指定自己的ip信息,不指定的话会自己寻找
    lease-renewal-interval-in-seconds: 30 # 30秒检测一次心跳
    lease-expiration-duration-in-seconds: 90 # 最小过期时长,间隔90秒就准备剔除,之后60秒后执行

  • 编写测试接口
@RestController
public class DemoController {

    @GetMapping("/demo/{name}")
    public String demo(@PathVariable String name){
        return "Hello World!" + name;
    }
}

2、服务发现简单案例

  • 主函数添加注解
@SpringBootApplication
@EnableDiscoveryClient // 注册服务
@EnableFeignClients // 开启远程调用
public class DemoConsumerApplication {

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

}
  • yml配置
server:
  port: 9003
spring:
  application:
    name: spring-cloud-boot-consumer
eureka:
  client:
    service-url:
      defaultZone: http://172.16.18.72:9000/eureka
  instance:
    prefer-ip-address: true # 当其它服务获取地址时提供ip而不是hostname
    ip-address: 172.16.18.72 # 指定自己的ip信息,不指定的话会自己寻找
    lease-renewal-interval-in-seconds: 30 # 30秒检测一次心跳
    lease-expiration-duration-in-seconds: 90 # 最小过期时长,间隔90秒就准备剔除,之后60秒后执行

  • 创建服务调用接口
@FeignClient(name = "spring-cloud-boot-provide" )
public interface ServiceFeignClient {

    //这里接口要与被生产者demo一致
    @GetMapping("/demo/{name}")
    String demo(@PathVariable("name") String name);
}

  • 编写测试接口,消费已经注册好的接口
@RestController
public class ConsumerController {
    @Autowired
    ServiceFeignClient serviceFeignClient;

    @GetMapping("/demo/{name}")
    public String index(@PathVariable("name") String name) {
        return serviceFeignClient.demo(name);
    }
}

在这里插入图片描述

记录我的SpringBoot项目拆分为SpringCloud项目流程 最近工作之余在完善自己的项目,基础业务已经七七八八结束了,打算是时候将自己的SpringBoot单体项目改造为Cloud微服务了。在此之前我也是各种查阅各方资料,现在总结记录一下单体项目转微服务的大体操作方法。 第一步:将你的项目转变为拆分为多模块项目(可以不用特别细分) 这个可以理解为(将你的常量、工具类、配置等类与你的业务代码分离,并产生层级关系) 如图中最外层的xxx_Serve是最大父文件下文中会称之为A,我们接下来回在这个父文件下生成Cloud的多模块服务。A的pom.xml(可以理解为上图倒数第 阅读详情

相关推荐

Spring Cloud入门-Consul服务注册发现与配置中心(Hoxton版本)

Spring Cloud Consul 为 SpringBoot 应用提供了 Consul的支持,Consul既可以作为注册中心使用,也可以作为配置中心使用,本文将对其用法进行详细介绍。Consul 简介Consul是HashiCorp公司推出的开源软件,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。

2501_90193795的博客 1267

如何将Springboot项目升级成Springcloud项目(有图详解)

把SpringBoot升级为SpringCloud(有图详解)

君故的博客 1万+

【Spring Cloud Alibaba】基于Spring Boot 3.x 搭建教程

本教程主要介绍如何基于搭建一个微服务项目,适合熟练使用框架,并且有进一步尝试新版本及学习搭建微服务项目的同学。致力于提供微服务开发的一站式解决方案。该项目包含开发分布式应用微服务的必需组件,方便开发者通过编程模型轻松使用这些组件来开发分布式应用服务。依托,我们只需要添加一些注解和少量配置,就可以将应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。此外,阿里云同时还提供了SpringCloudAlibaba企业版。

m0_74825502的博客 1134

springboot如何改成springcloud项目?

1. 注意: nacos服务器版本,springboot,springcloud 和springcloudAliibaba 版本一定要对应 否则项目报错或者注册不到nacos上 1. pom里加入cloud和cloudalibaba的 管理和 服务发现 的依赖 <!--springcloud ,springcloudalibaba 和 springboot 各版本对应地址如下--> <!--https://github.com/alibaba/spring-cloud.

qq_38807606的博客 7905

Spring Boot 集成 Spring Cloud 的详细教程

在 Spring Initializr 中生成一个新的 Spring Boot 项目,添加依赖 “Spring Cloud Starter Gateway” 和 “Spring Cloud Starter Netflix Eureka Client”。:在 Spring Initializr 中生成一个新的 Spring Boot 项目,添加依赖 “Spring Cloud Starter Netflix Eureka Server”。文件中配置服务的基本信息和 Eureka 服务注册中心的地址。

坚持写博客,大家的关注是我前进的动力! 1139

(二)注册服务提供者

本文介绍了如何将SpringBoot应用接入Eureka服务注册中心的步骤。首先在pom.xml中添加Spring Cloud Eureka依赖,然后改造Controller类注入DiscoveryClient以输出服务信息,在主类添加@EnableDiscoveryClient注解。接着配置application.yml,设置服务名(hello-service)和注册中心地址。启动服务后,通过注册中心控制台可看到服务注册成功的日志信息。整个过程实现了将原有SpringBoot应用改造为Eureka客户端并

ywl470812087的博客 10万+

从零搭建 Spring Cloud 微服务项目:注册中心 + 网关 + 配置中心全流程

本文面向具备 Java 基础与 Spring Boot 实战经验的开发者,以 Spring Cloud Alibaba 生态为核心,从零搭建包含注册中心、API 网关、配置中心的微服务项目,全程附带可运行代码与实操说明,读者可边读边动手实现。

lbbxmx111的博客 2833

【SpringCloud深入浅出系列】如何创建SpringCloud项目

1、新建一个空的maven项目。 2、输入项目名称及相关信息。 3、创建新模块eureka-server。 4、选择“Spring Initializr”->“Spring Cloud Discovery”->“Eureka Server” 5、完成创建模块后,再重复按第3步骤创建其它模块。 ...

邓邓子的博客 2007

springboot整合SpringCloud Nacos实现配置管理和服务发现

springboot nacos 简单搭建以及服务简单调用

MR_wb的博客 3087

一张微服务地图的十年演进:Spring Cloud 核心、扩展与工具组件的定位、原理与选型

本文把 Spring Cloud 当作一张微服务地图来读:先说明它是由 Commons 抽象层、实现层和 Boot 装配层构成的发行版,再沿一次请求梳理注册发现、负载均衡、声明式调用、容错限流、网关、配置、追踪与总线七类核心组件的原理与换代,并扩展到云平台、服务网格、消息流、批处理、安全与周边生态。仿真实测:默认参数下实例宕机平均 242 秒才被感知,优雅下线降到 47 秒;一个慢实例让轮询的 P99 达 49 秒,P2C 仅 203 毫秒。最后给出退场替代表、技术栈组合、升级路线和决策树。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 169万+

Spring Boot 在微服务中的服务注册与发现!

🏆本文收录于「滚雪球学SpringBoot」专栏,手把手带你零基础入门Spring Boot,从入门到就业,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1024

spring cloud:eureka服务发现

1.eureka服务端服务端代码@SpringBootApplication @EnableEurekaServer public class Application { public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(a

zhuchuangang的专栏 8万+

Spring Cloud Consul 服务发现

2021年,随着微服务架构、容器技术和云计算等技术的不断发展,服务发现成为各个微服务框架和平台不可或缺的一环。Apache Consul是由HashiCorp公司推出的一款开源的服务发现和配置解决方案。Spring Cloud Consul 提供了对Consul的整合支持,使得Spring Cloud应用可以方便地通过Consul实现服务注册和发现功能。本文将从以下三个方面介绍Spring Cloud Consul服务发现的相关内容。服务注册与发现。

AI天才研究院 1311

从spring boot到spring cloud(四)Spring Cloud Eureka 注册与发现

在搭建Spring Cloud Eureka环境前先要了解整个架构的组成,常用的基础模式如下图: 服务提供者:将springboot服务编写好以后,通过配置注册中心地址方式注册,提供给消费者使用

terry711的专栏 1万+

介绍Spring Cloud Consul服务发现:实现了Provider服务的消息获取方法,并在Consul注册了自己的服务。然后,我们编写了Consumer服务,通过Consul的服务发现功能

2021年,随着微服务架构、容器技术和云计算等技术的不断发展,服务发现成为各个微服务框架和平台不可或缺的一环。Apache Consul是由HashiCorp公司推出的一款开源的服务发现和配置解决方案。Spring Cloud Consul 提供了对Consul的整合支持,使得Spring Cloud应用可以方便地通过Consul实现服务注册和发现功能。本文将从以下三个方面介绍Spring Cloud Consul服务发现的相关内容。服务注册与发现。

AI天才研究院 1222

Alipay 支付唤起 h5 测试

测试地址 https://recharge.apps.oppomobile.com/recharge-center/recharge/?from=message try { //唤起客户端快捷参数 var data = {"requestType":"SafePay","fromAppUrlScheme":"alipays","dataString":"h5_ro...

六桥风月IT随笔 1万+

Spring Cloud Alibaba Nacos 服务注册发现和分布式配置中心

本文介绍了Spring Cloud Alibaba Nacos的服务注册发现和分布式配置中心功能。主要内容包括:版本适配关系,推荐使用Spring Boot 3.2.x + SCA 2023.0.1.0 + Nacos 2.3.2组合;Nacos服务端的两种部署方式(单机模式和简化生产模式);Spring Boot项目整合步骤,包括依赖添加、配置文件和启动类注解;以及动态配置中心的核心功能演示,展示了如何通过@RefreshScope实现配置热更新。文章提供了详细的配置示例和操作指导,帮助开发者快速上手Na

hbx98的博客 1000

从原理到应用:深入解析双编码器在机器人关节力矩感知中的实现

本文深入解析了双编码器方案在机器人关节力矩感知中的实现原理与应用。该方案通过在电机侧和输出侧分别安装编码器,利用两者位置差异间接高精度计算外力,克服了传统电流环精度不足和扭矩传感器成本高昂的缺点。它为实现协作机器人的丝滑拖动示教、灵敏碰撞检测以及足式机器人的动态平衡与柔顺控制提供了关键技术支撑,是目前高性能机器人力控的主流选择。

t8u9v0w1x的博客 659

服务注册与发现实战:基于Spring Cloud Commons构建高可用微服务

在现代微服务架构中,服务注册与发现是实现高可用性和弹性的关键技术。Spring Cloud Commons作为Spring Cloud生态系统的核心基础模块,为微服务架构提供了统一的服务注册与发现抽象接口,让开发者能够轻松构建高可用的分布式系统。本文将深入探讨如何使用Spring Cloud Commons实现高效的服务注册与发现机制,帮助您快速掌握微服务架构的核心技术。 ## 📋 什么是Sp

gitblog_01040的博客 721

Selenium自动化测试遇到shadow-root元素?3种实用解决方案帮你搞定

本文针对Selenium自动化测试中遇到shadow-root元素难以定位的常见问题,提供了三种实用的解决方案。详细阐述了通过JavaScript直接穿透Shadow DOM、利用浏览器工具快速获取JS Path以及使用Python第三方库进行优雅封装的方法,并分享了提升脚本健壮性的实战策略与最佳实践,帮助测试人员有效应对现代Web组件化开发带来的挑战。

code8的博客 408

重磅!AI实时读取总结微信聊天记录,附MCP协议+智能体配置教程!

【摘要】本文介绍了一套AI实时分析微信聊天记录的解决方案,通过Chatlog+Trae+MCP协议实现智能整理群聊信息。Chatlog作为开源工具本地解析微信数据,确保隐私安全;Trae提供AI分析能力,支持自然语言处理。操作步骤包括:1)下载运行Chatlog并启动HTTP服务;2)安装Trae配置MCP协议;3)创建智能体设置提示词。该方案虽需初始配置,但能有效解决群聊信息过载问题,自动提炼关键内容,避免有价值信息被淹没。文中提供了详细教程链接和网盘资源。

puyihuan的博客 1万+
上一篇: Linux完全离线RPM安装NTP(时间同步)服务器及基本配置
下一篇: SpringCloud多数据源接入Seata和ShardingJDBC最佳实践
AJiong93
博客等级 码龄10年 95粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值