Idea搭建springcloud(一)---服务注册与发现之Eureka

对于一个springcloud项目来说,首先第一步就是要构建服务注册中心,什么是服务注册中心?形象地说就是每一个微服务都要先到这里注册,表明自己是一个微服务才能让springcloud给你暴露出去。springcloud已经给出了微服务架构搭建的所有组件,其中Eureka就是在springcloud中作为服务注册中心来使用。

构建Eureka Server

建立一个maven父工程

一直next,写上groupId,artifactId,构建完成。

在父工程中new一个module

勾选上Eureka Server,我这里选择的springboot版本是1.5.19

一直next,成功构建。

修改application.yml配置文件

添加@EnableEurekaServer注解向springboot声明自己是服务注册中心 

启动项目,访问地址http://localhost:7001

 

出现这个网页说明Eureka启动成功了。 

构建Eureka Client

Eureka的客户端其实就是服务提供者,服务消费者每次访问都会先去Eureka里面看看该服务是否已经注册,而服务提供者(Eureka客户端)也会与Eureka Server保持心跳连接,服务消费者发现服务提供者已经注册成功的就能进一步访问到服务提供者。

与构建Eureka Server差不多一样的过程,只是下面勾选的地方不一样

 修改application.yml配置文件

添加@EnableEurekaClient注解向springboot声明自己是Eureka Client  

启动Eureka Client,再次访问http://localhost:7001

可以看到

这个就是我们client端在application.yml里面设置的名字,,这个就是我们已经修改的client的主机的名字。

这样一个简单的Eureka服务注册中心就搭建好了。

服务发现

服务发现就是我们可以把我们的微服务信息暴露出去

使用DiscoveryClient

@RestController
public class TestController {

    @Autowired
    private DiscoveryClient client;

    @RequestMapping(value = "/dept/discovery", method = RequestMethod.GET)
    public Object discovery()
    {
        List<String> list = client.getServices();
        System.out.println("**********" + list);

        List<ServiceInstance> srvList = client.getInstances("MICROSERVICECLOUD-DEPT");
        for (ServiceInstance element : srvList) {
            System.out.println(element.getServiceId() + "\t" + element.getHost() + "\t" + element.getPort() + "\t"
                    + element.getUri());
        }
        return this.client;
    }

}

访问我们的服务提供者

 

以上得到的就是我们所有微服务的信息了 

使用服务消费者来进行访问

在父工程下面新建一个consumer的module工程,与上面新建服务者的步骤一样,因为消费者和提供者都要依赖于eureka,所以两个module都要加上eureka的依赖。

加上@EnableEurekaClient注解,由于消费者不用注册进eureka,所以写上了register-with-eureka: false

这里还设置了端口号为80,因为80端口号是http协议的默认端口号,所以我们这里访问消费者就可以直接http://localhost/...就行了

 

 

 

所以大概流程就是先访问消费者,消费者先去eureka中查看对应的提供者是否已注册,已注册的话直接访问提供者。 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值