nacos的注册中心功能


Nacos是阿里巴巴最新开源的项目,核心定位是“一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”。功能十分强大,这次使用他的注册中心功能。

1.下载和启动nacos中心:

https://nacos.io/zh-cn/下载nacos,在其bin文件夹中找到startup.cmd,并在命令行窗口启动,(可能无法找到java环境,需修改启动文件)。

输入http://localhost:8848/nacos,进入nacos主页,用户名和密码均为nacos。如图所示:

 

2.配置服务端:

eureka一样,也需要配置客户端和服务端。

首先需要引入jar包:

<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
然后写yml:
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #nacos地址
将该服务端注册到nacos中。
3.配置客户端:

引入jar包:
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
写yml:
spring:
application:
name: nacos-order-consumer
cloud:
nacos:
discovery:
server-addr: localhost:8848
#消费者将要去访问的微服务名称(注册成功进nacos的微服务提供者)
service-url:
nacos-user-service: http://nacos-payment-provider
就像这样,注册完成

 

 nacos也集成了ribbon支持负载均衡:

配置RestTemplate:

@Configuration
public class BeanConfig {
@LoadBalanced
@Bean
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
实现负载均衡:
@RestController
public class OrderNacosController {
@Resource
private RestTemplate restTemplate;
@Value("${service-url.nacos-user-service}")
private String serviceURL;
@GetMapping("consumer/payment/nacos/{id}")
public String getInfo(@PathVariable("id" )long id){
return restTemplate.getForObject(serviceURL+"/payment/get/"+id,String.class);
}
 
 
 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM