springcloud微服务nacos注册中心

一、不做云端配置nacos使用

  1. 添加nacos依赖坐标
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
  2.  在启动类上添加nacos注解
    @SpringBootApplication
    @EnableDiscoveryClient//nacos客户端
    public class TestApplication {
        public static void main(String[] args) {
            ConfigurableApplicationContext run = SpringApplication.run(TestApplication.class, args);
        }
    }
  3.  编写yml文件配置nacos注册中心
    server:
      port: 8080
    spring:
      application:
        name: test_nacos # 注册中心服务名
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848 #nacos 地址
      main:
        allow-bean-definition-overriding: true
  4.  启动程序,打开nacos页面 127.0.0.1:8848/nacos/index.html  可以看到注册中心上已经出现我们自己的微服务ac4ac751472140a6bf88f5a0fdb01d70.png
  5.  创建新环境56e0906c3a5c4a24b30307f7eba0aed9.png
  6.  起名 直接点击确定05a9f0108a704f4e8002aec27d4cc8a0.png
  7.  可以看到已经多了一个环境7d5c674517d6417291815b3e0142b3b0.png
  8. 重新配置yml文件中nacos 将test命名空间id复制
    server:
      port: 8080
    spring:
      application:
        name: test_nacos # 注册中心服务名
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848 #nacos 地址
            namespace: 288ab652-d4bc-4500-b081-11b317fdbfec #你自己的test环境id
  9.  可以看到test环境中出现微服务a199b7df511d4686a1fafcde3a41f835.png
  10. 可以点击详情查看配置 

二、云端微服务配置,bootstrap中配置nacos

  1. 添加nacos依赖坐标
        <!--nacos-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
        
        <!--nacos 配置 如果没用bootstrap 不用加 加了必错-->
    		<dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            </dependency>
  2.  启动项注解和之前一样
  3. 编写bootstrap文件来配置云端nacos 
    spring:
      application:
        name: test_nacos # 注册中心服务名
      cloud:
        nacos:
          config:
            file-extension: yaml #格式
            server-addr: 127.0.0.1:8848 #地址
            group: test_group #分组
            # namespace: #环境id
  4.  在nacos界面添加微服务配置8cb276050dd640079e66755c621b09a3.png
  5.  编写配置d6029c1dc9144009a8b62a44812751cc.png
  6.  点击发布,启动微服务项目,查看启动日志7f0278a7be124bf58d004be5660dc78c.png默认启动端口是8080,这里是9999已经是走云端nacos中配置

三、nacos集群

  1. 这里需要配置nacos                                                                                                                             febb1fcf01ca40c090556091e42f33d3.png
    1. application.properties625d86f731e6496090cf692f1b6d1975.png
    2. application.properties.example224dd20a45364644a9e83483e84898f1.png
    3. cluster.confe06de6d2262748e781e94a1847a6e7cd.png
  2. 逐一启动4个nacos 集群启动命令:startup.cmd -m cluster

  3.  查看nacos界面 集群状态26c9f6d48cc748028bfd82aab56096a4.png
  4.  重新配置yml文件,nacos集群
    server:
      port: 8080
    spring:
      application:
        name: test_nacos # 注册中心服务名
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850,127.0.0.1:8851
  5. 启动微服务项目之后查看服务列表e669d7e096ae4cbda215b74ab97c5a99.pngf1778dac42ef4abc90ca88fac9346a42.png72a0696d2f5046f093e81b60f773e38f.pnga25a914df7c341638b7697434d0b6de7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Cloud微服务架构中,Nacos是一个注册中心和配置中心。Feign是一个声明式的Web服务客户端,它使得编写Web服务客户端变得更加容易。 使用Feign调用接口需要以下步骤: 1. 在pom.xml中添加Feign依赖 ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> ``` 2. 在启动类上添加@EnableFeignClients注解启用Feign客户端 ```java @SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 3. 创建接口,并使用@FeignClient注解指定调用的服务名称和服务路径 ```java @FeignClient(name = "service-provider") public interface UserService { @GetMapping("/user/{id}") String getUserById(@PathVariable("id") Long id); } ``` 其中,name属性指定服务名称,GetMapping注解指定服务路径。 4. 在需要使用该服务的地方注入UserService并调用方法即可 ```java @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/user/{id}") public String getUserById(@PathVariable("id") Long id) { return userService.getUserById(id); } } ``` 在这个例子中,我们定义了一个名为UserService的Feign客户端,指定了调用的服务名称和服务路径。然后在UserController中注入了UserService并调用了其方法。最终,Feign会自动将该请求转发到名为service-provider的微服务,并返回结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值