- 浏览: 1475324 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
### 安装
[centos7上consul的安装](http://www.cnblogs.com/wang2650/p/5473881.html)
wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip
consul -v
json格式化
```shell
yum -y install epel-release
yum install jq -y
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n1 -bind=192.168.139.194 -dc=dc1
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.139.218 -dc=dc1
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.139.193 -dc=dc1
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.139.161 -dc=dc1
```
在第一个节点上
consul join 192.168.139.218
#######################################
如果发现集群有问题,就 rm -rf /tmp/consul
mkdir /tmp/consul
#####################################
[consul入门](http://blog.csdn.net/viewcode/article/details/45915179)
[服务发现系统consul介绍](http://www.codeweblog.com/%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E7%B3%BB%E7%BB%9Fconsul%E4%BB%8B%E7%BB%8D/)
# 例子1
mkdir /etc/consul.d/
echo '{"service": {"name": "web", "tags": ["rails"], "port": 80}}' >/etc/consul.d/web.json
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -bind=192.168.139.218 -config-dir /etc/consul.d
dig @127.0.0.1 -p 8600 web.service.consul
dig @127.0.0.1 -p 8600 web.service.consul SRV
curl http://localhost:8500/v1/catalog/service/web |jq
curl http://localhost:8500/v1/catalog/nodes |python -m json.tool
dig @127.0.0.1 -p 8600 mcompute616.node.consul
健康检查
echo '{"check": {"name": "ping", "script": "ping -c1 www.baidu.com >/dev/null", "interval": "30s"}}' >/etc/consul.d/ping.json
echo '{"service": {"name": "web", "tags": ["rails"], "port": 80 ,"check": {"script": "curl localhost:80 >/dev/null 2>&1", "interval": "10s"}}}' >/etc/consul.d/web.json
curl -s http://localhost:8500/v1/health/state/any | python -m json.tool
查看所有
curl -v http://127.0.0.1:8500/v1/kv/?recurse | python -m json.tool
curl -X PUT -d 'test' http://127.0.0.1:8500/v1/kv/web/key1
curl -X PUT -d 'test' http://127.0.0.1:8500/v1/kv/web/key2?flags=42
curl -X PUT -d 'test' http://127.0.0.1:8500/v1/kv/web/web/sub/key3
查看一个
curl -s http://127.0.0.1:8500/v1/kv/web/key1|python -m json.tool
删除所有
curl -X DELETE http://127.0.0.1:8500/v1/kv/web/sub?recurse
修改(不好使呀)
curl -X PUT -d 'newval' http://127.0.0.1:8500/v1/kv/web/key1?cas=106
curl -X PUT -d 'newval' http://127.0.0.1:8500/v1/kv/web/key1?cas=106
curl -s http://127.0.0.1:8500/v1/kv/web/key1|python -m json.tool
### 例子2
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=agent-one -bind=192.168.139.218
#consul agent -data-dir /tmp/consul -node=agent-one -bind=192.168.139.218
consul agent -server -data-dir /tmp/consul
consul agent -data-dir /tmp/consul -node=agent-two -bind=192.168.139.194
consul agent -data-dir /tmp/consul -node=agent-three -bind=192.168.139.193
第一个节点
consul join 192.168.139.194 192.168.139.193
consul members
consul info
### 例子3
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -bind=192.168.139.218 -config-dir /etc/consul.d
consul agent -data-dir /tmp/consul -join=192.168.139.218 -bind=192.168.139.194
### 三台机器的测试
https://blog.coding.net/blog/intro-consul?type=hot
http://www.bubuko.com/infodetail-800623.html
consul agent -server -bootstrap -data-dir /tmp/consul -bind=192.168.139.218
consul agent -server -data-dir /tmp/consul -bind=192.168.139.194
consul agent -server -data-dir /tmp/consul -bind=192.168.139.193
第一个节点
consul join 192.168.139.194 192.168.139.193
ctl+c 断开第一个节点,之后
consul agent -server -data-dir /tmp/consul -bind=192.168.139.218
consul join 192.168.139.194 192.168.139.193
curl -X PUT -d '{"Datacenter": "dc1", "Node": "mysql-1", "Address": "mysql-1.node.consul","Service": {"Service": "mysql", "tags": ["master","v1"], "Port": 3306}}' http://127.0.0.1:8500/v1/catalog/register
curl -X PUT -d '{"Datacenter": "dc1", "Node": "mysql-2", "Address": "mysql-2.node.consul","Service": {"Service": "mysql", "tags": ["slave","v1"], "Port": 3306}}' http://127.0.0.1:8500/v1/catalog/register
curl http://127.0.0.1:8500/v1/catalog/service/mysql
curl http://127.0.0.1:8500/v1/catalog/service/mysql|python -m json.tool
curl 127.0.0.1:8500/v1/catalog/nodes |python -m json.tool
dig @127.0.0.1 -p 8600 mysql.service.consul SRV
### 健康检查
kill掉一个节点,consul members处于fail状态
curl http://localhost:8500/v1/health/state/critical
### K/V存储
curl -v http://localhost:8500/v1/kv/?recurse |python -m json.tool
curl -X PUT -d 'test' http://localhost:8500/v1/kv/mysql/key2?flags=43
curl -X DELETE http://localhost:8500/v1/kv/mysql/key2?recurse
curl -X PUT -d 'newval' http://localhost:8500/v1/kv/mysql/key1?flags=100
更新index:
curl "http://localhost:8500/v1/kv/mysql/key1?index=101&wait=5s"
##################################
consul agent -atlas-join -atlas=ATLAS_USERNAME/infrastructure -atlas-token="YOUR_ATLAS_TOKEN"
curl https://mysql.service.consul/v1/kv/my-key
{"service": {"name" : "test","port" : 9999,"check":{ "tcp": "127.0.0.1:9999", "interval": "10s" }} }
[consul-template入门篇](http://blog.csdn.net/daiyudong2020/article/details/53559008)
docker run -d --name=consul --net=host gliderlabs/consul-server -bootstrap -bind=192.168.0.149
docker run -d --name=registrator --net=host --volume=/var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator:latest consulkv://localhost:8500/hello
consul-template -consul 127.0.0.1:8500 -template /root/nginx_web.ctmpl:/usr/local/nginx/conf/nginx.conf:"/usr/local/nginx/sbin/nginx -s reload"
curl -X PUT -d 'test' http://localhost:8500/v1/kv/hello/hehe?flags=43
curl -v http://localhost:8500/v1/kv/?recurse |python -m json.tool
### nginx的例子 ###
模板语言https://book-consul-guide.vnzmi.com/11_consul_template.html
删除所有
curl -X DELETE http://127.0.0.1:8500/v1/kv/?recurse
curl --request PUT --data "192.168.139.161" http://localhost:8500/v1/kv/myserver/mcontroller605
curl --request PUT --data "192.168.139.193" http://localhost:8500/v1/kv/myserver/mcompute605
curl -s http://localhost:8500/v1/kv/myserver?recurse | jq
consul-template -consul-addr 127.0.0.1:8500 -template /root/nginx_web.ctmpl:/usr/local/nginx/conf/nginx.conf:"/usr/local/nginx/sbin/nginx -s reload" -once
consul-template -config ./tmpl.json -once
nginx_web.ctmpl
```go
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream app {
{{range ls "myserver/" }}
server {{.Value}} weight=5;{{end}}
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://app;
}
}
}
```
tmpl.json
```javascript
consul = "127.0.0.1:8500"
template {
source = "./nginx_web.ctmpl"
destination = "/usr/local/nginx/conf/nginx.conf"
command = "/usr/local/nginx/sbin/nginx -s reload"
}
```
### consul-template 的helloword:
ls
config.ctmpl tmpl.json
tmpl.json
```javascript
consul = "127.0.0.1:8500"
template {
source = "./config.ctmpl"
destination = "./config.py"
command = "python ./config.py"
}
···
config.ctmpl
```python
#!/usr/bin/python
#coding:utf-8
#bottle
iplist = [ {{range service "web"}} "{{.Address}}",{{end}} ]
port = 8080
for ip in iplist:
print ip
```
consul-template -config ./tmpl.json -once
生成config.py
```shell
cat /etc/consul.d/web.json
{"service": {"name": "web", "tags": ["rails"], "port": 80 ,"check": {"script": "curl localhost:80", "interval": "10s"}}}
curl http://127.0.0.1:8500/v1/catalog/service/web|python -m json.tool
```
### kv的例子 ###
https://python-consul.readthedocs.io/en/latest/#consul-status
yum install python-virtualenv
virtualenv mysite
source mysite/bin/activate
pip install python-consul
a.py
```python
import consul
c = consul.Consul()
# poll a key for updates
index = None
while True:
index, data = c.kv.get('foo', index=index)
print data['Value']
# in another process
c.kv.put('foo', 'bar')
```
### 基本使用 ###
curl -v 是显示详细, -s是只显示结果
设置值
curl --request PUT --data "hello" http://localhost:8500/v1/kv/my-key
查所有值
curl -v http://localhost:8500/v1/kv/?recurse |python -m json.tool
查某个值
curl -v http://localhost:8500/v1/kv/my-key |python -m json.tool
显示值的value
curl -s http://127.0.0.1:8500/v1/kv/my-key| jq -r .[0]'.Value'|base64 -d
curl -s http://127.0.0.1:8500/v1/kv/foo| jq -r .[0]'.Value'|base64 -d
删除所有
curl -X DELETE http://127.0.0.1:8500/v1/kv/?recurse
[centos7上consul的安装](http://www.cnblogs.com/wang2650/p/5473881.html)
wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip
consul -v
json格式化
```shell
yum -y install epel-release
yum install jq -y
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n1 -bind=192.168.139.194 -dc=dc1
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.139.218 -dc=dc1
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.139.193 -dc=dc1
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.139.161 -dc=dc1
```
在第一个节点上
consul join 192.168.139.218
#######################################
如果发现集群有问题,就 rm -rf /tmp/consul
mkdir /tmp/consul
#####################################
[consul入门](http://blog.csdn.net/viewcode/article/details/45915179)
[服务发现系统consul介绍](http://www.codeweblog.com/%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E7%B3%BB%E7%BB%9Fconsul%E4%BB%8B%E7%BB%8D/)
# 例子1
mkdir /etc/consul.d/
echo '{"service": {"name": "web", "tags": ["rails"], "port": 80}}' >/etc/consul.d/web.json
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -bind=192.168.139.218 -config-dir /etc/consul.d
dig @127.0.0.1 -p 8600 web.service.consul
dig @127.0.0.1 -p 8600 web.service.consul SRV
curl http://localhost:8500/v1/catalog/service/web |jq
curl http://localhost:8500/v1/catalog/nodes |python -m json.tool
dig @127.0.0.1 -p 8600 mcompute616.node.consul
健康检查
echo '{"check": {"name": "ping", "script": "ping -c1 www.baidu.com >/dev/null", "interval": "30s"}}' >/etc/consul.d/ping.json
echo '{"service": {"name": "web", "tags": ["rails"], "port": 80 ,"check": {"script": "curl localhost:80 >/dev/null 2>&1", "interval": "10s"}}}' >/etc/consul.d/web.json
curl -s http://localhost:8500/v1/health/state/any | python -m json.tool
查看所有
curl -v http://127.0.0.1:8500/v1/kv/?recurse | python -m json.tool
curl -X PUT -d 'test' http://127.0.0.1:8500/v1/kv/web/key1
curl -X PUT -d 'test' http://127.0.0.1:8500/v1/kv/web/key2?flags=42
curl -X PUT -d 'test' http://127.0.0.1:8500/v1/kv/web/web/sub/key3
查看一个
curl -s http://127.0.0.1:8500/v1/kv/web/key1|python -m json.tool
删除所有
curl -X DELETE http://127.0.0.1:8500/v1/kv/web/sub?recurse
修改(不好使呀)
curl -X PUT -d 'newval' http://127.0.0.1:8500/v1/kv/web/key1?cas=106
curl -X PUT -d 'newval' http://127.0.0.1:8500/v1/kv/web/key1?cas=106
curl -s http://127.0.0.1:8500/v1/kv/web/key1|python -m json.tool
### 例子2
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=agent-one -bind=192.168.139.218
#consul agent -data-dir /tmp/consul -node=agent-one -bind=192.168.139.218
consul agent -server -data-dir /tmp/consul
consul agent -data-dir /tmp/consul -node=agent-two -bind=192.168.139.194
consul agent -data-dir /tmp/consul -node=agent-three -bind=192.168.139.193
第一个节点
consul join 192.168.139.194 192.168.139.193
consul members
consul info
### 例子3
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -bind=192.168.139.218 -config-dir /etc/consul.d
consul agent -data-dir /tmp/consul -join=192.168.139.218 -bind=192.168.139.194
### 三台机器的测试
https://blog.coding.net/blog/intro-consul?type=hot
http://www.bubuko.com/infodetail-800623.html
consul agent -server -bootstrap -data-dir /tmp/consul -bind=192.168.139.218
consul agent -server -data-dir /tmp/consul -bind=192.168.139.194
consul agent -server -data-dir /tmp/consul -bind=192.168.139.193
第一个节点
consul join 192.168.139.194 192.168.139.193
ctl+c 断开第一个节点,之后
consul agent -server -data-dir /tmp/consul -bind=192.168.139.218
consul join 192.168.139.194 192.168.139.193
curl -X PUT -d '{"Datacenter": "dc1", "Node": "mysql-1", "Address": "mysql-1.node.consul","Service": {"Service": "mysql", "tags": ["master","v1"], "Port": 3306}}' http://127.0.0.1:8500/v1/catalog/register
curl -X PUT -d '{"Datacenter": "dc1", "Node": "mysql-2", "Address": "mysql-2.node.consul","Service": {"Service": "mysql", "tags": ["slave","v1"], "Port": 3306}}' http://127.0.0.1:8500/v1/catalog/register
curl http://127.0.0.1:8500/v1/catalog/service/mysql
curl http://127.0.0.1:8500/v1/catalog/service/mysql|python -m json.tool
curl 127.0.0.1:8500/v1/catalog/nodes |python -m json.tool
dig @127.0.0.1 -p 8600 mysql.service.consul SRV
### 健康检查
kill掉一个节点,consul members处于fail状态
curl http://localhost:8500/v1/health/state/critical
### K/V存储
curl -v http://localhost:8500/v1/kv/?recurse |python -m json.tool
curl -X PUT -d 'test' http://localhost:8500/v1/kv/mysql/key2?flags=43
curl -X DELETE http://localhost:8500/v1/kv/mysql/key2?recurse
curl -X PUT -d 'newval' http://localhost:8500/v1/kv/mysql/key1?flags=100
更新index:
curl "http://localhost:8500/v1/kv/mysql/key1?index=101&wait=5s"
##################################
consul agent -atlas-join -atlas=ATLAS_USERNAME/infrastructure -atlas-token="YOUR_ATLAS_TOKEN"
curl https://mysql.service.consul/v1/kv/my-key
{"service": {"name" : "test","port" : 9999,"check":{ "tcp": "127.0.0.1:9999", "interval": "10s" }} }
[consul-template入门篇](http://blog.csdn.net/daiyudong2020/article/details/53559008)
docker run -d --name=consul --net=host gliderlabs/consul-server -bootstrap -bind=192.168.0.149
docker run -d --name=registrator --net=host --volume=/var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator:latest consulkv://localhost:8500/hello
consul-template -consul 127.0.0.1:8500 -template /root/nginx_web.ctmpl:/usr/local/nginx/conf/nginx.conf:"/usr/local/nginx/sbin/nginx -s reload"
curl -X PUT -d 'test' http://localhost:8500/v1/kv/hello/hehe?flags=43
curl -v http://localhost:8500/v1/kv/?recurse |python -m json.tool
### nginx的例子 ###
模板语言https://book-consul-guide.vnzmi.com/11_consul_template.html
删除所有
curl -X DELETE http://127.0.0.1:8500/v1/kv/?recurse
curl --request PUT --data "192.168.139.161" http://localhost:8500/v1/kv/myserver/mcontroller605
curl --request PUT --data "192.168.139.193" http://localhost:8500/v1/kv/myserver/mcompute605
curl -s http://localhost:8500/v1/kv/myserver?recurse | jq
consul-template -consul-addr 127.0.0.1:8500 -template /root/nginx_web.ctmpl:/usr/local/nginx/conf/nginx.conf:"/usr/local/nginx/sbin/nginx -s reload" -once
consul-template -config ./tmpl.json -once
nginx_web.ctmpl
```go
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream app {
{{range ls "myserver/" }}
server {{.Value}} weight=5;{{end}}
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://app;
}
}
}
```
tmpl.json
```javascript
consul = "127.0.0.1:8500"
template {
source = "./nginx_web.ctmpl"
destination = "/usr/local/nginx/conf/nginx.conf"
command = "/usr/local/nginx/sbin/nginx -s reload"
}
```
### consul-template 的helloword:
ls
config.ctmpl tmpl.json
tmpl.json
```javascript
consul = "127.0.0.1:8500"
template {
source = "./config.ctmpl"
destination = "./config.py"
command = "python ./config.py"
}
···
config.ctmpl
```python
#!/usr/bin/python
#coding:utf-8
#bottle
iplist = [ {{range service "web"}} "{{.Address}}",{{end}} ]
port = 8080
for ip in iplist:
print ip
```
consul-template -config ./tmpl.json -once
生成config.py
```shell
cat /etc/consul.d/web.json
{"service": {"name": "web", "tags": ["rails"], "port": 80 ,"check": {"script": "curl localhost:80", "interval": "10s"}}}
curl http://127.0.0.1:8500/v1/catalog/service/web|python -m json.tool
```
### kv的例子 ###
https://python-consul.readthedocs.io/en/latest/#consul-status
yum install python-virtualenv
virtualenv mysite
source mysite/bin/activate
pip install python-consul
a.py
```python
import consul
c = consul.Consul()
# poll a key for updates
index = None
while True:
index, data = c.kv.get('foo', index=index)
print data['Value']
# in another process
c.kv.put('foo', 'bar')
```
### 基本使用 ###
curl -v 是显示详细, -s是只显示结果
设置值
curl --request PUT --data "hello" http://localhost:8500/v1/kv/my-key
查所有值
curl -v http://localhost:8500/v1/kv/?recurse |python -m json.tool
查某个值
curl -v http://localhost:8500/v1/kv/my-key |python -m json.tool
显示值的value
curl -s http://127.0.0.1:8500/v1/kv/my-key| jq -r .[0]'.Value'|base64 -d
curl -s http://127.0.0.1:8500/v1/kv/foo| jq -r .[0]'.Value'|base64 -d
删除所有
curl -X DELETE http://127.0.0.1:8500/v1/kv/?recurse
发表评论
-
xl2tp 备份
2019-09-24 16:25 6792019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 732sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1431参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 18872019年12月26日 可以参考原来的配置 https:// ... -
lvs的helloworld
2017-06-13 20:36 596###################lvs######### ... -
系统调用的helloworld
2017-05-04 16:14 630《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1956参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 952/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 622找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
socket基础和select(python)
2016-06-14 17:21 1797上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 992不使用select 普通的基础socket连接,对多个客户端的 ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4355假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 659064位操作系统centos7 ############ 1.一 ... -
socat和netcat(nc)
2016-04-29 22:36 1742转 原文链接: http://www.wenquan.name ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1618接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1542qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ... -
neutron基础七(qemu tap)
2016-02-02 17:02 1028使用qemu 建立个虚拟机 然后用tap设备, 根据基础六,t ... -
neutron基础六(bridge fdb)
2016-01-28 18:30 2259转发表 在三台机器上建立三个namespace 192.16 ... -
南北流量
2016-01-23 23:26 1821一、三层网络架构: 接入层:负责服务器的接入和隔离 汇聚层:汇 ... -
neutron基础五(vxlans)
2016-01-19 16:01 2054架构图画的有点屎,凑合看 架构就是两台服务器 192.168 ...
相关推荐
本教程涵盖了 Consul 的安装、启动、管理服务等基本操作。Consul 提供了丰富的功能来支持分布式系统的运维管理。对于初学者来说,理解这些基础操作至关重要。此外,Consul 还具备更多的高级特性如多数据中心支持、...
Consul是一款由HashiCorp公司开发的开源工具,主要用于实现分布式系统的服务发现、...通过阅读这份文档,用户不仅能学习到Consul的基本用法,还能了解到如何在实际项目中有效利用其特性来提升系统的稳定性和可扩展性。
在使用Consul时,我们可以使用`DownstreamRouteFinderSettings`配置来告诉Ocelot使用Consul进行服务发现。例如: ```json "Routes": [ { "DownstreamPathTemplate": "/api/{一切}", "DownstreamScheme": "http"...
本篇文章将详细讲解如何使用 Go Micro 搭建基于 Consul 的服务发现集群实例。 首先,我们需要了解 Go Micro 的基本概念。Go Micro 是一种设计模式,它提供了一种构建微服务的结构化方式,包括服务注册、服务发现、...
以上就是关于 Consul 1.4.3 for Windows 的基本介绍和使用方法。在实际应用中,你可能还需要了解如何配置持久化存储、设置 ACL 规则、与其他 Consul 组件(如 Nomad、Vault 等)集成等更高级的话题。 Consul 是构建...
要在 Mac 上深入使用 Consul,你需要熟悉基本的命令行操作,理解服务网格概念,以及如何配置和管理 Consul 集群。同时,了解相关最佳实践和使用场景,如与 Docker、Kubernetes 等容器化技术的集成,将有助于提升你的...
不同于翻译自官方文档 的Consul 简介和快速入门,官网的文档太难懂了。 这个是来源于http://www.liangxiansen.cn/2017/04/06/consul/的文章。 看完基本的操作就很容易上手了。
在Windows环境下,启动Consul的基本命令如下: ```shell # 开发模式启动 consul agent -dev # 生产模式启动,需要指定配置文件 consul agent -server -bootstrap-expect 1 -data-dir ./data -ui ``` 这里,“-dev...
以上就是使用 `Go Micro` 和 `Consul` 构建服务发现集群的基本流程。在实际项目中,你可能需要考虑更复杂的网络环境,例如多数据中心的部署和高可用性。同时,`Go Micro` 提供了丰富的插件系统,可以根据需求扩展...
Consul是一款由HashiCorp公司开发的开源工具,主要用于...通过这些基本操作,你可以开始在Ubuntu环境中探索和使用Consul的强大功能。无论是小型项目还是大型分布式系统,Consul都是一个值得信赖的服务发现和管理工具。
安装和运行 Consul 1.6.1 on Windows 的基本步骤是解压压缩包,然后在命令行中执行 `consul.exe`,并根据需要指定参数,例如启动服务器模式 (`-server`) 或客户端模式 (`-client`),以及配置文件路径等。 总的来说...
Consul 是一款由 HashiCorp 公司开发的开源工具,用于实现分布式系统的服务发现、配置管理和健康检查...在 Windows 平台上使用 64 位版本的 Consul,你需要确保你的系统满足其运行要求,并根据实际需求进行配置和部署。
4. **基本用法**:安装`python-consul`库可以通过`pip install python-consul`命令完成。然后在Python代码中导入并实例化客户端,例如`from consul import Consul; consul = Consul()`,之后可以调用相应方法与...
安装和运行Consul的基本步骤如下: 1. 解压缩文件并移动到适当目录。 2. 初始化配置文件,例如`config.json`,定义服务器角色、数据目录、网络设置等。 3. 使用命令`./consul agent -server -bootstrap -data-dir /...
Consul 是一款由 HashiCorp 公司开发的开源工具,用于实现分布式系统的服务发现、配置和服务网格功能。它提供了一套完整的解决方案...在使用过程中,用户应充分了解 Consul 的基本概念和操作方式,以便充分发挥其潜力。
Consul支持基本硬件资源方面的检查,如:CPU、内存、硬盘等 5.Key/Value存储 Consul支持Key/Value存储功能,可以将Consul作为配置中心使用,可以将一些公共配置信息配置到Consul,然后通过Consul提供的 HTTP API来...
通过以上步骤,我们已经构建了一个基本的微服务架构,服务之间通过Feign进行透明化的调用,同时,HystrixCommand提供的熔断机制保障了系统的稳定性。这种架构可以很好地适应云环境,提高系统的可用性和容错性。 在...
以上就是 Spring Boot 2.2.4.RELEASE 和 Spring Cloud Hoxton.SR1 版本整合 Consul 的基本步骤和关键知识点。实际开发中,可能还需要根据具体需求进行更复杂的配置和定制。通过这个整合案例,你可以轻松地构建一个...
### Consul的基本概念 Consul是由多个组件构成的复杂系统,但其核心功能可以归纳为服务发现和键值存储。服务发现允许服务消费者(客户端)通过Consul发现服务提供者的位置,而键值存储则为应用程序提供了一种可扩展...
为了更好的理解和使用基于Consul的Configuration扩展组件,开发者需要熟悉Consul的基本使用方法,例如如何安装、启动Consul服务,并创建相应的key/value键值对。在Consul的UI界面中,可以设置commonservice和...