提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
idea单机模拟部署Eureka
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Eureka—注册中心(一般一个集群含有多个注册中心,这里以相同的方式创建三个个端口号分别为9991,9992,9993)
1. idea快速创建一个包含Eurka依赖和web依赖的springBoot项目
- a. SpringWeb
- b. Eureka Server
2. 在rescoures文件夹下创建application配置文件
application.yml
server:
port: 9991 #端口号
servlet:
context-path: / #上下文地址
spring:
application:
name: eureka-peer1 #服务名称
eureka:
instance: #实例信息
appname: eureka-peer1
instanceId: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}:@project.version@
client:
fetch-registry: false
register-with-eureka: true
serviceUrl:
defaultZone: http://localhost:9992/eureka/,http://localhost:9993/eureka/
3. 创建主启动类并启动服务
EurekaServer9991Application.class
@EnableEurekaServer //服务端注解
@SpringBootApplication
public class EurekaServer9991Application {
public static void main(String[] args) {
SpringApplication.run(EurekaServer9991Application.class, args);
}
}
4. 访问http://localhost:9992/ (其他两个注册中心地址也可)
二、Eurka-服务提供者-Provider(这里创建一个,端口号8001
# 1. 在idea快速创建一个包含Eurka依赖和web依赖的springBoot项目
- a. SpringWeb
- b. Eureka Discovery Client
2.在rescoures文件夹下创建application配置文件
application.yml
server:
#配置服务端口号
port: 8001
servlet:
context-path: /
spring:
application:
name: eureka-provider
eureka:
instance:
prefer-ip-address: true
instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}:@project.version@
client:
#向注册中心发布服务
service-url:
#这里地址为注册中心的地址
defaultZone: http://localhost:9991/eureka/,http://localhost:9992/eureka/,http://localhost:9993/eureka/
3.创建主启动类并启动服务
EurekaProviderApplication.class
@EnableDiscoveryClient//SpringCloud内置通用服务发现客户端
@SpringBootApplication
public class EurekaProviderApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaProviderApplication.class, args);
}
}
4.访问注册中心地址http://localhost:9992/
出现如图说明成功在注册中心注册服务
在服务提供者中创建服务
1. 在主包下创建controller层的包,并创建ProviderController类
ProviderController.class
@RestController
@RequestMapping(value = "/provider/", produces = "application/json; charset=utf-8")
public class ProviderController {
@GetMapping("test")
public String test(){
return "testssss";
}
}
2. 重新启动服务提供者程序,浏览器输入提供者的访问地址:http://localhost:8001/provider/test
如图显示说明controller层部署成功
三、Eureka-服务消费者-Consumer(这里端口号设8002)
1. 在idea快速创建一个包含Eurka依赖和web依赖的springBoot项目
- a. SpringWeb
- b. Eureka Discovery Client
2. 在rescoures文件夹下创建application配置文件
application.yml
server:
port: 8002
servlet:
context-path: /
spring:
application:
name: eureka-consumer
eureka:
instance:
prefer-ip-address: true
instanceId: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}:@project.version@
client:
serviceUrl:
defaultZone: http://localhost:9992/eureka/,http://localhost:9993/eureka/,http://localhost:9991/eureka/
3.创建主启动类并启动服务
EurekaConsumerApplication.class
@EnableDiscoveryClient //SpringCloud内置通用服务发现客户端
@SpringBootApplication
public class EurekaConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaConsumerApplication.class, args);
}
}
4.访问注册中心地址http://localhost:9992/
在消费者中尝试访问服务提供者提供的controller层
1.在主包下创建controller层的包,并创建ProviderController类
@RestController
@RequestMapping(value = "/consumer/", produces = "application/json; charset=utf-8")
public class ConsumerController {
public RestTemplate restTemplate= new RestTemplate(); //获取RestTemplate实例
@GetMapping("test")
public String test(){
return restTemplate.getForEntity("http://localhost:8001/provider/test",String.class).getBody();
}
}
2.重新启动服务提供者程序,浏览器输入提供者的访问地址:http://localhost:8002/consumer/test
如图显示说明访问提供者controller层成功