我们的支付服务
已经创建了两个,现在,创建一个订单服务
来消费支付服务
,先创建一个服务cloud-alibaba-order-8000
,其内部逻辑直接拷贝cloud-order-8000
的内部逻辑,pom.xml
文件中,不在引用对于eureka
的依赖了,而是使用nacos
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloudservice</artifactId>
<groupId>com.felix</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-alibaba-order-8000</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>com.felix</groupId>
<artifactId>cloud-mbg</artifactId>
</dependency>
<dependency>
<groupId>com.felix</groupId>
<artifactId>cloud-common</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
</project>
复制代码
然后配置文件application.yml
也移除对于eureka
的配置,更换成为nacos
的配置
spring:
application:
name: consumer-cloud-alibaba-order
cloud:
nacos:
discovery:
server-addr: localhost:8848
server:
port: 8000
management:
endpoints:
web:
exposure:
include: '*'
复制代码
运行cloud-alibaba-order-8000
,此时nacos
中应该是有两个支付服务
,一个订单服务
访问http://localhost:8000/order/payment/1测试下
可以发现,nacos
已经做了负载均衡,那么它的负载均衡是怎么来的呢?看下图
实际上,我们引入nacos
后,它自带ribbon
,所以,负载均衡其实还是由ribbon
实现的
评论