持续创作,加速成长!这是我参与「日新计划 6 月更文挑战」的第7天,点击查看活动详情
作者平台
| CSDN:blog.csdn.net/qq_41153943
| :/u教程视频怎么制作方法seshell脚本r/651387…
| 知乎:www.zhihu.com/people/1变量与函数024…
| GitHub:github.com/JiangXia-10…
| 微信公众号:1024笔记
本文一共2163字,预计阅读10分钟
前言
前面的文章SpringCloud系列:服务注册与发现组教程英语件-Eureka(上)介绍了常见的服务注册与发现组件有:netflix的eureka、zookeeper(关于zk可以参考之前的文章:zookeep变量的定义er教程:入门篇)、consul、以及源码阿里的nacos。变量泵
其中SpringCl变量值oud:搭建Nacos服务以及服务发现介绍了如何使用nacos作为服务注册中心以及如何进行服务注册。文章zookeeper教程:入门篇则介绍了zookeeper的一些相关知shell怎么读识,shell怎么读 zookeshell是什么意思中文eper也可以作为服务注册中教程魔方心,但是它没有一个服务管理页面,需要通过shell的查看服务注册,使用比较麻烦。文章SpringCloud系列:服务注册与发现组件-Eureka(上服务器是什么)和SpringCloud系列:服务注册与发现组件-Eureka(下)介绍了eureka serve教程英语r如服务器租用何作为服务注册中心以及如何进行服务注册。但是eureka作为服务注册中心源码1688不仅需要自己开发微服务还需要使用eureka server开发服务注册中心,并且目前eureka 2.0版shell什么意思本已经停止孵化了。
常见的服务注册中心已经介绍的差不多了,就还差consul了,今天一起学习consul如何作为服务注册中心。
consul简介
consul是一变量泵个可以提供服务发现,健康检查,多数据中心,key/value存储等功能的分布式服务框架,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,consul的使用比较简单。consul是使用golang实现,所以具有可移植性,安装包仅仅是一个可执行文件服务器操作系统,方便安装。也非常方便和 Docker 配合使用。
更多consul的介绍:www.consul.io/docs/intro
consul官网地址:www.consul.io/
consul下载地址:www.consul.io/dowshell什么意思nloads
下载安装consul
consul下载地址:www.consul.io/downloads。可…
下载后是一个压缩文件,解压后是一个exe文件。命令行进入到该exe文件的文件夹下(文件路径不要有中文。)或者直接该文件夹下输入cmd:
然后输入命令变量与函数:
consul agent -dev # 以开发模式启动(测试使用)
consulagent-service#以服务器的模式启动(需要集群)
启动consul服务。
然后打开浏览器地址栏输入:
localhost:8500
如果不想每次都进入该目录可以将该路径配置shelly进环境变量的path路变量英语径即可。
service表示当前注册的服务。默认consul server启动的同时注册自己,所以一开始就有一个consul服务。变量
nodes表示consul的集服务器系统群节点。
dc1表示数据中心名称,默认是dc1(datacenter的缩写),可以通过下述命令启动时修改默认的数据中心名称:
# 启动时自定义数据中心名称
consulagent-dev-client=0.0.0.0--datacenter=jiangxia
consul下载安装并且启动完成之后就可以开发对应的微服务,然后在consul中进行服务注册了。
微服务开发以及服务注册
consul client端的开发和其他的比如nacos和eureka client的开发基本很像,主要的差别就是一些配教程英文翻译置的区别。
同理首先在父项目工程下创建一个springb教程魔方oot子项目,并且引入相关的依赖,然后就是配置文件和入口类。
具体的依赖如下:
<dependencies>
<!--引入springbootweb依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--引入consul依赖,用于服务注册发现-->
<!--Consul Discovery-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<!--引入健康检查的依赖,用于健康检查监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
</project>
除了常见的通用依赖,这里的核心依赖就是Consul Discovery的依赖用于服务注册和发现以及用于健康检查的spring-boot-star变量的定义ter-变量与函数actuator依赖。
consul会检测所有客户变量端心跳,但是发送心跳时client必须给予响应该服务才能正常运行。所以需服务器系统要引入健康检查的依赖,否则会导致健康检查始终不通过,导致服务不能使用shell命令,项目启动会出现下述情况:
入口类的代码如下:
@SpringBootApplication
@EnableDiscoveryClient //代表这是服务注册中心的一个客户端,通用的服务注册注解 可以表示consul、zk、nacos 具体根据导入的依赖判断
public class ConsulClientApplication {
public static void main(String[] args) {
SpringApplication.run(ConsulClientApplication.class,args);
}
}
这里除了@SpringBootApplication注解之外和consu服务器怎么搭建l相关的注解是@EnableShellDiscoveryClient,表示这是一个服务注册中心的客户端,用于服shell是什么意思中文务注册和发现,@EnableDiscove变量类型有哪些ryClient和@EnableEurekaClient共同点都是能够让注shell怎么读册中心能够发现,扫描到该服务。但是和@EnableEurekaClient 注解不一样的是@EnableEurekaClient注变量名解表示使用该注解的是一个eureka client的客户端,而@EnableDiscoveryClient是一个通用的注解,可以用于nacos、zk和consul。
接下来就是配置文件配置相应的端口和服务名称等:
#指定服务端口
server.port=8082
#指定服务名称
spring.application.name=consulclient
#向consul server 服务注册地址
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.service-name=${spring.application.name}
#健康检查设置,默认是true,可以设置为false。但是同理不建议在生成环境关闭
spring.cloud.consul.discovery.register-health-check=false
这里有个配置表示用于consul的健康检查,默认设置为true,上面提到的报错问题除了导入健康检查的依赖,还可以通过配置设置关闭健康检查来解决,但是和shell编程eureka一样,生产环境不建议关闭健康检查。
spring.cloud.consul.discovery.register-health-check=false
上述开发完成,启动项目,然后地址栏输入:
http://localhost:8500
可以发现刚刚开发的consul client已经注册进consul服务注册中心。
总结
通过上述过程,则使用consul作为服务注册中心并且进行服务注册和服务发现的开发完成了。
目前主流的服务注册中心有:eureka、nacos、consul、zookeeper。并且这几篇文章都分别介绍了这几款服务注册中心,总结下它们的区别和特点如下:
最后本文的源码在:githshell是什么意思中文ub.com/JiangXia-教程英文翻译10…
有任何问题和不对的地方,请指出交流讨论
相关推荐
-
Spring注解源码中的图片(三):@scope设置组件作用shell翻译域
-
SpringCloud:搭建Nacos服务以及服务发现
-
zookeeper教程:入门篇
-
SpringCloud系列:服务注册与发现组件-Eureka(上)
-
SpringCloud系列:服务注册与发现组件-Eureka(下)
发表回复
要发表评论,您必须先登录。