Spring boot 应用引入 Spring cloud alibaba nacos

Spring boot 应用引入 Spring cloud alibaba nacos

码农世界 2024-05-22 后端 65 次浏览 0个评论

Spring boot 应用引入 Spring cloud alibaba nacos

  • 1. 引入pom依赖
  • 2. 配置文件(bootstrap.yml)
  • 3. 配置中心配置建议
  • 4. 注册中心
    • 4.1 服务注册
    • 4.2 服务发现

      1. 引入pom依赖

      要在Spring Boot应用中引入Spring Cloud Alibaba的依赖以及Nacos的依赖,您可以按照以下步骤在pom.xml文件中添加相应的依赖:

      首先,在pom.xml文件中添加Spring Cloud Alibaba BOM(Bill of Materials)依赖管理,这将统一管理Spring Cloud Alibaba的依赖版本:

      
          
              
                  com.alibaba.cloud
                  spring-cloud-alibaba-dependencies
                  2.2.3.RELEASE
                  pom
                  import
              
          
      
      

      然后,在dependencies部分中,添加Spring Cloud Alibaba的具体依赖,以及Nacos的依赖:

      
          
          
              com.alibaba.cloud
              spring-cloud-starter-alibaba-nacos-discovery
          
          
          
              com.alibaba.cloud
              spring-cloud-starter-alibaba-nacos-config
          
          
          
      
      

      通过这些步骤,您的Spring Boot应用就可以成功引入Spring Cloud Alibaba的依赖,并且使用Nacos作为服务发现和配置中心。记得执行mvn clean install来下载依赖并构建项目。

      2. 配置文件(bootstrap.yml)

      配置文件配置nacos集群地址,注册中心和配置中心相关配置

      server:
        port: 8001
      spring:
        profiles:
          active: dev
        application:
          #项目名称必填,在注册中心唯一
          #最好和之前域名规范、kubernetes service名等保持一致(会作为调用)
          name: app
        cloud:
          nacos:
            config:
              file-extension: yaml
              namespace: app-${spring.profiles.active}
              group: app-group
              shared-configs:
                - data-id: app-common.yaml
                  group: app-group
                  refresh: true
            discovery:
              namespace: app-${spring.profiles.active}
            server-addr: your-nacos-cluster-server-ip1:8848,your-nacos-cluster-server-ip2:8848,your-nacos-cluster-server-ip3:8848
      

      3. 配置中心配置建议

      • 命名空间:用于设置项目
      • Group: 用于设置应用
      • Data ID: 具体配置,可以按profile设置不同的文件

        4. 注册中心

        4.1 服务注册

        启用Nacos服务注册:在Spring Boot应用程序的启动类上添加@EnableDiscoveryClient注解,以启用Nacos服务注册功能。

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

        运行你的应用程序,它将会自动注册到Nacos注册中心。

        如果使用tomcat方式启动应用,应用无法自动注册到nacos,可参考Spring Boot 构建war 部署到tomcat下无法在Nacos中注册服务解决。

        4.2 服务发现

        使用OpenFeign调用服务可以简化REST API的调用过程。以下是使用OpenFeign调用服务的基本步骤:

        1. 添加依赖:确保在项目中添加OpenFeign的依赖。在Maven项目中,可以添加如下依赖:
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        
        
        1. 创建Feign客户端接口:定义一个接口,用于声明需要调用的远程服务的方法。
        import org.springframework.cloud.openfeign.FeignClient;
        import org.springframework.web.bind.annotation.GetMapping;
        @FeignClient(name = "service-name") // 指定要调用的服务名称
        public interface MyFeignClient {
            @GetMapping("/endpoint") // 定义需要调用的接口路径
            String getEndpointData();
        }
        
        1. 注入Feign客户端接口:在需要调用服务的类中注入Feign客户端接口。
        import org.springframework.beans.factory.annotation.Autowired;
        import org.springframework.stereotype.Service;
        @Service
        public class MyService {
            @Autowired
            private MyFeignClient feignClient;
            public String fetchDataFromService() {
                return feignClient.getEndpointData();
            }
        }
        
        1. 调用远程服务:在需要调用远程服务的地方使用注入的Feign客户端接口来调用服务。
        String data = myService.fetchDataFromService();
        

        通过上述步骤,你可以使用OpenFeign轻松地调用远程服务。OpenFeign会处理负载均衡、服务发现等工作,使得远程服务调用变得更加简单和方便。

转载请注明来自码农世界,本文标题:《Spring boot 应用引入 Spring cloud alibaba nacos》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,65人围观)参与讨论

还没有评论,来说两句吧...

Top