springcloud --consul

2021-04-25 01:26

阅读:461

标签:地址   健康   pool   metrics   集群   注意   方案   多语言   imp   

Spring Cloud 支持的服务发现软件以及特性对比

Feature euerka Consul zookeeper etcd
服务健康检查 可配支持 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳
多数据中心 支持
kv 存储服务 支持 支持 支持
一致性 raft paxos raft
cap ap ca cp cp
使用接口(多语言能力) http(sidecar) 支持 http 和 dns 客户端 http/grpc
watch 支持 支持 long polling/大部分增量 全量/支持long polling 支持 支持 long polling
自身监控 metrics metrics metrics
安全 acl /https acl https 支持(弱)
spring cloud 集成 已支持 已支持 已支持 已支持

 

 

 

 

 

 

 

 

 

 

Consul是什么

Consul是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络调用、限流、熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统,而且开发使用都很简便。它提供了一个功能齐全的控制平面,

主要特点是:服务发现、健康检查、键值存储、安全服务通信、多数据中心。

 

Consul 的优势

  • 使用 Raft 算法来保证一致性, 比复杂的 Paxos 算法更直接. 相比较而言, zookeeper 采用的是 Paxos, 而 etcd 使用的则是 Raft。
  • 支持多数据中心,内外网的服务采用不同的端口进行监听。 多数据中心集群可以避免单数据中心的单点故障,而其部署则需要考虑网络延迟, 分片等情况等。 zookeeper 和 etcd 均不提供多数据中心功能的支持。
  • 支持健康检查。 etcd 不提供此功能。
  • 支持 http 和 dns 协议接口。 zookeeper 的集成较为复杂, etcd 只支持 http 协议。
  • 官方提供 web 管理界面, etcd 无此功能。
  • 综合比较, Consul 作为服务注册和配置管理的新星, 比较值得关注和研究。

安装Consul

下载地址:

https://www.consul.io/downloads

运行Agent

安装完成后找到路径

技术图片

 

使用cmd打开黑窗口,使用agent 的开发模式启动

技术图片

 

 

 注意有一个是udp短连接,管理地址 选择是HTTP  127.0.0.1:8500

 技术图片

 

 

 

管理界面打开展示

技术图片

 

 

consul 放在项目中(单机版):

pom:

引入consul

 org.springframework.cloud
            spring-cloud-starter-consul-discovery
        
健康检查依赖于此包 org.springframework.boot spring-boot-starter-actuator

 

yml

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/2pc?useSSL=false
    username: root
    password: 123
    type: com.alibaba.druid.pool.DruidDataSource
  application:
    name: study-edu-order
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        hostname: eureka9001.com
        service-name: consul-1
mybatis:
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

启动类:

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

 

 

 

直接启动项目就会注册到consul上

技术图片

 

springcloud --consul

标签:地址   健康   pool   metrics   集群   注意   方案   多语言   imp   

原文地址:https://www.cnblogs.com/alomsc/p/13260716.html


评论


亲,登录后才可以留言!