企业分布式微服务云SpringCloud SpringBoot mybatis (十四)服务注册(consul)

2021-06-19 20:05

阅读:478

标签:mapping   out   interval   健康   plugin   rgs   project   inter   系统   

这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具。consul具有分布式、高可用、高扩展性。

一、consul 简介

consul 具有以下性质:

  • 服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。
  • 服务健康监测
  • key/value 存储
  • 多数据中心

consul可运行在mac windows linux 等机器上。

二、consul安装

linux

$ mkdir -p $GOPATH/src/github.com/hashicorp && cd $!
$ git clone https://github.com/hashicorp/consul.git
$ cd consul
$ make bootstrap
$ make bootstrap

三、构建工程

构建一个consul-miya的springboot工程,导入依赖pring-cloud-starter-consul-discovery,其依赖文件:


    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4.0.0com.forezp
    consul-miya
    0.0.1-SNAPSHOTjarconsul-miyaDemo project for Spring Bootorg.springframework.boot
        spring-boot-starter-parent
        1.5.2.RELEASEUTF-8UTF-81.8org.springframework.cloud
            spring-cloud-starter-consul-discovery
        org.springframework.boot
            spring-boot-starter-web
        org.springframework.boot
            spring-boot-starter-test
            testorg.springframework.cloud
                spring-cloud-dependencies
                Dalston.RELEASEpomimportorg.springframework.boot
                spring-boot-maven-plugin
            

在其入口文件ConsulMiyaApplication加入注解@EnableDiscoveryClient,开启服务发现:

@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class ConsulMiyaApplication {
 
    @RequestMapping("/hi")
    public String home() {
        return "hi ,i‘m miya";
    }
 
    public static void main(String[] args) {
        new SpringApplicationBuilder(ConsulMiyaApplication.class).web(true).run(args);
    }
}

在其配置文件application.yml指定consul服务的端口为8500:

spring:
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        healthCheckPath: ${management.contextPath}/health
        healthCheckInterval: 15s
        instance-id: consul-miya
  application:
    name: consul-miya
server:
  port: 8502

启动工程,访问localhost:8500,可以发现consul-miya被注册了。

以上是我在做项目或架构的一些经验分享给大家,闲话少说,下面讲一下整个架构的代码结构:

1. 系统服务

技术分享图片

2. 通用组件

技术分享图片

3. 业务服务

技术分享图片

完整项目的源码来源 技术支持2147775633

企业分布式微服务云SpringCloud SpringBoot mybatis (十四)服务注册(consul)

标签:mapping   out   interval   健康   plugin   rgs   project   inter   系统   

原文地址:https://www.cnblogs.com/leafitit/p/9690232.html


评论


亲,登录后才可以留言!