在微服务maven工程下创建module
并导入eureka的依赖,以下是服务注册中心的server的依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
创建eureka集群,服务相互守望,互相注册,在主启动文件中声明这是一个eureka服务,添加注解@EnableEurekaServer
写application.yml文件,首先是服务的端口,其次是eureka的配置,instance创建实例,defaultZone指向的是另一台微服务的地址
这里采用虚拟映射host地址,需要去修改电脑的etc/host文件
具体的host文件修改如下,实际就是虚拟的地址映射到127.0.0.1 的ip地址上
启动7001,7002服务,出现下图则表示集群搭建完毕
服务注册进Eureka服务注册中心
添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
主启动类中声明时Eurka的client用户
写application.yml文件
如果想做服务的集群,在yml写相同的name,在Eureka中可以看到一个服务下有多个不同端口的服务提供服务
当服务提供者拥有多个端口服务,消费者的服务应该进行以下的配置,因为一个服务有多个端口或者多台机器提供服务,消费者服务不知道在Eureka中去寻找哪个服务,哪个端口,这时就需要消费者服务提供负载均衡
消费者的controller服务发送的url不再指定特定的ip和端口,而是指定服务的名称
在ApplicationContextConfig类,给restTemplate添加负载均衡的注解@LoadBalanced,实现消费者请求其他服务的负载均衡
在消费者的controller中通过restTemplate调用其他服务模块