一、介绍
1. Cloud Alibaba的诞生原因
netflix
系列从2018年12月进入维护模式
2. 参考内容
Spring Cloud Alibaba 学习文档
Nacos 官网
3. 下载
- Nacos下载:
4. 启动Nacos
nacos启动报错:java.io.IOException: java.lang.IllegalArgumentException: db.num is null解决方法
单机模式 启动
window版本
startup.cmd -m standalone
访问地址: http://localhost:8848/nacos/index.html#/login
二、Nacos的简单搭建
2.1 服务提供者注册
参考 使用 Nacos Discovery 进行服务注册/发现和调用的示例 搭建 9001 即可。
使用拷贝虚拟端口映射,搭建9011
选中想要拷贝的应用,点击 Copy Configuration
输入应用程序名 : AlibabaMain9011 CopyOf 9001
暴露的端口 -DServer.port=9011
浏览器打开http://localhost:8848/nacos/index.html
2.2 服务消费者注册
1. 导入依赖
<!-- nacos 注册服务 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2. 配置文件
server:
port: 83
spring:
application:
name: nacos-order-consumer
cloud:
nacos:
discovery:
server-addr: localhost:8848
# 消费者将要去访问的微服务名称(注册成功nacos的微服务提供者)
service-url:
nacos-user-service: http://springcloud-payment-alibaba
3. 配置类
@Configuration
public class ApplicationContextConfig {
// RestTemplate + Ribbon 做负载均衡需要加入:因为服务提供方有两个
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
4. 控制层
@RestController
public class OrderNacosController {
@Autowired
private RestTemplate restTemplate;
@Value("${service-url.nacos-user-service}")
private String serviceUrl;
@GetMapping("/consumer/nocas")
public String paymentInfo() {
return restTemplate.getForObject(serviceUrl + "/payment/nacos", String.class);
}
}
Nacos 的CAP模型
Nacos既支持CP模式, 又支持AP模式。