1.服务注册与发现
1.1创建服务注册中心
需要使用到的组件时:SpringCloud Netflix的Eureka,eureka是一个服务注册和发现模块。
(1)创建项目
1.创建maven工程
2.maven工程右键创建2个module:一个作为服务注册中心,即Eureka Server,另一个作为Eureka Client。
3 启动一个服务注册中心,只需要一个注解@EnableEurekaServer,这个注解需要在springboot工程的启动application类上加:
@SpringBootApplication
@EnableEurekaServer //启动一个服务注册中心
public class Demo1Eureka1Application {
public static void main(String[] args) {
SpringApplication.run(Demo1Eureka1Application.class, args);
}
}
4.eureka Server
eureka 是一个高可用的组件,它没有后端缓存,每一个实例注册后需要向注册中心发送心跳(因此可以再内存中完成),默认情况下eureka Server也是Client,必须要指定一个Server。
eureka Server配置文件application.yml:
通过register-with-eureka=false和fetch-registry=false标识为Server
eureka server 是有界面的,启动工程,打开浏览器访问: http://localhost:8080/
2.创建一个服务提供者EurekaClient
当Client向Server注册时,会提供一些元数据,例如:主机、端口、URL、主页等。
服务中心Server从每个服务提供者Client实例获取到心跳信息,如果心跳超时,则将该实例从注册中心剔除。
创建Client Module工程
通过注解@EnableEurekaClient 表明自己是一个eurekaclient.
仅仅@EnableEurekaClient是不够的,还需要在配置文件中注明自己的服务注册中心的地址,application.yml配置文件如下:
注:需要指明spring.application.name,这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name 。
启动工程,打开http://localhost:8080,即eureka server 的网址:
发现新增的服务提供者Client已经注册在服务中了,服务名为CLIENT-ONE ,端口为9090
这时打开 http://localhost:9090/index?name=123,你会在浏览器上看到 :
源码:https://github.com/youqichun/springcloud-study-eureka/tree/master
四、参考资料