SpringCloud搭建Eureka集群

第一部分:搭建Eureka Server集群

Step1:新建工程,引入依赖

依赖文件pom.xml如下

View Code

Step2:开启Eureka的注册中心

复制代码
1 /**
2 * 开启Eureka的注册中心,只需要添加这个注解即可
3 */
4 @EnableEurekaServer
5 @SpringBootApplication
6 public class EurukaServerApplication {
7
8 public static void main(String[] args) {
9 SpringApplication.run(EurukaServerApplication.class, args);
10 }
11 }
复制代码

Step3:添加多实例的配置文件

既然是集群,1个实例就太寒碜了,所以我们通过配置文件制定了多个实例。

application-peer1.properties文件内容如下:

1 spring.application.name=eureka-server
2 server.port=1111
3
4 eureka.instance.hostname=peer1
5 eureka.client.serviceUrl.defaultZone=http://peer2:2222/eureka/

application-peer2.properties文件内容如下:

1 spring.application.name=eureka-server
2 server.port=2222
3
4 eureka.instance.hostname=peer2
5 eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/

其中:eureka.client.serviceUrl.defaultZone指的是注册中心的地址,所以两个实例互相指向。

PS:这里的peer1、peer2需要再host中配置一番,如下所示:

1 127.0.0.1 peer1
2 127.0.0.1 peer2

Step4:启动注册中心的多实例

再idea中配置多实例的启动参数,如下所示:

在这里插入图片描述

配置好了,依次启动peer1和peer2

在这里插入图片描述

Step5:Eureka的注册中心去验证

在这里插入图片描述

第二部分:搭建Eureka Client集群

Step1:新建工程,引入配置文件

我测试时的pom.xml如下:

Eureka Client的pom.xml

Step2:启动发现服务

复制代码
1 @EnableDiscoveryClient
2 @SpringBootApplication
3 public class EurekalclientApplication {
4
5 public static void main(String[] args) {
6 SpringApplication.run(EurekalclientApplication.class, args);
7 }
8 }
复制代码

Step3:配置Client的应用

1 spring.application.name=eureka-client
2
3 eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:2222/eureka/
提供一个测试的Controller。

复制代码
1 @RestController
2 public class HelloController {
3
4 @Autowired
5 private DiscoveryClient client;
6
7 @RequestMapping(value = “/hello”,method = RequestMethod.GET)
8 public String index(){
9 ServiceInstance instance=client.getLocalServiceInstance();
10 System.out.println("/hello,host:"+instance.getHost()+",service_id:"+instance.getServiceId());
11 return “hello world!”;
12 }
13
14 }
复制代码

Step4:启动多个实例

因为这里的多个实例,我们需要不同的端口,所以,我们还是采用前面的方法来启动多个实例。
在这里插入图片描述

启动后,我们可以在Eureka的注册中心中可以看到(Peer1和Peer2都可以看到)

在这里插入图片描述

PS:这里localhost:eureka-client这个是测试时残留的,这里没有清除掉,可以不用管它。

到这里,我们的服务注册中心和服务提供者都写好了。

第三部分:消费Eureka Client的消息

Step1:新建工程,引入依赖

注意,这里我们要引入新的依赖ribbon。

Eureka消费者的pom.xml

Step2:启用发现服务并开启客户端负载均衡

复制代码
1 @EnableDiscoveryClient
2 @SpringBootApplication
3 public class RibbonConsumerApplication {
4
5 public static void main(String[] args) {
6 SpringApplication.run(RibbonConsumerApplication.class, args);
7 }
8
9 //开启客户端负载均衡
10 @Bean
11 @LoadBalanced
12 RestTemplate restTemplate(){
13 return new RestTemplate();
14 }
15 }
复制代码

Step3:配置消费者(跟生产者类似)

1 spring.application.name=ribbon-consumer
2 server.port=9000
3
4 eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:2222/eureka/

Step4:编写消费者实例

复制代码
1 @RestController
2 public class ConsumerController {
3
4 @Autowired
5 RestTemplate restTemplate;
6
7 @RequestMapping(value = “/ribbon-consumer”,method = RequestMethod.GET)
8 public String helloConsumer(){
9 return restTemplate.getForEntity(“http://eureka-client/hello”,String.class).getBody();
10 }
11
12 }
复制代码

Step5:验证Eureka注册中心

在这里插入图片描述

Step6:验证请求

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值