网站如何做关健词收录,免费动漫,网架公司排行,哈尔滨网站备案手续费Consul介绍#xff1a;Consul 是由 HashiCorp 公司推出的开源软件#xff0c;用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案#xff0c;Consul 的方案更“一站式”#xff0c;内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Valu… Consul介绍Consul 是由 HashiCorp 公司推出的开源软件用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案Consul 的方案更“一站式”内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案不再需要依赖其他工具比如 ZooKeeper 等使用起来也较为简单。Consul的如何实现的Consul 用 Golang 实现因此具有天然可移植性支持 Linux、windows 和 Mac OS X )它的安装包仅包含一个可执行文件方便部署与 Docker 等轻量级容器可无缝配合。微服务概念微服务是一种架构风格一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下每个任务代表着一个小的业务能力。尽管“微服务”这种架构风格没有精确的定义但其具有一些共同的特性如围绕业务能力组织服务、自动化部署、智能端点、对语言及数据的“去集中化”控制等等。简而言之微服务架构风格是一种将单个应用程序开发为一套小型服务的方法每个小型服务都在自己的流程中运行并与轻量级机制通常是HTTP资源API进行通信。这些服务围绕业务功能构建可通过全自动部署机制独立部署。这些服务至少集中管理可以用不同的编程语言编写并使用不同的数据存储技术。 Consul的安装与配置我们需要去下载Consul 下载很简单直接去https://www.consul.io/downloads.html 选择对应的平台即可如果你的是Mac OS x 那么直接双击那个可执行文件即可我的平台是windows10 那么相对于MacOsX是比较困难的即配置环境变量将文件的位置放到你的path中就可以了其目的就是为了在Cmd终端中能够键入执行Consul命令如果你的环境变量已经配置成功请在Cmd中敲击consul如果结果如下那么恭喜您你成功进入Consul大门。 名词解释Client : Consul 的 Client模式就是客户端模式。是 Consul 节点的一种模式这种模式下所有注册到当前节点的服务会被转发到 Server本身是不持久化这些信息。Server :Consul 的 Server 模式表明这个 Consul 是个 Server 这种模式下功能和 Client 都一样唯一不同的是它会把所有的信息持久化的本地这样遇到故障信息是可以被保留的。Server-Leader Server 是它们的老大它和其它 Server 不一样的一点是它需要负责同步注册的信息给其它的 Server 同时也要负责各个节点的健康监测。raft: Server 节点之间的数据一致性保证协议使用的是 raft而 zookeeper 用的 paxosetcd采用的也是raft服务发现协议:Consul 采用 http 和 DNS 协议etcd 只支持 http 。服务注册:Consul 支持两种方式实现服务注册一种是通过 Consul 的服务注册 Http API由服务自己调用 API 实现注册另一种方式是通过 json 格式的配置文件实现注册将需要注册的服务以 json 格式的配置文件给出。Consul 官方建议使用第二种方式。启动Consul如果是在单机情况下使用开发模式启动在终端中输入1~ » consul agent -dev开启Consul 集群首先创建Server-Leader即老大那么在终端上输入以下命令consul agent -server 表示以服务器模式启动代理。其中-bootstrap-expect2 表示节点个数为2个。-nodeconsul-server-1 表示节点名称-client0.0.0.0 表示客户端 IP-bind10.211.55.2 表示服务端 IP-datacenterdc1 数据中心名称需要注意的是,如果你启动的Server模式的话你一定要注意node名不要相同否则将会替换你的项。那么Server-Leader已经创建了需要别的服务器去进行连接了如果是Server模式输入以下命令只不过是拼接了-join id.-data-dir/tmp/consul 表示临时数据存储路径-join 10.211.55.2 表示加入 10.211.55.2 所在的集群这个时候如果出现Consul agent Running!!还有一大堆东西。那么说明你已经集群成功了你可以去自己的通过Consul提供的UI去看节点状况地址为 你自己的id8500端口即192.168.10.6:8500或者你的子节点均可但是如果说你的节点个数是4个你还有几个节点没有放上去那么UI是出不来了有可能会报500错。那么除了UI查看节点以外还可以通过终端输入指令来查看我们的节点状态。1consul members如果我们希望得到更为详细的信息可以使用指令来查看1consul operator raft list-peers如果说你没有服务器集群那么输入以上命令就会出现以下结果 创建.NET Core API 并注册服务如果你的 Consul Cluster 已经搭建完成那么可以接下来创建一个.NET Core API 来实现服务的注册。我们创建一个空的解决方案添加解决方案文件夹 “服务注册”创建Api项目。 修改启动配置文件在launchSettings.json中修改启动ip和端口。添加健康检查控制器在项目中添加一个名为 HealthController 的 API 控制器用于在将服务注册到 Consul 后的健康检查。在项目中添加Consul或者键入命令这当然由你选择。注册Consul中间件,修改Startup.cs文件这里使用的是 Consul 的服务注册 Http API。 完成后启动项目此时已成功注册。原文地址https://www.cnblogs.com/ZaraNet/p/10123291.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com