网站服务器租赁你的知识宝库,wordpress移动自媒体,泰州做房产的网站,广州市企业网站建设平台Eureka注册中心 a.eureka原理分析b.搭建eureka服务c.服务注册d.服务发现 a.eureka原理分析 1.每个服务启动时#xff0c;将自动在eureka中注册服务信息 (每个服务每隔30秒发送一次的心跳续约#xff0c;当某个服务没有发送时#xff0c;eurekaServer将自动剔除该服务#x… Eureka注册中心 a.eureka原理分析b.搭建eureka服务c.服务注册d.服务发现 a.eureka原理分析 1.每个服务启动时将自动在eureka中注册服务信息 (每个服务每隔30秒发送一次的心跳续约当某个服务没有发送时eurekaServer将自动剔除该服务保障消费者拉取到最新的服务) 2.当有服务需要某个服务信息时通过eureka拉取相关的信息 3.运用负载均衡算法在拉取的服务列表中挑选其中一个 4.发起请求进行远程调用
b.搭建eureka服务
搭建EurekaServer注册中心将service都注册到eureka在某个消费者service中完成服务拉取然后通过负载均衡挑选一个服务实现远程调用
搭建EurekaServer服务步骤如下
1.创建项目引入spring-cloud-starter-netflix-eureka-server的依赖
!--eureka服务端--
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId
/dependency2.编写启动类添加EnableEurekaServer注解
SpringBootApplication
EnableEurekaServer
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}
}3.添加application.yml文件编写下面的配置
server:port: 10086 # 服务端口
spring:application:name: eurekaserver # eurek的服务名称
eureka:client:service-url: # eureka的地址信息defaultZone: http://127.0.0.1:10086/eureka/c.服务注册
将某个service服务注册到EurekaServer步骤如下
1.在user-service项目引入spring-cloud-starter-netflix-eureka-client的依赖
!--引入eureka客户端依赖--
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId
/dependency2.在application.yml文件编写下面的配置
spring:application:name: userservice # user服务的服务名称(例子)
eureka:client:service-url: # eureka的地址信息defaultZone: http://127.0.0.1:10086/eureka/d.服务发现
服务拉取时基于服务名称获取服务列表然后在对服务列表做负载均衡
1.在service项目引入spring-cloud-starter-netflix-eureka-client的依赖
!--引入eureka客户端依赖--
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId
/dependency修改OrderService的代码修改访问的url路径用服务名代替ip、端口
String url http://userservice/user/ order.getUserId();在order-service项目的的RestTemplate的Bean中添加负载均衡注解LoadBalanced
/*** 创建RestTemplate并注入Spring容器* return*/
Bean
LoadBalanced
public RestTemplate restTemplate(){return new RestTemplate();
}