美文网首页
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