kong结合consul
- 早期版本
./etcdctl ls / --recursive
/name
/name1
/name1/wyc
/name1/wu
/name1/chao
/name1/chao/age
--------
./etcdctl -o extended get /name1/wyc
Key: /name1/wyc
Created-Index: 8
Modified-Index: 8
TTL: 0
Index: 9
11
./etcdctl watch /name1/wyc
当修改这个键的时候,watch就会输出最新的值并退出
--forever 一直监测直到用户按CTRL+C退出
curl -L http://localhost:2379/v2/keys/name
=========
kong
负载均衡
1.基于dns的负载均衡,后端服务的注册在kong之外完成,kong只接收来自dns服务器的更新。dns的ttl(time to live)决定了信息被刷新的频率,
kong with consul:
use consul as a dns server, then you'll have to live with TTL expiry times. Alternatively run a script on changes (services added/removed) to add a target entity through the Kong management api。
consul角色
1.agent是在consul集群中每个机器成员中运行的一个常驻进程。可以当做server或者server的身份运行。所有agent都可以运行dns或者http接口,并且执行健康检查和保持服务信息的同步。
2.client是一个agent,将rpc调用转向对应的服务。client是无状态的。唯一的在后台执行的逻辑就是加入Gossip同步池。
3.server同样是一个agent,职责包括实现集群的一致性,维护集群状态,响应rpc请求,与其他数据中心交换数据。
consul发现服务
consul提供了dns和http两种查询服务的方式。DNS 服务的默认端口设置为8600。Consul 服务被放置在 .consul 的命名空间下,DNS 查询的基础规则为 SERVICENAME.service.consul。其中 service 子域表示查询服务,SERVICENAME正是查询服务的名称。除了通过 DNS API,HTTP 服务也可用于服务查询。
consul使用
- 启动consul服务 consul agent -server -bootstrap -data-dir /tmp/consul -node=consul1 -bind 172.0.0.10
- 启动consul服务 consul agent -server -data-dir /tmp/consul -node=consul2 -bind 172.0.0.11 -join 172.0.0.10
- 启动业务服务(监听8045) consul agent -data-dir /tmp/consul -node=service1 -config-dir /etc/consul.d -bind 172.0.0.13 -join 172.0.0.10
在节点启动脚本中,我们已经将业务服务的定义信息写入/etc/consul.d/mysvc.json文件。这样在 Consul 客户端服务启动之后,就能将服务的信息同步到集群中的所有节点。
mysvc.json:
{
"service": {
"name": "my-svc",
"tags": [
"microservice"
],
"port": 8045,
"check": {
"script": "curl localhost:8045/status | grep OK || exit 2",
"interval": "5s"
}
}
}
-------
{
"service": {
"name": "web3",
"tags": ["master"],
"address": "127.0.0.1",
"port": 10000,
"checks": [
{
"http": "http://localhost:10000/health",
"interval": "10s"
}
]
}
}
4.机器节点,用于查看集群状态 consul agent -client=172.0.0.12 -ui-dir /vagrant/web/ -data-dir /tmp/consul -node=status -bind 172.0.0.12 -join 172.0.0.10
ui
http://localhost:8500/ui/#/dc1/nodes
kong结合consul的更多相关文章
- Api网关Kong集成Consul做服务发现及在Asp.Net Core中的使用
写在前面 Api网关我们之前是用 .netcore写的 Ocelot的,使用后并没有完全达到我们的预期,花了些时间了解后觉得kong可能是个更合适的选择. 简单说下kong对比ocelot打动我的 ...
- .Net微服务实战之负载均衡(下)
系列文章 .Net微服务实战之技术选型篇 .Net微服务实战之技术架构分层篇 .Net微服务实战之DevOps篇 .Net微服务实战之负载均衡(上) .Net微服务实战之CI/CD .Net微服务实战 ...
- 微服务之kong+consul(二)
一.kong 1.使用kong来做服务网关,目前kong使用的是0.13版本现在地址:https://docs.konghq.com/install,kong的社区版没有dashboard,可以使用k ...
- Consul和Kong的实践(一)
Consul和Kong的实践(一) 这一篇先介绍consul集群,以及consul和应用服务的结合使用,下一篇是和kong网关的结合. 一.Consul的集群安装 以其中一台机器为例: mkdir / ...
- Consul 快速入门 - Kong最佳实践
Consul是什么 Consul是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络调用.限流.熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统,而且开发使用都很简便.它提供了一个功 ...
- Kong(V1.0.2)loadbalancing
介绍 Kong为多个后端服务提供了多种负载平衡请求的方法:一种简单的基于DNS-based的方法,以及一种更动态的环形负载均衡器ring-balancer,它还允许在不需要DNS服务器的情况下使用se ...
- 微服务之:从零搭建ocelot网关和consul集群
介绍 微服务中有关键的几项技术,其中网关和服务服务发现,服务注册相辅相成. 首先解释几个本次教程中需要的术语 网关 Gateway(API GW / API 网关),顾名思义,是企业 IT 在系统边界 ...
- kong+konga
kong+kongau 注意kong1.0与之前版本API发生了很大的改动,所以是不兼容的,kongav0.14.0是匹配kong1.0+的,不兼容1.0之前的.可以根据自己的需求进行选择. kong ...
- kong添加upstream
整理的文档比较早,kong版本可能是0.10.3版本.详情请看官网最新文档 准备 使用kong代理后端请求 1.开放几个接口如下: 本地请求1:http://aaa.wyc.com:8888/aaa ...
随机推荐
- 【1】记一次破解wifi
当然,使用的依旧是aircrack套件,这次依旧是跑字典,今天,捉到了另一个实验室icephone的wpa握手包,我猜测实验室的wifi一般都跟自己的名字有关,icephone刚好是8位字母,于是我就 ...
- KVM初始化过程
转载:http://blog.csdn.net/dashulu/article/details/17074675 之前打算整理一下在Guest VM, KVM, QEMU中IO处理的整个流程,通过查阅 ...
- centos 引导盘
# grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to ...
- 设计模式之笔记--建造者模式(Builder)
建造者模式(Builder) 定义 建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 类图 描述 Builder:定义一个建造者抽象类,以规范产 ...
- Ruby-Clamp
require "clamp" class ClampTest < Clamp::Command # 1.命令行的参数使用主要分两类,一种是参数名称后面带参数值的方式, #我 ...
- vue的data用到this问题
问题:在vue中用vue-awesome-swiper,在data中初始化,用到swiper一个方法onTap,然后再调vue的一个函数,用到this,可是... data() { return { ...
- something about WinPE系统
[问]:啥是Win PE系统?做什么用的?和Win7哪个好? [答]:Win PE系统是一个小型系统,一般用特殊工具将Win PE制作在U盘里,电脑110的志愿者们使用它对电脑上原有系统进行修复或是进 ...
- 前端读者 | 嗨,你知道this吗
本文来自 @position_柚子,地址:https://juejin.im/post/5995c7a76fb9a0247a60c407 在平时的代码中,相信大家经常用到 this,可是你真的明白此 ...
- 深刻剖析VuGen脚本录制原理
扩展:深刻剖析VuGen脚本录制原理 LR中的VuGen组件,主要扮演一个proxy server的角色,在录制脚本时,记录下用户和服务器交互,然后自动生成脚本语言.在接下来的重放,或者大批量地加压时 ...
- HDU 6463.超级无敌简单题-卡边界的暴力 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)
超级无敌简单题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...