做便宜的宝贝的网站,如何给网站做关键词优化,做网站能用的字体,企业网站设计模板免费下载文章目录 前言一、提供者1. 引入依赖2.配置 Nacos Server 地址3. 开启服务注册 二、消费者1. 引入依赖2.配置 Nacos Server 地址3. 开启服务注册 三、服务列表四、服务发现1. 获取服务列表2. 测试2.1 获取所有服务2.2 根据服务名获取服务信息 五、更多配置项总结 前言
本节通过… 文章目录 前言一、提供者1. 引入依赖2.配置 Nacos Server 地址3. 开启服务注册 二、消费者1. 引入依赖2.配置 Nacos Server 地址3. 开启服务注册 三、服务列表四、服务发现1. 获取服务列表2. 测试2.1 获取所有服务2.2 根据服务名获取服务信息 五、更多配置项总结 前言
本节通过实现一个简单的 echo service 演示如何在您的 Spring Cloud 项目中启用 Nacos 的服务注册和发现功能如下图示: 一、提供者
1. 引入依赖
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId
/dependency2.配置 Nacos Server 地址 ${NACOS_SERVER_ADDR}是配置的环境变量 server:port: 9002
spring:application:name: provider-servicecloud:nacos:discovery:server-addr: ${NACOS_SERVER_ADDR}username: nacospassword: nacos在使用 Nacos 服务发现和配置功能时一定要配置 username 和 password 属性否则会出现用户未找到异常
3. 开启服务注册
package org.example.nacos.provider;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;EnableDiscoveryClient
SpringBootApplication
public class NacosDiscoveryProviderApplication {public static void main(String[] args) {SpringApplication.run(NacosDiscoveryProviderApplication.class, args);}}二、消费者
1. 引入依赖
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId
/dependency2.配置 Nacos Server 地址
server:port: 9000
spring:application:name: consumer-servicecloud:nacos:discovery:server-addr: ${NACOS_SERVER_ADDR}username: nacospassword: nacos3. 开启服务注册
package org.example.nacos.consumer;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;EnableDiscoveryClient
SpringBootApplication
public class NacosDiscoveryConsumerApplication {public static void main(String[] args) {SpringApplication.run(NacosDiscoveryConsumerApplication.class, args);}}三、服务列表 四、服务发现
1. 获取服务列表 我们在消费者项目中获取nacos中的服务列表并打印出来。 package org.example.nacos.consumer.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;/*** Create by zjg on 2024/7/15*/
RequestMapping(/nacos/)
RestController
public class NacosDiscoveryController {AutowiredDiscoveryClient discoveryClient;RequestMapping(discovery)public void discovery(){ListString services discoveryClient.getServices();services.forEach(System.out::println);}RequestMapping(discovery/instance)public void discovery(RequestParam(serviceId) String serviceId){ListServiceInstance instances discoveryClient.getInstances(serviceId);instances.forEach(instance-{System.out.println(instance.getHost():instance.getPort());});}
}
新版本的RequestParam(“serviceId”)用法略有改动更加规范了但是没那么灵活对开发者不是很友好
2. 测试
2.1 获取所有服务
http://localhost:9000/nacos/discovery
consumer-service
provider-service2.2 根据服务名获取服务信息
http://localhost:9000/nacos/discovery/instance?serviceIdprovider-service
192.168.0.103:9002五、更多配置项
配置项key默认值说明服务端地址spring.cloud.nacos.discovery.server-addr服务名spring.cloud.nacos.discovery.service${spring.application.name}注册到Nacos上的服务名称默认值为应用名称权重spring.cloud.nacos.discovery.weight1取值范围 1 到 100数值越大权重越大网卡名spring.cloud.nacos.discovery.network-interface当IP未配置时注册的IP为此网卡所对应的IP地址如果此项也未配置则默认取第一块网卡的地址注册的IP地址spring.cloud.nacos.discovery.ip优先级最高注册的IP地址类型spring.cloud.nacos.discovery.ip-type双栈地址可以配置IPv4和IPv6两种类型如果网卡同类型IP地址存在多个希望制定特定网段地址可使用spring.cloud.inetutils.preferred-networks配置筛选地址注册的端口spring.cloud.nacos.discovery.port-1默认情况下不用配置会自动探测命名空间spring.cloud.nacos.discovery.namespace常用场景之一是不同环境的注册的区分隔离例如开发测试环境和生产环境的资源如配置、服务隔离等。AccessKeyspring.cloud.nacos.discovery.access-keySecretKeyspring.cloud.nacos.discovery.secret-keyMetadataspring.cloud.nacos.discovery.metadata使用Map格式配置日志文件名spring.cloud.nacos.discovery.log-name集群spring.cloud.nacos.discovery.cluster-nameDEFAULT Nacos集群名称接入点spring.cloud.nacos.discovery.endpoint地域的某个服务的入口域名通过此域名可以动态地拿到服务端地址是否集成LoadBalancerspring.cloud.loadbalancer.nacos.enabledfalse是否开启Nacos Watchspring.cloud.nacos.discovery.watch.enabledfalse可以设置成true来开启 watch是否启用Nacosspring.cloud.nacos.discovery.enabledtrue默认启动设置为false时会关闭自动向Nacos注册的功能用户名spring.cloud.nacos.discovery.usernamenacos密码spring.cloud.nacos.discovery.passwordnacos 总结
回到顶部 中文文档 官方案例