SpringCloud~~~【Consul】

SpringCloud~~~【Consul】

Consul简介

https://www.consul.io/intro/index.html
分布式的服务发现和配置管理系统,go语言开发的。
提供了微服务系统中的服务治理、配置中心、控制总线等功能。
优点:基于raft协议,比较简洁;支持健康检查,同时支持HTTP和DNS协议,支持数据中心的WAN集群,提供图形界面,跨平台。

下载地址:https://www.consul.io/downloads
中文地址:https://www.springcloud.cc/spring-cloud-consul.html

下载之后将consul二进制文件拷贝到/usr/local/bin目录下,我的是mac
双击consul
看到如下信息表示成功:

Available commands are:
    acl            Interact with Consul's ACLs
    agent          Runs a Consul agent
    catalog        Interact with the catalog
    config         Interact with Consul's Centralized Configurations
    connect        Interact with Consul Connect
    debug          Records a debugging archive for operators
    event          Fire a new event
    exec           Executes a command on Consul nodes
    force-leave    Forces a member of the cluster to enter the "left" state
    info           Provides debugging information for operators.
    intention      Interact with Connect service intentions
    join           Tell Consul agent to join cluster
    keygen         Generates a new encryption key
    keyring        Manages gossip layer encryption keys
    kv             Interact with the key-value store
    leave          Gracefully leaves the Consul cluster and shuts down
    lock           Execute a command holding a lock
    login          Login to Consul using an auth method
    logout         Destroy a Consul token created with login
    maint          Controls node or service maintenance mode
    members        Lists the members of a Consul cluster
    monitor        Stream logs from a Consul agent
    operator       Provides cluster-level tools for Consul operators
    reload         Triggers the agent to reload configuration files
    rtt            Estimates network round trip time between nodes
    services       Interact with services
    snapshot       Saves, restores and inspects snapshots of Consul server state
    tls            Builtin helpers for creating CAs and certificates
    validate       Validate config files/directories
    version        Prints the Consul version
    watch          Watch for changes in Consul

打开另一个终端:输入

consul agent -dev

成功后访问localhost:8500
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-flh5Umqb-1607913579026)(en-resource://database/2230:1)]
OK啦~很简单。

搭建微服务提供者

cloud-providerconsul-payment8006
application.yaml

###consul服务端口号
server:
  port: 8006
spring:
  application:
    name: consul-provider-payment
  ####consul注册中心地址
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        #hostname: 127.0.0.1
        service-name: ${spring.application.name}

controller层:

@RestController
@Slf4j
public class PaymentController {

    @Value("${server.port}")
    private String serverPort;

    @RequestMapping(value = "/payment/consul")
    public String paymentconsul(){
        return "springcloud with consul:" + serverPort + "\t" + UUID.randomUUID().toString();
    }
}

启动类:

@SpringBootApplication
@EnableDiscoveryClient
public class PaymentMain8006 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain8006.class,args);
    }

}

启动可以看到服务注册进consul
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-32S9jVqH-1607913579028)(en-resource://database/2232:1)]
访问localhost:8006/payment/consul
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dzjb5LK0-1607913579032)(en-resource://database/2234:1)]

搭建微服务消费者和zookeeper一样~
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U1f4gCpp-1607913579036)(en-resource://database/2235:1)]

###consul服务端口号
server:
  port: 80

spring:
  application:
    name: cloud-consumer-order
  ####consul注册中心地址
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        #hostname: 127.0.0.1
        service-name: ${spring.application.name}

三个注册中心的异同点

组件名语言CAP服务健康检查对外暴露接口Spring Cloud集成
EurekaJavaAP可配支持HTTP已集成
ConsulGOCP支持HTTP/DNS已集成
ZookeeperJavaCP支持客户端已集成

CAP

C:Consistency(强一致性)
A:Availability(可用性)
P:Partition tolerance(分区容错性)
CAP理论关注粒度是数据
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,因此,根据CAP原理将NoSQL数据库分成了满足CA原则、满足CP原则和满足AP原则三大类:
CA:单点集群,满足一致性,可用性的系统,通常可扩展性上不太强大。
CP:满足一致性,分区容错性的系统,通常性能不是特别高。
AP:满足可用性,分区容错性的系统,通常可能对一致性要求低一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值