天天看点

微服务架构:spring cloud之服务注册和服务发现

微服务架构:spring cloud之服务注册和服务发现

SpringCloud主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路有(Zuul),客户端负载均衡(Ribbon),Archaius,Turbine,Eureka为微服务的注册中心。

       Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一。用于云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。

        服务注册与发现对于微服务系统来说非常重要。有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务。他的功能类似于dubbo的注册中心(register)。

       服务发现:服务发现是微服务基础架构的关键原则之一。试图着手配置每个客户端或某种格式的约定可以说是非常困难的和非常脆弱的。Eureka是Netflix服务发现的一种服务和客户端。这种服务是可以被高可用性配置的和部署,并且在注册的服务当中,每个服务的状态可以互相复制给彼此。  

       服务注册:当一个客户端注册到Eureka,它提供关于自己的元数据(诸如主机和端口,健康指标URL,首页等)Eureka通过一个服务从各个实例接收心跳信息。如果心跳接收失败超过配置的时间,实例将会正常从注册里面移除 

       下图是基本的服务注册和发现

微服务架构:spring cloud之服务注册和服务发现

 通过@EnableEurekaServer注解启动一个服务注册中心提供给其他应用进行对话。

 http://127.0.0.1:8000/ 可以看到如下图

微服务架构:spring cloud之服务注册和服务发现

       是不是很简单啊,那么人要问了,为什么连登陆账号和密码都没有,在外网不是直接能进入注册中心, 这样很不安全啊。好,那我们加入登陆账号和密码

  (a):加入注册中心需要引入jar,在pom.xml加入

  (b):配置文件新建一个bootstrap.yml文件

  记得重新编译打包然后执行main方法。

       首先要去掉注册中心加入的权限,不然服务端会链接不上注册中心进行注册.

微服务架构:spring cloud之服务注册和服务发现
微服务架构:spring cloud之服务注册和服务发现

执行demo应该能看上面的结果,下图是注册中心找到的服务BIZ-SERVICE-0,上图是服务暴露的接口 

继续阅读