consul

Consul初探-集成ocelot

邮差的信 提交于 2019-12-29 01:40:13
前言 由于 Consul 的高可用性、丰富的API、友好的 Web 控制台界面等特点,Consul 的发展非常迅猛,得益于 .NETCore 社区的快速发展和社区成员的贡献,我们现在可以非常方便快速的将 Consul 集成到 .NETCore 中,在 Ocelot 的集成方面也是非常的便捷,在 API Gateway 项目中,只需要通过引用一个包,就可以在项目中服务发现了。 今天要完成的架构图 上面就是今天要完成的业务架构图,客户端、Ocelot 网关、Consul 集群、计算器服务集群,这几个模块组成了基本的分布式网关模型。 建立 APIGateway 项目 建立空项目 首先我们建立一个空的 Asp.NetCore WebApplication 程序,对于一个简单的网关程序来说,空项目足够了,因为我们写代码的地方不多 Ocelot 的包引用 我们只需要引用 Ocelot.Provider.Consul ,即可完成 ocelot 和 consul 的依赖引用 配置网关 首先,我们需要为 ocelot 网关编写一个配置文件,ocelot 的配置功能非常丰富,具体参考: https://ocelot.readthedocs.io/en/latest/,本次我们只编写一个最简单的 ocelot.json 文件,该配置文件决定了客户端的请求该如何转发到从 Consul

.net core Ocelot Consul 实现API网关 服务注册 服务发现 负载均衡

孤者浪人 提交于 2019-12-29 01:38:42
大神张善友 分享过 一篇 《.NET Core 在腾讯财付通的企业级应用开发实践》 里面就是用.net core 和 Ocelot搭建的可扩展的高性能Api网关。 Ocelot( http://ocelot.readthedocs.io )是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、 负载均衡 、请求聚合、认证、鉴权、限流熔断等,这些功能只都只需要简单的配置即可完成。 Consul(https://www.consul.io)是一个分布式,高可用、支持多数据中心的服务注册、发现、健康检查和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发。 Ocelot 天生集成 对Consul支持,在OcelotGateway项目中Ocelot.json配置就可以开启 ocelot + consul 的组合使用,实现服务注册、服务发现、 健康检查 、负载均衡。 软件版本 Asp.net Core :2.0 Ocelot :7.1.0-unstable0011 (开发时最新) Consul :1.1.0(开发时最新) 本文分开两部分:1、基于 Ocelot搭建Api网关;2、Ocelot+ Consul 实现下游服务的 服务注册、服务发现、 健康检查、负载均衡。 项目结构 Snai.Ocelot 网关: Snai.ApiGateway Asp

关于Ocelot和Consul 实现GateWay(网关) 服务注册 负载均衡等方面

孤者浪人 提交于 2019-12-29 01:38:16
Ocelot 路由 请求聚合 服务发现 认证 鉴权 限流熔断 内置负载均衡器 Consul 自动服务发现 健康检查 通过Ocelot搭建API网关 服务注册 负载均衡 1.创建三个空API项目 Api.Gateway(Ocelot网关服务器) Api.ServiceA(资源服务器A) Api.ServiceB(资源服务器B) 2.Api.Gateway项目中 添加Ocelot包 添加Ocelot.Json配置文件 Ocelot服务器端口配成5000 { "ReRoutes": [ { //暴露出去的地址 "UpstreamPathTemplate": "/api/{controller}", "UpstreamHttpMethod": [ "Get" ], //转发到下面这个地址 "DownstreamPathTemplate": "/api/{controller}", "DownstreamScheme": "http", //资源服务器列表 "DownstreamHostAndPorts": [ { "host": "localhost", "port": 5011 }, { "host": "localhost", "port": 5012 } ], //决定负载均衡的算法 "LoadBalancerOptions": { "Type": "LeastConnection"

安装-consul服务发现集群

。_饼干妹妹 提交于 2019-12-29 01:35:35
centos 7.4.x consul 1.2.2 list: 172.16.16.103 172.16.16.112 172.16.16.115 下载: #cd /usr/local/ #wget https://releases.hashicorp.com/consul/1.2.2/consul_1.2.2_linux_amd64.zip #tar zxvf xxxxxx.zip #第一台启动 #nohup ./consul agent -bind=172.16.16.112 -server -ui -bootstrap-expect 1 -data-dir=/data/consul/ -node=n1 -client=0.0.0.0 & 第二台启动: #nohup ./consul agent -bind=172.16.16.112 -server -ui -data-dir=/data/consul/ -node=n2 -client=0.0.0.0 & #./consul join 172.16.16.112 第三台启动: #nohup ./consul agent -bind=172.16.16.115 -server -ui -data-dir=/data/consul/ -node=n3 -client=0.0.0.0 & #./consul join 172.16

consul windows安装

本秂侑毒 提交于 2019-12-29 01:02:18
Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对.详情: https://www.consul.io/docs/internals/architecture.html ,架构图如下: consul安装: 1.下载: https://www.consul.io/downloads.html windows版本下载下来解压只有一个consul.exe文件,这是最好是在以下系统环境变量Path下附加consul.exe的路径。 参照: https://www.consul.io/intro/getting-started/install.html 2.运行consul代理 参考: https://www.consul.io/intro/getting-started/agent.html 来源: https://www.cnblogs.com/lcawen/p/7089103.html

Ocelot + Consul + Registrator 基于Docker 实现服务发现、服务自动注册

一笑奈何 提交于 2019-12-29 01:01:55
目录 1. Consul集群搭建 1.1 F&Q Consul官方推荐的host网络模式运行 2. Registrator服务注册工具 2.1 F&Q Registrator悬挂服务 Registrator的 -internal 选项 3. clientservice服务Demo 3.1 Program.cs 3.2 ValuesController.cs 3.3 Dockerfile 3.4 制作镜像并启动容器 4. Ocelot网关Demo 4.1 Program.cs: 4.2 Startup.cs: 4.3 添加配置文件configuration.json: 4.4 Dockerfile文件编写 4.5 发布项目,制作镜像,并启动容器 4.6 F&Q Ocelot服务发现地址怎么配置 Ocelot的服务发现地址配置 5 总结 关于这个工具的介绍这里就不多说了,网上、官网都很详细,这里直接记录一下搭建过程。另外最后有几个疑惑还未解决,希望各位前辈答疑解惑。 1. Consul集群搭建 我们基于Docker搭建三个Server和两个Client的DC。 server1 docker run -d --name server1 consul agent -server -node=server1 -bootstrap-expect=3 # 获取server1IP地址

.netcore consul实现服务注册与发现-集群部署

大憨熊 提交于 2019-12-29 01:00:07
一、Consul的集群介绍 Consul Agent有两种运行模式: Server 和 Client 。这里的Server和Client只是Consul集群层面的区分,与搭建在Cluster之上的应用服务无关, 以Server模式运行的Consul Agent节点用于维护Consul集群的状态,官方建议每个Consul Cluster至少有 3个或以上 的运行在Server Mode的Agent,Client节点不限。 1、Server节点需要三台或以上机器 2、Client节点不限 二、Consul环境准备 准备了三台Linux(CentOS)虚拟机( Consul Server )二台Linux(CentOS)虚拟机( Consul Client ) Consul Server 服务IP分别为: 192.168.31.175 192.168.31.176 192.168.31.177 Consul Client 服务IP分别为: 192.168.31.178 192.168.31.179 其中,192.168.31.175会作为leader角色,其余两台192.168.31.176和192.168.31.177会作为follower角色。当然,实际环境中leader角色不会是一个固定的,会随着环境的变化(比如Leader宕机或失联)由算法选出新的leader

Docker & Consul & Fabio & ASP.NET Core 2.0 微服务跨平台实践

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-29 00:59:31
Consul介绍    Consul是HashiCorp公司推出的开源工具[开源地址:https://github.com/hashicorp/consul],用于实现分布式系统的服务发现与配置。    与市面上其他系统比较如下:    总体而言, Consul用Golang实现,因此具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署,与Docker等轻量级容器可 无缝配合 。 此外,关于Consul的架构以及相关的角色,如下图所示:    以Server模式运行的Consul Agent节点用于维护Consul集群的状态,官方建议每个Consul Cluster至少有 3个或以上的运行在Server Mode的Agent,Client节点不限。 Consul支持多数据中心,每个数据中心的Consul Cluster都会在运行于Server模式下的Agent节点中选出一个Leader节点,这个选举过程通过Consul实现的raft协议保证,多个 Server节点上的Consul数据信息是强一致的。处于Client Mode的Consul Agent节点比较简单,无状态,仅仅负责将请求转发给Server Agent节点。 集群搭建   笔者打算通过五台Centos7来搭建Consul集群,借助VMware

spring cloud【进阶一】

做~自己de王妃 提交于 2019-12-28 01:24:40
转自: https://blog.csdn.net/qq_35781178/article/details/80049251 spring cloud 的优点: 服务治理:阿里巴巴开元的dubbo 和当当网在其基础上扩展的dubbox ,nettflix 的eureka,apache的consul等。 分布式配置管理:百度的disconf,nettflix的archaius 批量任务:spring cloud 的task 服务跟踪:京东的HYdra ,spring cloud 的sleuth. spring cloud 介绍: spring cloud 是一个基于spring boot 实现的微服务架构开发工具,它为微服务架构中涉及的配置管理,服务治理,断路由,智能路由,微代理,控制总线,全局锁,决策竞选,分布式会话和集群状态等操作提供了一种简单的开发方式。 spring cloud 包含了多个子项目: spring cloud config:配置管理工具,支持使用git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端配置信息刷新,加密/解密配置内容等。 spring cloud netflix:核心组件,对多个netflix oss开源套件进行整合。 eureka:服务治理组件,包含服务注册中心,服务注册与发现机制的实现。 hystrix:容错管理组件

SpringCloud服务的注册发现--------consul实现服务与发现

半世苍凉 提交于 2019-12-27 17:09:07
1,consul也可以替代Eureka实现注册和发现的功能,即注册中心。 之前在linux环境通过consul + upsync + nginx 实现nginx 的动态负载均衡 https://www.cnblogs.com/pickKnow/p/11227804.html 2,consul 实现注册中心 1,服务器端搭建 Consul 整合 SpringCloud 学习网站 : https://springcloud.cc/spring-cloud-consul.html Consul 下载地址 https://www.consul.io/downloads.html 官方下载地址下载window版,解压得到一个可执行文件。 设置环境变量,让我们直接在cmd里可直接使用consul使命。在path后面添加consul所在目录例如D:\soft\consul_1.1.0_windows_amd64 启动consul命 consul agent -dev -ui -node=cy -dev开发服务器模式启动,-node结点名为cy,-ui可以用界面访问,默认能访问。 测试访问地址:http://localhost:8500 3,配置,只需配置要注册服务的配置文件: member: server: port: 8000 spring: application: name: consul