Windows下安装Consul与简单介绍 电脑版发表于:2020/5/25 20:39 Consul 是一个用来实现分布式系统服务发现与配置的开源工具。它内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,也可以作为配置中心。 **为什么需要服务注册与服务发现**: 我的理解:就是服务于服务之间不直接依赖,而是通过注册中心来管理。就类似依赖注入一样,类与类之间不支持依赖,而是通过依赖注入容器来管理。 和依赖注入类似,依赖于接口依赖于抽象不依赖于具体实现,用服务治理和就依赖于服务治理了不依赖于具体的服务了,相当于多加了一层 因为多加了一层,服务与服务之间的耦合度降低了,通过服务发现的方式去调用服务,可以支持动态扩展,比如动态的增加服务与减少服务 ####下载: https://download.tnblog.net/resource/index/836598dc6043401f9e8ab6634b303313 >这里吐槽下这个上传大小的限制...emmm项目要配置,iis要配置,nginx要配置,跨过一个坑又要一个坑 <br/> ####解压: 找一个位置解压,然后在你解压的位置输入启动命令(开发者模式): ``` consul agent -dev ``` 如图:  输入命令正确启动即可不需要安装,启动成功后输入地址http://localhost:8500/ 就可以成功的访问到Consul的界面了  nodes里边存放的是集群节点 ####Consul启动模式: **开发者模式** 通过命令:consul agent -dev 简单启动,就可以通过http://localhost:8500/ 来访问这个consul 但是,这种模式一般是自己开发的时候用的,因为它不带记忆功能,不能持久化数据,关闭后数据就没有了,也不能与其他consul互通。 外网访问: consul agent -dev 只能本地可以访问 要想通过ip可以访问,使用下面的使用即可 consul agent -dev -client 0.0.0.0 -ui 指定ip可以访问 **Client模式** 这种模式下,所有注册到当前节点的服务会被转发到Server,本身是不持久化这些信息。 Client模式不能脱离Server单独运行,因此无法实现单机模式 **Server模式** Consul 的 Server 模式,表明这个 Consul 是个 Server ,这种模式下,功能和 Client 都一样,唯一不同的是,它会把所有的信息持久化的本地,这样遇到故障,信息是可以被保留的。 运行命令: ``` consul agent -server -bootstrap-expect 1 -data-dir /soft/data/consul -node=consulServer1 -bind=10.267.83.220 -ui -rejoin -config-dir=/soft/config/consul/ -client 0.0.0.0 ``` 启动后可以通过http://10.267.83.220:8500 来访问这个consul的ui界面。 - server : 定义agent运行在server模式 - bootstrap-expect :在一个datacenter中期望提供的server节点数目,当该值提供的时候,consul一直等到达到指定sever数目的时候才会引导整个集群,该标记不能和bootstrap共用 - bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0 - node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名 - ui: 开启consul的界面; - rejoin:使consul忽略先前的离开,在再次启动后仍旧尝试加入集群中。 - config-dir:配置文件目录,里面所有以.json结尾的文件都会被加载 - client:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0 当然简单一点就直接consul agent -server就行 <br/> ####关于Consul Key/Value数据持久化的问题: 如果不用Consul本身的数据持久化,可以考虑自己存储这些持久化数据,然后可以在初始化的时候,把配置信息比如存储在数据库中的配置信息写到consul,然后在获取。