caching - Apache 点燃 REST API
问题描述
我正在使用 Apache Ignite 2.8.0。我开发了用于监控 Ignite 性能的小型仪表板。现在我的问题是找到服务器的数量。首先我找到了节点的总数(在节点变量中),然后
total_servers = 0
port = 8080
for j in range(0,node + 1):
if(persistence == True):
url_cache = "http://localhost:" + str(port) + "/ignite?cmd=top&sessionToken=" +sessionToken
else:
url_cache = "http://localhost:" + str(port) + "/ignite?cmd=top"
try:
print(j)
try:
res = requests.get(url = url_cache)
print(res.status_code)
if(res.status_code == 200):
total_servers = total_servers + 1
except:
pass
except:
pass
port = port + 1
但这需要很长时间,我不希望那样。是否有任何简单的方法可以通过使用 REST API http 请求来查找在 Apache Ignite 中运行的服务器数量?
解决方案
您可以从 REST运行 SQL 命令 SELECT * FROM SYS.NODES;
来确定:
~/Downloads/apache-ignite-2.8.1-bin% wget -q -O- http://localhost:8080/ignite\?cmd=qryfldexe\&pageSize\=10\&cacheName\=default\&qry=select\ \*\ from\ sys.nodes | jq .response.items
[
[
"3304155a-bc83-402f-a884-59d39f074d3a",
"0:0:0:0:0:0:0:1%lo,127.0.0.1,172.17.0.1,192.168.1.7:47500",
"2.8.1#20200521-sha1:86422096",
false,
false,
1,
"[0:0:0:0:0:0:0:1%lo, 127.0.0.1, 172.17.0.1, 192.168.1.7]",
"[192.168.1.7, 172.17.0.1]",
true
]
]
default
(假设您有为 API命名的缓存)
推荐阅读
- laravel - 如何使用模型从表中获取字段?
- c++ - For 循环不会在没有 return 语句的 int 函数中终止
- r - 如何从包含一定范围的质量/字符/值的列表文件中删除某些行
- symfony - 如何使用自定义函数 Twig-symfony
- javascript - 如何按升序和降序对列进行排序?
- python - Linux usbmount:确定哪些挂载点真正处于活动状态
- javascript - MongoDB按来源和目的地查找
- node.js - 试图让我的 Discord 机器人响应“我不是婴儿潮一代 >:(”但它不会响应。我该如何修复代码?
- reactjs - React hooks:如何只实例化一次实例变量
- c# - 允许每个程序集注册一次 AutoMapper 配置文件