赞
踩
<dependencies> <!-- 引入 eureka-server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <!-- 使用版本仲裁 --> </dependency> <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.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <!-- 公共模块的jar包 --> <dependency> <groupId>org.example</groupId> <artifactId>e_commerce_center-common-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
server:
port: 9001
eureka: # 配置eureka-server
instance:
hostname: localhost # 服务实例名
client: # 因为以后可能有其他的eureka服务端,那是这个eureka服务就会既是客户端又是服务端,所以在这里配置一下作为客户端的配置
register-with-eureka: false # 不向注册中心注册自己
fetch-registry: false # 自己就是注册中心,所以不需要去发现服务
service-url:
# 这里使用了${}来动态获取主机和端口
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka # 交互模块,查询服务和注册服务都需要依赖这个地址(就是注册这个)
package com.sun.springcloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /** * Description: * * @Author sun * @Create 2024/3/24 19:38 * @Version 1.0 */ @EnableEurekaServer // 作为eureka服务端启动 @SpringBootApplication public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } }
<!-- 引入eureka的客户端场景启动器 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<!-- 使用版本仲裁 -->
</dependency>
server:
port: 10001 # 配置服务端口
spring:
application:
name: member-service-provider-10001 # 配置服务的名称,名字任意这里与项目名保持一致
eureka: # eureka客户端配置
client:
register-with-eureka: true # 将自己注册到eureka服务
fetch-registry: true # 发现服务功能,如果是集群,必须要能发现服务才能配合ribben进行负载均衡
service-url:
defaultZone: http://localhost:9001/eureka #表示自己要注册到哪个服务
<!-- 引入eureka的客户端场景启动器 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<!-- 使用版本仲裁 -->
</dependency>
server:
port: 81 # 监听81端口
spring:
application:
name: member-service-consumer-81
eureka: # eureka客户端配置
client:
register-with-eureka: true # 将自己注册到eureka服务
fetch-registry: true # 发现服务功能,如果是集群,必须要能发现服务才能配合ribben进行负载均衡
service-url:
defaultZone: http://localhost:9001/eureka #表示自己要注册到哪个服务
server:
port: 9001
eureka: # 配置eureka-server
instance:
hostname: localhost # 服务实例名
client: # 因为以后可能有其他的eureka服务端,那是这个eureka服务就会既是客户端又是服务端,所以在这里配置一下作为客户端的配置
register-with-eureka: false # 不向注册中心注册自己
fetch-registry: false # 自己就是注册中心,所以不需要去检索服务
service-url:
# 这里使用了${}来动态获取主机和端口
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka # 交互模块,查询服务和注册服务都需要依赖这个地址(就是注册这个)
server:
enable-self-preservation: false # 关闭自我保护机制
eviction-interval-timer-in-ms: 2000 # 两秒内收不到心跳包,就会超时
server: port: 10001 # 配置服务端口 spring: application: name: member-service-provider-10001 # 配置服务的名称,名字任意这里与项目名保持一致 datasource: type: com.alibaba.druid.pool.DruidDataSource # 别忘记创建数据库之后修改数据库名称 url: username: password: mybatis: mapper-locations: classpath:mapper/*.xml # 扫描所有Mapper.xml type-aliases-package: com.sun.springcloud.entity # 扫描所有实体类,可以直接使用类名来标识 eureka: # eureka客户端配置 client: register-with-eureka: true # 将自己注册到eureka服务 fetch-registry: true # 发现服务功能,如果是集群,必须要能发现服务才能配合ribben进行负载均衡 service-url: defaultZone: http://localhost:9001/eureka #表示自己要注册到哪个服务 instance: lease-renewal-interval-in-seconds: 1 # 客户端向服务端发送的心跳间隔,默认30s lease-expiration-duration-in-seconds: 2 # 服务端收到最后一次心跳后等待的时间上限,默认90s
<dependencies> <!-- 引入 eureka-server --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <!-- 使用版本仲裁 --> </dependency> <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.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <!-- 公共模块的jar包 --> <dependency> <groupId>org.example</groupId> <artifactId>e_commerce_center-common-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
server:
port: 9002
eureka: # 配置eureka-server
instance:
hostname: eureka9002.com # 服务实例名
client: # 因为以后可能有其他的eureka服务端,那是这个eureka服务就会既是客户端又是服务端,所以在这里配置一下作为客户端的配置
register-with-eureka: false # 不向注册中心注册自己
fetch-registry: false # 自己就是注册中心,所以不需要去检索服务
service-url:
# 注册到9001server
defaultZone: http://eureka9001.com:9001/eureka/ # 交互模块,查询服务和注册服务都需要依赖这个地址(就是注册这个)
server:
port: 9001
eureka: # 配置eureka-server
instance:
hostname: eureka9001.com # 服务实例名
client: # 因为以后可能有其他的eureka服务端,那是这个eureka服务就会既是客户端又是服务端,所以在这里配置一下作为客户端的配置
register-with-eureka: false # 不向注册中心注册自己
fetch-registry: false # 自己就是注册中心,所以不需要去检索服务
service-url:
# 注册到9002server
defaultZone: http://eureka9002.com:9002/eureka/ # 交互模块,查询服务和注册服务都需要依赖这个地址(就是注册这个)
package com.sun.springcloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /** * Description: * * @Author sun * @Create 2024/3/25 9:36 * @Version 1.0 */ @SpringBootApplication @EnableEurekaServer public class EurekaApplication9002 { public static void main(String[] args) { SpringApplication.run(EurekaApplication9002.class, args); } }
server:
port: 9001
eureka: # 配置eureka-server
instance:
hostname: eureka9001.com # 服务实例名(只有服务端才配置,就是ip)
client: # 服务端和客户端都需要配置
register-with-eureka: false # 不向注册中心注册自己
fetch-registry: false # 自己就是注册中心,所以不需要去检索服务
service-url:
# 注册地址(如果只有一个服务端,就填写自己的服务地址加上/eureka/)这里注册到eureka9002.com:9002
defaultZone: http://eureka9002.com:9002/eureka/ # 交互模块,查询服务和注册服务都需要依赖这个地址(就是注册这个)
server:
port: 9002
eureka: # 配置eureka-server
instance:
hostname: eureka9002.com # 服务实例名(只有服务端才配置,就是ip)
client: # 服务端和客户端都需要配置
register-with-eureka: false # 不向注册中心注册自己
fetch-registry: false # 自己就是注册中心,所以不需要去检索服务
service-url:
# 注册地址(如果只有一个服务端,就填写自己的服务地址加上/eureka/)这里注册到eureka9001.com:9001
defaultZone: http://eureka9001.com:9001/eureka/ # 交互模块,查询服务和注册服务都需要依赖这个地址(就是注册这个)
server:
port: 81 # 监听81端口
spring:
application:
name: member-service-consumer-81
eureka: # eureka客户端配置
client:
register-with-eureka: true # 将自己注册到eureka服务
fetch-registry: true # 发现服务功能,如果是集群,必须要能发现服务才能配合ribben进行负载均衡
service-url:
# 需要注册到两个服务,则只需要用逗号间隔
defaultZone: http://eureka9001.com:9001/eureka/, http://eureka9002.com:9002/eureka/
server:
port: 10001 # 监听10001端口
spring:
application:
name: member-service-provider-10001 # 配置服务的名称,名字任意这里与项目名保持一致
eureka: # eureka客户端配置
client:
register-with-eureka: true # 将自己注册到eureka服务
fetch-registry: true # 发现服务功能,如果是集群,必须要能发现服务才能配合ribben进行负载均衡
service-url:
# 需要注册到两个服务,则只需要用逗号间隔
defaultZone: http://eureka9001.com:9001/eureka/, http://eureka9002.com:9002/eureka/ #表示自己要注册到哪个服务
server:
port: 81 # 监听81端口
spring:
application:
name: member-service-consumer-81 # 客户端服务名称
eureka: # eureka客户端配置
client:
register-with-eureka: true # 将自己注册到eureka服务
fetch-registry: true # 发现服务功能,如果是集群,必须要能发现服务才能配合ribben进行负载均衡
service-url:
# 需要注册到两个服务,则只需要用逗号间隔
defaultZone: http://eureka9001.com:9001/eureka/, http://eureka9002.com:9002/eureka/
server:
port: 10001 # 监听10001端口
spring:
application:
name: member-service-provider-10001 # 客户端服务名称
eureka: # eureka客户端配置
client:
register-with-eureka: true # 将自己注册到eureka服务
fetch-registry: true # 发现服务功能,如果是集群,必须要能发现服务才能配合ribben进行负载均衡
service-url:
# 需要注册到两个服务,则只需要用逗号间隔
defaultZone: http://eureka9001.com:9001/eureka/, http://eureka9002.com:9002/eureka/ #表示自己要注册到哪个服务
/** * 服务消费方通过eureka服务集群来获取到服务提供方的服务 * * @return */ @GetMapping("/member/consumer/discovery") public Object discovery() { // 获取所有服务id List<String> services = discoveryClient.getServices(); for (String service : services) { log.info("服务名小写={}", service); // 获取当前服务id对应的实例(可能有多个) List<ServiceInstance> instances = discoveryClient.getInstances(service); for (ServiceInstance instance : instances) { log.info("id={}, host={}, port={}, uri={}", service, instance.getHost(), instance.getPort(), instance.getUri()); } } return services; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。