Eureka注册中心
我们知道在微服务架构中,服务的注册与发现需要一个注册中心。如果没有注册中心,那么微服务之间无法知道对方的地址以及是否可用。 Eureka就是一个可供选择的注册中心。
搭建服务端
-
引入依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>3.0.4</version> </dependency>
-
在启动类上方加注解
@EnableEurekaServer
,如@SpringBootApplication @EnableEurekaServer public class EurekaDemoApplication { public static void main(String[] args) { SpringApplication.run(EurekaDemoApplication.class, args); } }
-
配置
server: port: 8001 spring: application: name: eurekaServer # eureka服务名称 eureka: client: service-url: # eureka地址信息 defaultZone: http://127.0.0.1:8001/eureka
配置完成之后访问
http://localhost:8001/
,能看到Eureka管理界面,发现已经有一个服务被注册了,那就是Eureka自身。
注册微服务
其他微服务怎么注册呢?非常简单。
- 引入
spring-cloud-starter-netflix-eureka-client
依赖 -
配置
spring: application: name: userServer # eureka服务名称 eureka: client: service-url: # eureka注册中心地址信息 defaultZone: http://127.0.0.1:8001/eureka
服务发现
当想要使用微服务时,要做以下几点。
- 引入
spring-cloud-starter-netflix-eureka-client
依赖 - 为
RestTemplate
添加@LoadBalanced
注解实现负载均衡 - 用服务提供者的服务名称提供远程调用。如
http://userservice/user/