资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

SpringCloud

Java 更新时间: 发布时间: 计算机考试归档 最新发布

SpringCloud

SpringCloud_服务注册中心_Consul(八)

分为五部分

Consul简介
安装并运行Consul
服务提供者
服务消费者
三个注册中心异同点

Consul简介

官网:https://developer.hashicorp.com/consul/docs/intro
是Go语言写的
Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发。
提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网络,总之Consul提供了一种完整的服务网格解决方案。

用处:

服务发现
健康检测
KV存储
多数据中心
可视化Web界面

中文操作手册

https://www.springcloud.cc/spring-cloud-consul.html

安装并运行Consul

进入到consul目录下,进入开发者模式,输入cmd

查看版本 consul --version

启动命令:consul agent -dev


页面访问:进入到consul的首页

http://localhost:8500

服务提供者

新建服务提供者cloud-provider-payment8006

                    org.springframework.cloud            spring-cloud-starter-consul-discovery        

pom文件配置

# 开发环境配置server:  # 服务器的HTTP端口,默认为8080  port: 8006spring:  application:    name: consul-payment-service  cloud:    consul:      discovery:        # hostname :127.0.0.1        service-name: ${spring.application.name}      host: localhost      port: 8500

主启动类:

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

Controller:

@RestController@Slf4j@RequestMapping("/pay")public class PaymentController {    @Value("${server.port}")    private String serverPort;    @RequestMapping("/consul")    public String paymentConsul() {        return "springcloud with consul:"+serverPort+"t"+ UUID.randomUUID().toString();    }}

启动服务提供者。可以看到consul页面配置。

页面访问,每次刷新都会生成一个新的uuid。
这里打印日志zookeeper忘记改为consul了

服务消费者

新建消费者cloud-consumerconsul-order80
与服务提供者创建过程一致,将端口号改为8082

controller

@RestController@RequestMapping("/consumer")public class OrderConsulController {    @Autowired    private RestTemplate restTemplate;    public static final String URL = "http://consul-payment-service";        @GetMapping("/getConsul")    public String paymentInfo(){        return restTemplate.getForObject(URL+"/pay/consul",String.class);    }}

启动服务消费者:输入地址进行测试

三个注册中心异同点

Zookeeper
Consul

Eureka是Java开发,AP,可配支持服务健康检测,对外暴露接口HTTP,已经集成SpringCloud
Consul是Go开发,CP,支持服务健康检测,对外暴露接口HTTP/DNS,已经集成SpringCloud
Zookeeper是Java开发,CP,支持服务健康检测,对外暴露接口客户端,已经集成SpringCloud

C:强一致性
A:可用性
P:分区容错性
CAP理论关注粒度是数据,而不是整体系统设计的策略

最多只能同时较好的满足两个
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性、分区容错性这三个需求。
CA:单点集群,满足一致性,可用性的系统,通常在可扩展上不太强大。
CP:满足一致性,分区容错性,通常性能不太高。
AP:满足一致性,分区容错性,通常对一致性要求低一些。

完整pom文件

    4.0.0            com.springcloud2022        SpingCloudDemo1        1.0-SNAPSHOT        cloud-consumerconsul-order80                        org.springframework.boot            spring-boot-starter-web                            org.springframework.boot            spring-boot-starter-actuator                            org.mybatis.spring.boot            mybatis-spring-boot-starter                            com.alibaba            druid-spring-boot-starter                                        mysql            mysql-connector-java                            org.springframework.boot            spring-boot-starter-jdbc                            org.springframework.boot            spring-boot-devtools            runtime            true                            org.projectlombok            lombok            true                            org.springframework.boot            spring-boot-starter-test            true                            org.projectlombok            lombok                            org.projectlombok            lombok                            org.projectlombok            lombok                            org.projectlombok            lombok                            com.springcloud2022            cloud-api_common            1.0-SNAPSHOT                                    org.springframework.cloud            spring-cloud-starter-consul-discovery            
转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1094971.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【SpringCloud】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2