阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Nginx+Lua代理Hadoop HA

428次阅读
没有评论

共计 10997 个字符,预计需要花费 28 分钟才能阅读完成。

一、Hadoop HAWeb 页面访问

Hadoop 开启 HA 后,会同时存在两个 Master 组件提供服务,其中正在使用的组件称为 Active,另一个作为备份称为 Standby,例如 HDFS 的 NameNode、YARN 的 ResourceManager。HDFS 的 web 页面只有通过 Active 的 NameNode 才能正常访问,同样地,YARN 的 web 页面也只有通过 Active 的 ResouceManager 才能正常访问。

 使用 Nginx+Lua 代理 Hadoop HA

 

(1) HDFS HA 的 Web 访问

 

正常使用 Nginx 的 proxy_pass 代理单一的 Web 服务地址时非常简单(参考博文最简反向代理配置),而面对 Hadoop HA 这样的多 Web 服务地址时就会有点麻烦。

 使用 Nginx+Lua 代理 Hadoop HA

 

(2) HDFS HA 的 Web 代理

 

虽然 Nginx 的 upstream 支持配置多个 Web 地址,默认会随机将 Web 请求随机转发到任意一个 Web 地址,只有某个 web 地址被认为不可达后,才会被 Nginx 列入黑名单。而 Hadoop HA 的 Active 和 Standby 节点都是一直服务的,只是同一个时刻,最多只有一个节点的 Web 访问是有效的,这就要求 Nginx 对 upstream 中的 Web 地址更细致地检查,而非粗略地判断是否可达。

二、Nginxupstream 健康检查

对 upstream 的地址有效性检查称为健康检查。通过定期的调用检查逻辑,对 upstream 配置的 Web 地址进行标记,不健康的 Web 地址会被临时列入黑名单内,直到该地址被标记为健康状态时,才会有新的 Web 请求转发到该地址上。

(1)Nginx 本身对 upstream 的健康检查支持并不强大,做不到对检查逻辑的自由定制。

(2)开源项目 nginx_upstream_check_module 以 Nginx 补丁的方式扩展了 Nginx 的 upstream 语法,支持自定义 HTTP 请求的方式检查 Web 服务的健康状态。但在实际使用过程中,遇到一个很不方便的地方。

upstream resourcemanagers {server 192.168.0.1:8084;

    server 192.168.0.2:8084;

    check interval=30000 rise=1 fall=3 timeout=5000 type=http;

    check_http_send "HEAD / HTTP/1.0\r\n\r\n";

    check_http_expect_alive http_3xx;

    keepalive 2000;

}

nginx_upstream_check_module 使用 check 命令定义健康检查的基本属性,使用 check_http_send 自定义 HTTP 请求,check_http_expect_alive 定义期望的健康状态 HTTP code。这里使用 http_3xx 是该模块定义的内置匹配语法,表示以 3 开头的 HTTP code。想必大家已经想到,这种定义方式是无法精确区分 301、302、307 报文的。当然正常情况下,3xx 的报文应该是同类型的报文,不需要如此精确的区分,但是不巧的是 Hadoop2.7.2 版本的 Active ResourceManager 和 Standby ResourceManager 分别返回的是 302 和 307 报文!

(3)以上两种方案并不是解决 Nginx upstream 健康检查的完美方案,真正完美的方案是 OpenResty 的 lua-resty-upstream-healthcheck。OpenResty 内置了大量的 Lua 库,可以自由扩展、定制 Nginx 的功能。其中 healthcheck.lua 模块用于 upstream 的健康检查。

不过我希望在 Nginx 的基础上只扩展 upstream 健康检查的功能,而非用 OpenResty 代替 Nginx,因此需要使用 Nginx 的 lua-upstream-nginx-module 模块。

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

三、编译安装扩展Nginx

(1)由于 lua-upstream-nginx-module 是使用 Lua 脚本对 Nginx 进行扩展,因此必须安装 Lua 解释器。LuaJIT 是 Lua 语言的即时编译器,效率更高。

$ wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz

$ tar zxvf LuaJIT-2.0.4.tar.gz

$ cd LuaJIT-2.0.4

$ make

$ make install

$ export LUAJIT_LIB=/usr/local/lib

$ export LUAJIT_INC=/usr/local/include/luajit-2.0

$ rm /usr/local/lib/libluajit-5.1.so*

$ cd ..

导出环境变量 LUAJIT_LIB 和 LUAJIT_INC 是为了后续编译 lua-nginx-module 模块使用。删除 libluajit 的所有动态链接库是为了保证后续编译时是静态链接,否则默认为动态链接。 

(2)准备好 Lua 环境后,接下来下载 Nginx 的 Lua 模块 lua-nginx-module、Nginx 开发包 ngx_devel_kit、Nginx upstreamLua 模块 lua-upstream-nginx-module、pcre 库和 openssl 库、Nginx 源码。解压后的文件列表如下:

./lua-nginx-module-0.10.5

./lua-upstream-nginx-module-0.05

./nginx-1.10.1

./ngx_devel_kit-0.3.0

./openssl-OpenSSL_1_0_1t

./pcre-8.38 

执行命令编译 Nginx:

$ cd nginx-1.10.1

$ ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=root --group=root --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module --with-http_v2_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --with-pcre=../pcre-8.38 --with-openssl=../openssl-OpenSSL_1_0_1t --add-module=../ngx_devel_kit-0.3.0 --add-module=../lua-nginx-module-0.10.5 --add-module=../lua-upstream-nginx-module-0.05

$ make && make install 

(3) 安装完毕后,Nginx 的配置文件为 /etc/nginx/nginx.conf,可执行文件为 /usr/sbin/nginx。执行 Nginx 启动命令:

$ nginx

访问 http://127.0.0.1:8080 即可看到 Nginx 主页。

(4) 添加 Lua 测试链接,测试 Lua 模块是否正常工作。

location /lua {set $test "hello, world.";

    content_by_lua '
        ngx.header.content_type = "text/plain";

        ngx.say(ngx.var.test);

    ';

} 

更新 Nginx 配置:

$ nginx -s reload

访问 http://127.0.0.1:8080/lua 即可看到”hello,world.”。

 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-07/133120p2.htm

 

四、Nginx代理Hadoop HA

 

 使用 Nginx+Lua 代理 Hadoop HA

(3) Nginx 代理 Hadoop HA

 

虽然安装了 lua-upstream-nginx-module 模块,但是仍需要使用 OpenResty 的 healthcheck.lua 模块才能完成 upstream 的健康检查功能。

 

(1) 下载最新版本的 OpenResty 代码。执行如下命令:

make && make install

ls /usr/local/openresty/lualib/resty/upstream/healthcheck.lua

其中 healthcheck.lua 脚本就是我们需要的健康检查模块。

(2) 配置 nginx.conf:

# upstream

upstream resourcemanagers {server 192.168.0.1:8084;

    server 192.168.0.2:8084;

    keepalive 2000;

}

upstream namenodes {server 192.168.0.1:50070;

    server 192.168.0.2:50070;

    keepalive 2000;

}

 

# health check

lua_package_path "/usr/local/openresty/lualib/?.lua;;";

lua_shared_dict healthcheck 1m;

lua_socket_log_errors off;

init_worker_by_lua_block {local hc = require "resty.upstream.healthcheck"

       local ok, err = hc.spawn_checker {shm = "healthcheck",

           upstream = "resourcemanagers ",

           type = "http",

           http_req = "GET / HTTP/1.0\r\n\r\n",

           interval = 2000,

           timeout = 5000,

           fall = 3,

           rise = 2,

           valid_statuses = {302},

           concurrency = 1,

       }

       if not ok then

           ngx.log(ngx.ERR, "=======> failed to spawn RM health checker: ", err)

           return

       end

       local ok, err = hc.spawn_checker {shm = "healthcheck",

           upstream = "namenodes ",

           type = "http",

           http_req = "GET /webhdfs/v1/?op=LISTSTATUS HTTP/1.0\r\n\r\n",

           interval = 2000,

           timeout = 5000,

           fall = 3,

           rise = 2,

           valid_statuses = {200},

           concurrency = 1,

       }

       if not ok then

           ngx.log(ngx.ERR, "=======> failed to spawn NameNode health checker: ", err)

           return

       end

}

 

# proxy

location /yarn/ {proxy_pass http://resourcemanagers/;

    # some sub_filter, rewrite config

}

location /hdfs/ {proxy_pass http://namenodes/;

    # some sub_filter, rewrite config

} 

更新 Nginx 配置:

$ nginx -s reload

访问 http://127.0.0.1:8080/hdfs 或 http://127.0.0.1:8080/yarn 即可看到 HDFS 或 YARN 的 Web 页面。

五、总结

综上,使用 Lua 扩展 Nginx 的功能十分强大,且十分容易定制,这也是 OpenResty 的功能如此强大的原因。虽然 OpenResty 已经提供了 lua-resty-upstream-healthcheck 模块完成 upstream 的健康检查功能,不过我们仍在社区版的 Nginx 上亲自扩展了该功能。希望这篇文章能帮助大家快速的配置 Nginx+Lua 的环境,并方便地开发自己的 Nginx 扩展功能。

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133120.htm

一、Hadoop HAWeb 页面访问

Hadoop 开启 HA 后,会同时存在两个 Master 组件提供服务,其中正在使用的组件称为 Active,另一个作为备份称为 Standby,例如 HDFS 的 NameNode、YARN 的 ResourceManager。HDFS 的 web 页面只有通过 Active 的 NameNode 才能正常访问,同样地,YARN 的 web 页面也只有通过 Active 的 ResouceManager 才能正常访问。

 使用 Nginx+Lua 代理 Hadoop HA

 

(1) HDFS HA 的 Web 访问

 

正常使用 Nginx 的 proxy_pass 代理单一的 Web 服务地址时非常简单(参考博文最简反向代理配置),而面对 Hadoop HA 这样的多 Web 服务地址时就会有点麻烦。

 使用 Nginx+Lua 代理 Hadoop HA

 

(2) HDFS HA 的 Web 代理

 

虽然 Nginx 的 upstream 支持配置多个 Web 地址,默认会随机将 Web 请求随机转发到任意一个 Web 地址,只有某个 web 地址被认为不可达后,才会被 Nginx 列入黑名单。而 Hadoop HA 的 Active 和 Standby 节点都是一直服务的,只是同一个时刻,最多只有一个节点的 Web 访问是有效的,这就要求 Nginx 对 upstream 中的 Web 地址更细致地检查,而非粗略地判断是否可达。

二、Nginxupstream 健康检查

对 upstream 的地址有效性检查称为健康检查。通过定期的调用检查逻辑,对 upstream 配置的 Web 地址进行标记,不健康的 Web 地址会被临时列入黑名单内,直到该地址被标记为健康状态时,才会有新的 Web 请求转发到该地址上。

(1)Nginx 本身对 upstream 的健康检查支持并不强大,做不到对检查逻辑的自由定制。

(2)开源项目 nginx_upstream_check_module 以 Nginx 补丁的方式扩展了 Nginx 的 upstream 语法,支持自定义 HTTP 请求的方式检查 Web 服务的健康状态。但在实际使用过程中,遇到一个很不方便的地方。

upstream resourcemanagers {server 192.168.0.1:8084;

    server 192.168.0.2:8084;

    check interval=30000 rise=1 fall=3 timeout=5000 type=http;

    check_http_send "HEAD / HTTP/1.0\r\n\r\n";

    check_http_expect_alive http_3xx;

    keepalive 2000;

}

nginx_upstream_check_module 使用 check 命令定义健康检查的基本属性,使用 check_http_send 自定义 HTTP 请求,check_http_expect_alive 定义期望的健康状态 HTTP code。这里使用 http_3xx 是该模块定义的内置匹配语法,表示以 3 开头的 HTTP code。想必大家已经想到,这种定义方式是无法精确区分 301、302、307 报文的。当然正常情况下,3xx 的报文应该是同类型的报文,不需要如此精确的区分,但是不巧的是 Hadoop2.7.2 版本的 Active ResourceManager 和 Standby ResourceManager 分别返回的是 302 和 307 报文!

(3)以上两种方案并不是解决 Nginx upstream 健康检查的完美方案,真正完美的方案是 OpenResty 的 lua-resty-upstream-healthcheck。OpenResty 内置了大量的 Lua 库,可以自由扩展、定制 Nginx 的功能。其中 healthcheck.lua 模块用于 upstream 的健康检查。

不过我希望在 Nginx 的基础上只扩展 upstream 健康检查的功能,而非用 OpenResty 代替 Nginx,因此需要使用 Nginx 的 lua-upstream-nginx-module 模块。

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

三、编译安装扩展Nginx

(1)由于 lua-upstream-nginx-module 是使用 Lua 脚本对 Nginx 进行扩展,因此必须安装 Lua 解释器。LuaJIT 是 Lua 语言的即时编译器,效率更高。

$ wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz

$ tar zxvf LuaJIT-2.0.4.tar.gz

$ cd LuaJIT-2.0.4

$ make

$ make install

$ export LUAJIT_LIB=/usr/local/lib

$ export LUAJIT_INC=/usr/local/include/luajit-2.0

$ rm /usr/local/lib/libluajit-5.1.so*

$ cd ..

导出环境变量 LUAJIT_LIB 和 LUAJIT_INC 是为了后续编译 lua-nginx-module 模块使用。删除 libluajit 的所有动态链接库是为了保证后续编译时是静态链接,否则默认为动态链接。 

(2)准备好 Lua 环境后,接下来下载 Nginx 的 Lua 模块 lua-nginx-module、Nginx 开发包 ngx_devel_kit、Nginx upstreamLua 模块 lua-upstream-nginx-module、pcre 库和 openssl 库、Nginx 源码。解压后的文件列表如下:

./lua-nginx-module-0.10.5

./lua-upstream-nginx-module-0.05

./nginx-1.10.1

./ngx_devel_kit-0.3.0

./openssl-OpenSSL_1_0_1t

./pcre-8.38 

执行命令编译 Nginx:

$ cd nginx-1.10.1

$ ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=root --group=root --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module --with-http_v2_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --with-pcre=../pcre-8.38 --with-openssl=../openssl-OpenSSL_1_0_1t --add-module=../ngx_devel_kit-0.3.0 --add-module=../lua-nginx-module-0.10.5 --add-module=../lua-upstream-nginx-module-0.05

$ make && make install 

(3) 安装完毕后,Nginx 的配置文件为 /etc/nginx/nginx.conf,可执行文件为 /usr/sbin/nginx。执行 Nginx 启动命令:

$ nginx

访问 http://127.0.0.1:8080 即可看到 Nginx 主页。

(4) 添加 Lua 测试链接,测试 Lua 模块是否正常工作。

location /lua {set $test "hello, world.";

    content_by_lua '
        ngx.header.content_type = "text/plain";

        ngx.say(ngx.var.test);

    ';

} 

更新 Nginx 配置:

$ nginx -s reload

访问 http://127.0.0.1:8080/lua 即可看到”hello,world.”。

 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-07/133120p2.htm

 

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计10997字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7998256
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...