目录
一、作用及调用方式
二、搭建eureka注册中心
三、注册user-service和order-service
四、新增实例
五、服务拉取
六、总结
一、作用及调用方式
- 在服务提供者启动时,它会向eureka注册中心提供自己的信息,并每30秒进行一次刷新
- eureka注册中心保存服务的信息
- 当服务消费者要使用服务时,会向eureka查询,并直接拉取并远程调用服务信息
- 当服务有多个地址时,会根据负载均衡算法挑一个出来调用
二、搭建eureka注册中心
1、创建eureka-server模块
2、在eureka-server的pom文件中加上以下代码
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
3、在eureka-server中创建EurkaApplication类并添加如下代码
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class,args);
}
}
4、新建并增加yml文件
server:
port: 10086
spring:
application:
name: eurekaserver
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka/
5、eureka,启动!
报错,Unsupported class file major version 61
解决办法:
我的项目jdk为17,降低为11后启动就不报错了
6、启动成功
三、注册user-service和order-service
1、在user-service的pom文件中导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2、修改yml文件
server:
port: 8081
spring:
datasource:
url: jdbc:mysql://localhost:3306/cloudsd?useSSL=false
username: root
password: 123
driver-class-name: com.mysql.jdbc.Driver
application:
name: userservice
mybatis:
type-aliases-package: cn.itcast .user.pojo
configuration:
map-underscore-to-camel-case: true
logging:
level:
cn.itcast: debug
pattern:
dateformat: MM-dd HH:mm:ss:SSS
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka/
3、order同理
4、重新启动服务,进入eureka查看
四、新增实例
1、
2、 将端口改为8082
3、运行
4、进入浏览器查看
五、服务拉取
1、在order中将url改为服务名(使用软编码)
2、将OrderApplication中的RestTemplate加上注释(负载均衡)
3、重启orderservice,并清空user1和user2的日志
4、通过浏览器访问101和102
5、查看order的日志,发现两个服务都被访问了(实现了负载均衡)