nacos简单介绍
1. nacos简介Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速 实现动态服务发现、服务配置、服务元数据及流量管理。从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。2. nacos实战入门接下来,我们就在现有的环境中加入nacos,并将我们的两个微服务注册上去。2.1 搭建nacos环境第1步: 安装na
·
1. nacos简介
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速 实现动态服务发现、服务配置、服务元数据及流量管理。
从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。
2. nacos实战入门
接下来,我们就在现有的环境中加入nacos,并将我们的两个微服务注册上去。
2.1 搭建nacos环境
第1步: 安装nacos
下载地址: https://github.com/alibaba/nacos/releases
下载zip格式的安装包,然后进行解压缩操作
第2步: 启动nacos
#切换目录
cd nacos/bin
#命令启动
startup.cmd -m standalone
第3步: 访问nacos
打开浏览器输入http://localhost:8848/nacos,即可访问服务, 默认密码是nacos/nacos
2.2 将商品微服务注册到nacos(主要代码可看Nacos Discovery--服务治理篇)
接下来开始修改 shop-product 模块的代码, 将其注册到nacos服务上
1. 在pom.xml中添加nacos的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2. 在主启动类上添加nacos的开启注解
@EnableDiscoveryClient //开启nacos的注解
3. 在配置文件中添加nacos的配置
spring.cloud.nacos.server-addr=192.168.0.69:8848
4. 启动服务, 观察nacos的控制面板中是否有注册上来的商品微服务
2.3 将订单微服务注册到nacos
接下来开始修改 shop_order 模块的代码, 将其注册到nacos服务上
1. 在pom.xml中添加nacos的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
</dependency>
2. 在主启动类上添加nacos的开启注解
@EnableDiscoveryClient //开启nacos的注解
3. 在配置文件中添加nacos的配置
spring.cloud.nacos.server-addr=192.168.0.69:8848
4. 启动服务, 观察nacos的控制面板中是否有注册上来的商品微服务
5. 修改OrderController中的代码
@RestController
@RequestMapping("order")
public class OrderControllerHandWrite {
@Autowired
private OrderService orderService;
@Autowired
private RestTemplate restTemplate;
@Autowired
private DiscoveryClient discoveryClient;
@GetMapping("saveOrder")
public String saveOrder(Integer pid,Integer num){
Order order=new Order();
order.setUsername("yyk");
order.setNumber(num);
order.setUid(1);
order.setPid(pid);
List<ServiceInstance> instances = discoveryClient.getInstances("shop-product");
int index= (int) (Math.random()*instances.size());
ServiceInstance instance = instances.get(index);
Product product=restTemplate.getForObject(instance.getUri()+"/product/findById/"+pid,Product.class);
order.setPname(product.getPname());
order.setPprice(product.getPprice());
orderService.saveOrder(order);
return "下单成功";
}
}
DiscoveryClient是专门负责服务注册和发现的,我们可以通过它获取到注册到注册中心的所有服
务。
6. 启动服务
观察nacos的控制面板中是否有注册上来的订单微服务,然后通过访问消费者服务验证调用是否成功.
更多推荐
所有评论(0)