美文网首页
Spring Cloud Consul—服务发现与Consul

Spring Cloud Consul—服务发现与Consul

作者: 万万558 | 来源:发表于2018-02-06 11:55 被阅读0次

服务发现是基于微服务架构的关键原则之一。尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱。Consul通过HTTP APIDNS提供服务发现服务。Spring Cloud Consul利用HTTP API进行服务注册和发现。这不会阻止非Spring Cloud应用程序利用DNS界面。Consul代理服务器在通过八卦协议进行通信集群中运行,并使用Raft协议协议

如何激活

要激活Consul服务发现,请使用组org.springframework.cloud和artifact idspring-cloud-starter-consul-discovery的启动器。有关使用当前的Spring Cloud发布列表设置构建系统的详细信息,请参阅Spring Cloud项目页面

注册Consul

当客户端注册Consul时,它提供有关自身的元数据,如主机和端口,ID,名称和标签。默认情况下会创建一个HTTP检查,每隔10秒,Consul命中/health端点。如果健康检查失败,则服务实例被标记为关键。

示例Consul客户端:

@SpringBootApplication@EnableDiscoveryClient@RestControllerpublic class Application {    @RequestMapping("/")    public String home() {        return "Hello world";    }    public static void main(String[] args) {        new SpringApplicationBuilder(Application.class).web(true).run(args);    }}

(即完全正常的Spring Boot应用程序)。如果Consul客户端位于localhost:8500以外的位置,则需要配置来定位客户端。例:

application.yml

spring:

  cloud:

    consul:

      host: localhost

      port: 8500

警告如果您使用Spring Cloud Consul Config,上述值将需要放在bootstrap.yml而不是application.yml中。

来自Environment的默认服务名称,实例ID和端口分别为${spring.application.name},Spring上下文ID和${server.port}。

@EnableDiscoveryClient将应用程序设为Consul“服务”(即注册自己)和“客户端”(即可以查询Consul查找其他服务)。

源码来源

相关文章

网友评论

      本文标题:Spring Cloud Consul—服务发现与Consul

      本文链接:https://www.haomeiwen.com/subject/gthgzxtx.html