栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Consul

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Consul

consul 1. 什么是Consul

consul 是一套开源的分布式服务发现和配置管理系统
官网:https://www.consul.io/intro/index.html

  • 服务注册发现(提供http和dns两种方式)
  • 健康监测(支持多种方式、Http、Tcp、Docker、Shell脚本定制)
  • KV存储(Key、Value的存储方式)
  • 多数据中心(Consul支持多数据中心)
  • 可视化Web界面
2.下载地址

下载地址:www.consul.io/downloads.html

使用教程:http://www.springcloud.cc/spring-cloud-consul.html

安装运行

https://learn.hashicorp.com/consul/getting-started/install.html

使用开发模式启动: consul --version

consul agent -dev

可以通过:http://localhost:8500

3.服务的提供者(cloud-paymentconsul-payment8006)
   
        
            org.example
            cloud-api-commons
            1.0-SNAPSHOT
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
        
            org.springframework.cloud
            spring-cloud-starter-consul-discovery
        
        
        
            org.springframework.boot
            spring-boot-starter-actuator
            2.3.1.RELEASE
        

        
        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
server:
  port: 8006

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

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

@RestController
public class PayMentController {
    @Value("${server.port}")
    private String serverPort;

    @RequestMapping(value = "/payment/consul")
    public String paymentConsul() {
        return "spring cloud with consul" + serverPort +"t"
                + UUID.randomUUID().toString();
    }

}

http://localhost:8006/payment/consul

4.服务的消费者(cloud-consumerconsul-order80)
       
        
            org.example
            cloud-api-commons
            1.0-SNAPSHOT
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
        
            org.springframework.cloud
            spring-cloud-starter-consul-discovery
        
        
        
            org.springframework.boot
            spring-boot-starter-actuator
            2.3.1.RELEASE
        

        
        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
server:
  port: 80
spring:
  application:
    name: cloud-consumer-order
  #consul注册中心地址
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        service-name: ${spring.application.name}
@SpringBootApplication
@EnableDiscoveryClient
public class OrderConsulMain80 {

    public static void main(String[] args) {
        SpringApplication.run(OrderConsulMain80.class,args);
    }
}
 
@Configuration
public class ApplicationConfig {
   @Bean
   @LoadBalanced
    public RestTemplate getRestTemplate() {
       return new RestTemplate();
   }
}

@RestController
public class ConsulController {
    private final static String SERVICE_NAME = "http://consul-provider-payment";
    @Resource
    private RestTemplate restTemplate;
    @GetMapping(value = "/consumer/payment/consul")
    public String paymentInfo() {
        String result = restTemplate.getForObject(SERVICE_NAME+"/payment/consul",String.class);
        return result;
    }
}

http://localhost/consumer/payment/consul

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288080.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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