SpringCloud学习之Eureka注册和发现服务
创建注册中心(EurekaServer)
步骤1:pom.xm
步骤2:启动类application添加@EnableEurekaServer注解
步骤3:application.properties
搭建过程中的一些问题如下
解决方案:这个问题需要在application.properties里添加 hostname 这项配置,奇葩的是这个地方只能配 localhost,配成其他值一样会报上述错误。
启动成功后输入localhost:8000,会看到如下界面
创建服务提供者(Provider)
创建基于springboot可以读取redis的微服务
步骤1:pom.xml
步骤2:启动类application添加@EnableEurekaClient注解
步骤3:application.properties
步骤4:编写controller
创建服务消费者(Consumer)
步骤1:pom.xml
步骤2:启动类application添加@EnableEurekaClient注解,图中注册的Bean是利用RestTemplate访问服务。
步骤3:application.properties
步骤4:编写controller
Eureka有三个基本概念
1.注册中心(Eureka):提供服务注册和发现。
2.服务提供者(Provider):将服务注册到Eureka中。
3.服务消费者(Consumer):使用Eureka中注册的服务。
Eureka由两个组件组成:
1.Eureka服务器:用来注册服务的服务器。
2.Eureka客户端:服务提供者和服务调用者都是Eureka客户端。
注册中心配置要点总结:
1.pom.xml使用的是spring-cloud-starter-netflix-eureka-server依赖关系包。
2.springcloud常用注解:服务端使用@EnableEurekaServer,客户端使用@EnableEurekaClient,并且他们都是使用在启动类中。
3.@EnableEurekaClient和@EnableDiscoveryClient区别:如果选用的注册中心是eureka,那么就推荐@EnableEurekaClient,如果是其他的注册中心,那么推荐使用@EnableDiscoveryClient。
4.properties中eureka.client.register-with-eureka:表示是否将自己注册到Eureka Server,默认为true
5.properties中eureka.client.fetch-register:表示是否从Eureka Server获取注册信息,默认为true
6.properties中eureka.client.servicUrl.defaultZone:设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。
服务提供者配置要点总结:
1.pom.xml使用的是spring-cloud-starter-netflix-eureka-client依赖关系包。
2.启动类application添加@EnabelEurekaClient注解
3.properties中eureka.client.register-with-eureka 和 eureka.client.fetch-register要设置成true
4.properties中eureka.client.servicUrl.defaultZone要指向你注册的服务器地址。
服务消费者配置要点总结:
1.pom.xml,启动类,properties配置基本与服务提供者一致。
2.在调用服务的时候url地址要写服务提供者在注册中心的Application名,也就是服务提供者的properties中spring.application.name。
3.消费者要与提供者的注册中心url地址要相同才能调用到服务。
4.通过配置@LoadBalanced注解能够开启客户端负载均衡