千家信息网

Spring Cloud Alibaba如何使用nacos注册中心

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章给大家分享的是有关Spring Cloud Alibaba如何使用nacos注册中心的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。spring-cloud-alib
千家信息网最后更新 2026年10月31日Spring Cloud Alibaba如何使用nacos注册中心

这篇文章给大家分享的是有关Spring Cloud Alibaba如何使用nacos注册中心的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

spring-cloud-alibaba-basis 创建基础依赖

首先我们创建一个spring-cloud-alibaba-basis 基础依赖 工程里面制定我们要用到的公用的版本

  • spring boot 版本 2.1.7.RELEASE

  • spring cloud 版本 Greenwich.RELEASE

  • spring cloud 阿里巴巴的版本 2.1.0.RELEASE

  • Spring IO Platform 版本依赖

   4.0.0    com.xian.cloud    spring-cloud-alibaba-basis    pom    1.0-SNAPSHOT    spring cloud alibaba 总pom    spring cloud alibaba 教程总pom版本控制            cloud-discovery-server        cloud-discovery-client-common                                                                UTF-8        1.8        1.8        1.8                2.1.0.RELEASE        Greenwich.RELEASE        2.1.7.RELEASE        Cairo-SR8                                                        com.alibaba.cloud                spring-cloud-alibaba-dependencies                ${spring-cloud-alibaba.version}                pom                import                                                    org.springframework.boot                spring-boot-dependencies                ${spring-boot.version}                pom                import                                                    org.springframework.cloud                spring-cloud-dependencies                ${spring-cloud.version}                pom                import                                                    io.spring.platform                platform-bom                ${spring-platform.version}                pom                import                                                                        com.alibaba.cloud            spring-cloud-starter-alibaba-nacos-discovery                            org.springframework.boot            spring-boot-starter-web                            org.projectlombok            lombok            true            

Spring IO Platform 这个jar包有兴趣的同学可以去关注一下他里面进行了第三方常用jar包的版本管理。每个spring 对应的第三方jar版本都罗列在上面了。这样方便我们对于第三方jar包的版本管理。#为了解决jar包版本冲突而存在 sping boot 除了提供我们熟知的 方式以外 还有spring-boot-dependencies 依赖方式。

这样我们在新建俩个module

服务提供者 cloud-discovery-server

          com.xian.cloud        spring-cloud-alibaba-basis        1.0-SNAPSHOT        cloud-discovery-server    服务提供者    服务提供者

因为我们在父类的pom里面定义了公共依赖的jar包,所以我们不需要再次引入jar包只需要制定parent pom就可以继承这些jar包。同样下面的消费者服务我也会同样如此利用maven的jar包传递方式进行案例的开发

创建服务启动类 和对外服务的controller 类

  • 启动类

package com.xian.cloud;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/** * @Author: xlr * @Date: Created in 2:44 PM 2019/10/27 */@EnableDiscoveryClient@SpringBootApplicationpublic class DiscoveryServerApplication {    public static void main(String[] args) {        SpringApplication.run(DiscoveryServerApplication.class, args);    }}
  • 对外提供服务的http接口

package com.xian.cloud.controller;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;/** * @Author: xlr * @Date: Created in 2:57 PM 2019/10/27 */@RestController@RequestMapping("server")@Slf4jpublic class DiscoverCotroller {    /**     * 对外提供的服务 HTTP接口     * @param name     * @return     */    @GetMapping("/hello")    public String hello(@RequestParam String name) {        log.info("invoked name = " + name);        return "hello " + name;    }}

编写YAML文件

server:  port: 9012spring:  profiles:    active: dev  application:    name: cloud-discovery-server  cloud:    nacos:      discovery:        server-addr: 47.99.209.72:8848

服务消费者 cloud-discovery-client

            spring-cloud-alibaba-basis        com.xian.cloud        1.0-SNAPSHOT        4.0.0    cloud-discovery-client    服务消费者

创建服务启动类 和调用服务提供者的的controller http接口

  • 启动类

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/** * @Author: xlr * @Date: Created in 3:03 PM 2019/10/27 */@EnableDiscoveryClient@SpringBootApplicationpublic class DiscoveryClientApplication {    public static void main(String[] args) {        SpringApplication.run(DiscoveryClientApplication.class, args);    }}
  • 消费者服务接口

package com.xian.cloud.controller;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.cloud.client.ServiceInstance;import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.client.RestTemplate;/** * @Author: xlr * @Date: Created in 3:04 PM 2019/10/27 */@RequestMapping("client")@RestController@Slf4jpublic class DiscoveryClientController {    //服务提供者 项目名称 spring.application.name    public static final String CLOUD_DISCOVERY_SERVER = "cloud-discovery-server";    /**     * 在Spring Cloud Commons中提供了大量的与服务治理相关的抽象接口,包括DiscoveryClient、LoadBalancerClient等。     * 从LoadBalancerClient接口的命名中,是一个负载均衡客户端的抽象定义     */    @Autowired    private LoadBalancerClient loadBalancerClient;    @RequestMapping(value = "/test",method = RequestMethod.GET)    public String test() {        ServiceInstance serviceInstance = loadBalancerClient.choose(CLOUD_DISCOVERY_SERVER);        log.info( "ServiceInstance :{}",serviceInstance );        String url = serviceInstance.getUri() + "/server/hello?name=" + "tom";        RestTemplate restTemplate = new RestTemplate();        String result = restTemplate.getForObject(url, String.class);        return "调用 " + url + ", 返回 : " + result;    }}

编写YAML文件

server:  port: 9011spring:  profiles:    active: dev  application:    name: cloud-discovery-client  cloud:    nacos:      discovery:        server-addr: 47.99.209.72:8848

然后启动服务 查看nacos控制台

显示俩个服务都已经注册到了 nacos注册中心

然后我们就请求http://localhost:9011/client/test 看看是否能够显示我们想要的结果

到此时已经完成了我们注册中心。可以在提供服务者处改变端口是否能进行负载均衡

服务端又分别启动了 9013、9014俩个端口 服务

再次进行测试http://localhost:9011/client/test

感谢各位的阅读!关于"Spring Cloud Alibaba如何使用nacos注册中心"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

服务 版本 接口 提供者 消费者 消费 方式 第三方 对外 均衡 内容 再次 基础 文件 更多 端口 篇文章 控制 管理 不错 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司经营范围 山东特亿宝互联网科技有限公司 湖南永感互联网科技有限公司 深圳互联网科技公司 喔噻互联网科技 互联网 卓越科技 美国互联网黑科技 丰台科技园 互联网公司 滨湖区互联网智能科技产品供应 宁夏众和广鑫互联网科技有限公司 互联网金融中的现代科技 赶超互联网科技 微信多开 互联网方面的科技前沿 上海钢联属于互联网科技股吗 互联网科技资金流入 普陀区互联网教育科技管理办法 容联科技互联网电商 万物互联网智能科技 保山浩联互联网科技有限公司 安徽九吞吴互联网科技有限公司 互联网科技的 期待互联网科技 互联网金融科技平台 丰台科技园 互联网 互联网科技项目计划书材料类 厦门千工互联网科技有限公司 民营互联网公司国防科技 恒生互联网科技业指数调整周期 工业互联网科技成果转化 艺电能源互联网科技有限公司招聘
0