Nacos服务注册与发现
1/启动Nacos服务
下载nacos服务端,有多种方式,这里以windows平台1.2.0.beta.1编译后的压缩包单机模式为例,更多方式参考:https://nacos.io/zh-cn/docs/quick-start.html
下载解压之后到nacos->bin->startup.cmd,直接双击运行即可。
浏览器访问localhost:8848可以看到以下界面

2 创建Maven父工程(相关依赖的版本可以到中央仓库查询https://mvnrepository.com)
pom.xml
<modules> <module>nacos-spring-cloud-provider-example</module> <module>nacos-spring-cloud-consumer-example</module></modules> <dependencies> <!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.0.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client --> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>1.2.0-beta.1</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.11</version> </dependency> </dependencies>
3服务提供者
NacosProviderApplication.java
@SpringBootApplication
@EnableDiscoveryClient
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class, args);
}
@RestController
class EchoController {
@RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
public String echo(@PathVariable String string) {
return "Hello Nacos Discovery " + string;
}
}
}application.yml
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
application:
name: service-provider
server:
port: 80904消费者
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args);
}
@LoadBalanced
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
@RestController
public class TestController {
private final RestTemplate restTemplate;
@Autowired
public TestController(RestTemplate restTemplate) {this.restTemplate = restTemplate;}
@RequestMapping(value = "/echo/{str}", method = RequestMethod.GET)
public String echo(@PathVariable String str) {
return restTemplate.getForObject("http://service-provider/echo/" + str, String.class);
}
}
}application.yml
spring:
application:
name: service-consumer
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
server:
port: 88715服务者消费者服务均运行起来,可以看到在nacos里看到这两个服务已经注册成功

通过浏览器访问localhost:8871/echo/hellonacos

相关推荐
aNian 2020-06-16
isHooky 2020-05-30
蜡笔小鑫爱看雪 2020-04-28
香帅 2020-05-09
成长共勉 2020-04-25
yevvzi 2020-04-17
xiunai 2020-03-23
shisongsong 2020-03-11
yungame 2020-02-23
meilongwhpu 2020-02-18
lypgcs 2020-02-18
doctorvian 2020-01-23
suixinsuoyu 2019-12-28
咻pur慢 2019-12-23
Julywhj 2019-12-21
wangyangsoftware 2019-12-15
新开源油墨 2019-12-14