一、微服务的注册和发现
我们在微服务中,往往有服务提供者,服务消费者和服务注册中心。我们之前学习的Zookeeper就是一个注册中心。但是在官方的SpringCloud中,并不推荐使用ZK作为注册中心,我们往往使用eureka
服务提供者,服务消费者,注册中心呈一个三角关系
1.服务提供者将服务注册到中心
2.服务消费者通过注册中心去查找服务
3.查找服务后进行调用
4.服务消费者和服务注册中心保持心跳连接,一旦服务提供者的地址发生改变,注册中心会通知服务消费者
二、注册中心eureka
SpringCloud提供了多种注册中心支持,eureka,zk等,官方推荐eureka
科普:什么是Eureka? Eureka是Netfix开源的服务发现组件,本身是一个基于Rest的服务。包含Server和Client两部分。SpringCloud将其集成在子项目Spring Cloud Netflix中,从而实现微服务的注册和发现。
2.1.编写Eureka Server
2.1.1.新建一个Spring Starter,导入eureka server
2.1.2.创建一个application.yml,在启动类@EnableEurekaServer
server: port: 1111 #服务端口 eureka: client: register-with-eureka: false #是否将自己注册到Eureka服务中,自己本来就是服务无需注册 fetch-registry: false #是否从Eureka中获取注册信息 service-url: # Eureka客户端与Eureka服务端交互地址 defaultZone: http://localhost:${server.port}/eureka/
2.1.3.新建一个Spring Starter,导入eureka,编写一个服务
2.1.4.创建一个application.yml,在启动类@EnableDiscoveryClient,去上面那个注册中心去注册发现
server: port: 8081 spring: application: name: microservice-item eureka: client: