栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【五】、Consul注册中心

【五】、Consul注册中心

1.什么是Consul?

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

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

与其他分布式服务注册与发现的方案相比,Consul的方案更加“一站式”——内置了服务注册与发现框架、分布式一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具。

Consul本身使用GO语言开发,具有跨平台、运行高效等特点,也非常方便和Docker配合使用

2.安装并运行Consul Ⅰ.Consul官网

看不懂英文可以点击这里

Ⅱ.在存放consul.exe文件下使用开发者模式

Ⅲ.运行Consul
    查看consul版本
    consul --version
    输入命令启动consul
    .consul.exe agent -dev

    3.输入localhost:8500访问consul控制界面
3.导入Consul依赖

不要添加mysql相关依赖,因为我们这里不连接数据库,只是测试

        
            org.springframework.cloud
            spring-cloud-starter-consul-discovery
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
        
4.新建yml文件
##consul服务端口号
server:
  port: 8006

spring:
  application:
    name: consul-provider-payment
  ####consul注册中心地址
  cloud:
    consul:
      #consul服务端的ip或者域名
      host: localhost
      # consul服务端的端口号 默认是8500
      port: 8500
      discovery:
        #当前应用注册到consul的名称
        service-name: ${spring.application.name}

5.Controller业务类
package com.asule.controller;


import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.UUID;


@RestController
@Slf4j
@RequestMapping("/payment")
public class PaymentController {

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

    @RequestMapping(value = "/consul")
    public String paymentConsul(){
        return "SpringCloud with consul:"+serverPort+"t"+ UUID.randomUUID().toString();
    }
}
6.启动程序测试

观察consul控制界面

输入路径观察是否有输出

7.Eureka、Zookeeper、Consul三个注册中的异同点
组件名开发语言健康检查对外暴露接口CAPSpringCloud是否集成
EurekaJava可配支持HTTPAP集成
ConsulGo支持HTTP/DFSCP集成
ZookeeperJava支持客户端CP集成
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721588.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号