Nacos 3.x Console 领域规范:部署模型、Handler/Proxy 边界与独立控制台安全架构详解
导读:本文以 Nacos 官方 Console 规范(specs/zh-cn/console/console-spec.md)为主体,结合本仓库
console模块源码与配置文件,系统讲解 Nacos 3.x 管理面(Console)的职责边界、三种部署模型(merged / server / console)、独立端口与 Context Path 模型、/v3/console/*API 受众规则、Controller → Proxy → Handler 的三层委托架构、独立 Console 部署的成员发现与鉴权透传机制,以及功能开关、错误处理与可观测性约定。读者读完可掌握 Nacos 管理面与数据面分离部署的完整配置方法、独立 Console 的加固要点,以及如何在源码层面追踪 Console 请求的完整调用链。
1. Console 是什么:管理体验层,而非数据拥有者
在 Nacos 3.x 的领域划分中,Console 被明确定义为面向运维人员的管理体验层,它包含三个组成部分:
- Web UI 入口与静态资源;
- Console API 后端(
/v3/console/*); - 让 UI 能够在与 Nacos Server 合并部署或独立部署时都能正常工作的部署桥接能力。
规范开篇即划定了严格的职责边界:Console 不拥有任何领域数据。Config 数据生命周期、Naming 实例与订阅语义、AI 资源模型、namespace/cluster member/插件状态、鉴权插件行为与 RBAC、插件扩展契约,分别归属各自的领域规范:
- Config 规范:数据生命周期、历史、灰度发布、监听状态、dump 规则;
- Naming 规范:服务、实例、元数据、健康检查、订阅、一致性语义;
- AI Registry 规范:AI 资源模型与生命周期;
- Core 运维规范:namespace、集群 member、服务端状态、插件状态、server loader;
- 鉴权与权限规范:鉴权插件行为与 RBAC 语义;
- 插件规范:插件扩展契约。
Console 的职责是把这些领域能力适配成 UI 工作流,并且在适配过程中必须保持各领域规范定义的语义不被重新定义。这一原则在源码结构上体现得非常直观:console/src/main/java/com/alibaba/nacos/console/ 下只有 controller、filter、handler、proxy、config 等表现层与桥接层代码,没有任何领域数据存储或一致性逻辑,领域实现全部委托给 config、naming、ai 等模块。
2. 部署模型:merged / server / console
Nacos 3.x 将 Console 网络入口与 Server HTTP API 网络入口拆分开,部署模型由 nacos.deployment.type 控制。三种模式的含义与预期场景如下:
| 类型 | 含义 | 预期场景 |
|---|---|---|
merged |
默认模式。Core、Server Web 和 Console 在同一进程中运行。 | 本地体验、简单部署或兼容场景。 |
server |
Server 不带 Console 运行。 | 生产 Server 集群,尤其是 Console 独立部署时。 |
console |
Console 不带本地 Nacos Server 领域服务运行。 | 独立 UI/backend 部署,用于隔离管理面。 |
对应的启动规则:
merged必须启动 core context、server web context 和 console context;server必须启动服务端上下文,不得暴露 Console UI 或 Console API;console只启动 console context,领域数据必须来自远端 Nacos Server 节点;- 不支持的 deployment type 必须在 bootstrap 阶段快速失败;
- Console 部署必须被视为内部网络组件,Nacos 定位为 IDC/内部基础设施组件,不应直接暴露在公网。
从源码看,部署类型在启动阶段就被强校验。NacosConsoleStartUp(console/src/main/java/com/alibaba/nacos/console/NacosConsoleStartUp.java)通过 Constants.NACOS_DEPLOYMENT_TYPE_CONSOLE 判断是否为 console 部署,并据此调整工作目录(仅创建 logs 目录)、环境注入、预加载 nacos_application_conf 配置源、初始化 system property(stand-alone 模式、function mode 等)。而 ConsoleDeploymentConfig(console/src/main/java/com/alibaba/nacos/console/config/ConsoleDeploymentConfig.java)用 @EnabledRemoteHandler 标注,只在 console 部署模式下加载 ControllerMethodsCache、SelectorManager、ConsoleAuthPluginInitializer 等 Bean,并为独立部署场景额外声明 ConfigCloneSourceReadPermissionChecker —— 因为独立 Console 的 clone 请求以 server identity 转发到 Server,服务端无法校验请求用户对源 namespace 的读权限,因此该校验保留在 Console proxy 内、以真实用户身份执行。
3. 端口与 Context Path 模型
Nacos 3.x 为服务 API 和 Console 使用独立网络端口:
| 端口 | 用途 |
|---|---|
默认 8848 |
Nacos HTTP Open/Admin API 端口 |
默认 9848 |
客户端 gRPC 端口 |
默认 9849 |
服务端之间的 gRPC 端口 |
默认 7848 |
JRaft 服务端端口 |
默认 8080 |
Nacos Console UI 和 Console API 端口 |
端口与 context path 的配置规则:
- Console 端口由
nacos.console.port独立配置; - Console context path 由
nacos.console.contextPath配置; - console-only 部署访问远端 Nacos Server 的 context path 由
nacos.console.remote.server.context-path配置,默认/nacos; - Server HTTP API context path 不属于 Controller 映射,其规则见 HTTP API 规范;
- 对外暴露应保持最小化:典型部署中只应向预期的内部调用方暴露 Console 端口和客户端 gRPC 端口,服务端之间的端口(9849、7848)应保持私有。
在 distribution/conf/application.properties 的 "Nacos Console Configurations" 段落(约 243–260 行)中可以看到对应默认值:
### Nacos Console Main port
nacos.console.port=8080
### Nacos Server Web context path:
nacos.console.contextPath=
### Nacos Server context path, which link to nacos server `nacos.server.contextPath`, works when deployment type is `console`
nacos.console.remote.server.context-path=/nacos
### Turn on/off the nacos console ui.
#nacos.console.ui.enabled=true
### Default console UI version: 'next' (new UI) or 'legacy' (old UI)
#nacos.console.ui.default=next
值得注意 nacos.console.remote.server.context-path 的注释特别指出:该配置生效的前提是 deployment type 为 console,且它必须与远端 Server 的 nacos.server.contextPath 保持一致。RemoteServerConnector(console/src/main/java/com/alibaba/nacos/console/handler/impl/remote/RemoteServerConnector.java)中 getServerContextPath() 即负责在远程转发时解析该值(默认 "/nacos"),保证独立 Console 发出的 HTTP 请求能命中远端 Server 的正确 context。
4. Console API 受众:UI 后端 API,不是 Open API
Console API 是 UI 后端 API,不是 Open API,也不应作为推荐自动化接口展示。自动化客户端应使用 Admin API 或 Maintainer SDK,除非某能力被明确设计为仅控制台可用。
规则要点:
- Console API 必须使用
/v3/console/{module}/...受众前缀; - 需要鉴权的 Console API 必须声明
ApiType.CONSOLE_API; - Console API 可以使用面向 UI 的请求和响应模型,但 JSON 响应仍应遵循共享
Result<T>规则,除非 响应与错误规范 定义了例外; - Console API 可以比 Open API 演进得更快,但文档化行为发生不兼容变更时仍需要迁移说明;
- Console API 行为不得重新定义 Config、Naming、AI Registry、Core 运维、Auth 或插件规范已拥有的领域语义。
当前 v3 Console API 范围由 V3 API 范围 描述。源码侧的 controller 目录完全按 module 组织:console/src/main/java/com/alibaba/nacos/console/controller/v3/ 下分为 ai、config、core、naming 四组,加上 ConsoleHealthController、ConsoleServerStateController,例如 ConsoleConfigController、ConsoleServiceController、ConsoleClusterController、ConsoleMcpController 等。测试目录 console/src/test/java/com/alibaba/nacos/console/controller/v3/ 中还有专门的 SecuredMetadataTest,用于校验 Console Controller 的 @Secured 鉴权元数据声明是否符合受众规范。
5. UI 入口与静态资源
Console 负责浏览器入口和静态资源服务行为:
/跳转到默认 UI 版本;nacos.console.ui.default选择next或legacy,默认next;nacos.console.ui.enabled控制是否开启开源 Console UI;announcement和console-guide内容在存在配置文件时作为展示内容读取;- 静态资源路径和浏览器资源可以排除鉴权,但该排除范围不得包含领域修改 API。
本仓库中的两套 UI 即对应上述两个版本:新版 UI 位于 console-ui-next(React + TypeScript + Vite),旧版 UI 位于 console-ui。而 announcement 与 console-guide 的默认配置文件位于 distribution/conf/announcement_zh-CN.conf、distribution/conf/announcement_en-US.conf 和 distribution/conf/console-guide.conf。
规范特别强调:console guide 和 announcement 内容属于 UI 展示数据,不是标准 Core 服务端状态,也不得作为领域配置使用——这与前面"Console 不拥有领域数据"的定位一脉相承。
6. Handler 与 Proxy 边界:三层委托架构
这是 Console 规范中最核心的架构约束:Console Controller 必须通过 proxy 和 handler interface 进行委托,不应把 UI Controller 直接耦合到某一种部署模式。
当前层次如下:
Console Controller
-> Console Proxy
-> Console Handler interface
-> Inner Handler (merged 部署)
-> Remote Handler (console 部署)
-> Noop Handler (功能禁用)
各层的职责划分:
- controller 代码负责 HTTP 形态、校验入口、UI 请求适配和
@Secured声明; - proxy 代码负责 UI 工作流编排,并委托给 handler interface;
- inner handler 可以调用本地域服务,因为
merged模式下 Console 和 Nacos Server 共享进程; - remote handler 必须通过 Maintainer SDK、Admin API 或严格限定的远程 HTTP 转发调用远端 Nacos Server;
- 功能禁用时应使用 noop handler,让 UI 获得清晰的 unsupported 响应,而不是加载一部分不完整的领域实现;
- 即使传输路径不同,handler 实现也必须在不同部署模式下返回相同领域语义。
源码中这套架构被严格执行。console/src/main/java/com/alibaba/nacos/console/ 下三个目录一一对应:
proxy/:ConfigProxy、ServiceProxy、InstanceProxy、ClusterProxy、NamespaceProxy、PluginProxy、McpProxy、SkillProxy、PromptProxy、AgentProxy、A2aProxy、PipelineProxy、HealthProxy、ServerStateProxy等;handler/impl/inner/:ConfigInnerHandler、ServiceInnerHandler、InstanceInnerHandler、ClusterInnerHandler、HealthInnerHandler、ServerStateInnerHandler以及全部 AI 类 inner handler;handler/impl/remote/:ConfigRemoteHandler、ServiceRemoteHandler、InstanceRemoteHandler、HealthRemoteHandler、ServerStateRemoteHandler及 AI 类 remote handler,配套RemoteServerConnector、NacosMaintainerClientHolder、ConsoleMaintainerClientAuthPlugin等基础设施;handler/impl/noop/:每个领域对应一个XxxNoopHandler,用于功能禁用时返回明确的 unsupported 响应。
每个 Proxy/Handler 都有对应的单元测试(如 console/src/test/java/com/alibaba/nacos/console/proxy/ConfigProxyTest.java、.../handler/impl/remote/RemoteServerConnectorTest.java、.../handler/impl/noop/config/ConfigNoopHandlerTest.java),从测试层面验证了不同部署模式下 handler 的行为差异与语义一致性。
7. 独立 Console 部署:管理面网关
在 console 部署模式下,Console 是访问一个或多个远端 Nacos Server 节点的管理面网关。规则如下:
- 必须先部署不带 Console 的 Server 或 Server 集群(即
server模式); - Console 必须通过标准 member lookup 机制发现远端 Server member,通常使用
cluster.conf中的ip:port记录; - 远端 Server member 列表变化时,Console 必须重建远端 maintainer client;
- Console 不得在本地持久化 Config、Naming、AI 或 Core 领域数据;
- 远端请求必须使用已配置的 remote server context path;
- 远端操作应优先使用 Maintainer SDK 或 Admin API 契约,而不是依赖私有服务端内部实现;
- 文件导入导出等大 payload 工作流必须保持和对应 UI 工作流一致的鉴权和大小限制。
需要强调:远端 member lookup 是 Console 进程自己的运维视图,它本身不会改变 Nacos Server 集群成员关系。
源码中,RemoteServerMemberManager(console/src/main/java/com/alibaba/nacos/console/cluster/RemoteServerMemberManager.java)实现了 NacosMemberManager 接口,并通过 LookupFactory.createLookUp() 创建标准的 MemberLookup(即沿用 Server 端的 member lookup 机制)来发现远端成员;memberChange() 在成员列表变化时更新内部 ConcurrentSkipListMap<String, Member> 并发布 MembersChangeEvent,正是"member 变化时重建 maintainer client"这一规则的实现载体。RemoteServerConnector 则负责远程 HTTP 转发的公共能力:健康成员选择、鉴权身份注入(addAuthIdentity)、远端 context path 解析。
大 payload 的限制同样有据可查:application.properties 中 spring.servlet.multipart.max-file-size=10MB、spring.servlet.multipart.max-request-size=10MB(注释明确 "Maximum upload file size for console (e.g. skill zip). Default 10MB. Exceeding returns a clear error."),即 Console 导入导出类工作流的上限默认 10MB。
8. 安全边界:浏览器、Server 与外部系统三个方向
规范定义了 Console 的三个安全方向:
- 浏览器或运维人员访问 Console API;
- 独立 Console 进程访问 Nacos Server;
- Console 进程访问显式配置或由请求选择的外部系统。
8.1 浏览器与运维人员流量
- 浏览器和运维人员流量必须由 Console 鉴权配置控制,尤其是
nacos.core.auth.console.enabled; - 修改类 Console API 必须要求对应领域资源或 Console 资源的写权限;
- 只读 Console API 也必须声明读权限,除非它们被明确设计为公开健康检查、静态资源、初始化或展示端点;
- 进入 Console 的浏览器请求不得被当作 server identity 请求信任。
源码层面,NacosConsoleAuthFilter(console/src/main/java/com/alibaba/nacos/console/filter/NacosConsoleAuthFilter.java)继承 AbstractWebAuthFilter,其 checkServerIdentity() 直接返回 ServerIdentityResult.noMatched()——即 Console 入口永远不会接受 server identity,这正是"浏览器请求不得被当作 server identity 信任"的硬编码实现。NacosConsoleAuthConfig(console/src/main/java/com/alibaba/nacos/console/config/NacosConsoleAuthConfig.java)以 ApiType.CONSOLE_API 作为鉴权 scope,读取 nacos.core.auth.console.enabled(默认 true)与 server identity 配置。鉴权过滤器在 ConsoleWebConfig(console/src/main/java/com/alibaba/nacos/console/config/ConsoleWebConfig.java)中以 order=6 注册到 /*,参数校验过滤器 order=8,同时还注册了 XssFilter 与 CorsFilter。
CORS 默认策略可以从 ConsoleCorsConfig(console/src/main/java/com/alibaba/nacos/console/config/ConsoleCorsConfig.java)与 application.properties 中看到默认值:allow-credentials 默认 true、max-age 默认 18000 秒,allowed-headers、allowed-methods、allowed-origins 为空时表示全部放行(*)。这正是规范"待处理问题"中提到的"当前默认 CORS 策略偏向易部署,需要定义更严格的生产配置建议",生产环境建议显式配置:
nacos.console.cors.allow-credentials=true
nacos.console.cors.allowed-headers=Content-Type,Authorization
nacos.console.cors.max-age=18000
nacos.console.cors.allowed-methods=GET,POST,PUT,DELETE
nacos.console.cors.allowed-origins=http://localhost:8080,https://console.example.com
8.2 独立 Console → Nacos Server 的身份透传
这是独立部署最精细的一组规则:
- 独立 Console 代表已认证运维人员调用 Server 时,必须使用当前鉴权插件声明的标准名称,透传 identity builder 记录的全部非空请求身份字段;
IdentityContext中的传输层派生字段和鉴权结果元数据不得透传;- 至少透传一个请求身份字段时不得同时携带配置的 server identity,使目标 Server 能够认证该运维人员并校验其权限;
- 无可用的非空请求身份字段时,独立 Console 到 Server 的调用在启用 server identity 时必须降级使用配置的 server identity;
nacos.core.auth.server.identity.key和nacos.core.auth.server.identity.value必须在独立 Console 和目标 Nacos Server 部署之间保持一致;- 使用运维人员身份透传时,目标 Server 必须开启 Admin API 鉴权并使用兼容的鉴权插件;
- Console 登录和 token 校验所需的 auth plugin token secret 必须与所选鉴权插件行为保持一致。
对应配置在 application.properties 中:
nacos.core.auth.console.enabled=true
nacos.core.auth.server.identity.key=
nacos.core.auth.server.identity.value=
8.3 外部系统访问的 SSRF 防护
Console API 不得把请求选择的 URL 直接变成不受限制的服务端网络目标。规范以 MCP 工具导入为例给出了非常具体的要求:
GET /v3/console/ai/mcp/importToolsFromMcp默认允许公网目标,可通过nacos.console.ai.mcp.import.enabled关闭;- 目标解析得到的每一个私网或本地地址都必须命中运维通过
nacos.console.ai.mcp.import.allowed-private-addresses配置的 IP/CIDR 白名单; - endpoint 必须保持为已校验 base URL 下的相对地址;
- 非法配置必须按拒绝处理,并且不得跟随重定向。
该规则由 McpEndpointAccessValidator(console/src/main/java/com/alibaba/nacos/console/config/McpEndpointAccessValidator.java)实现:校验 import 开关(默认开启)、解析私网白名单、校验 base URL 必须是绝对 HTTP/HTTPS 且不含 user info、校验 endpoint 必须是相对 URI 路径且不能覆盖 baseUrl 的 scheme/host,然后对 baseUrl 主机解析出的每一个 IP 地址逐一判断是否为私网/本地地址,若非白名单命中则抛出 SecurityException。它识别私网/本地地址覆盖了 isAnyLocalAddress、isLoopbackAddress、isLinkLocalAddress、isSiteLocalAddress、isMulticastAddress 以及 IPv6 ULA(fc00::/7)。对应配置为:
#nacos.console.ai.mcp.import.enabled=true
#nacos.console.ai.mcp.import.allowed-private-addresses=192.168.0.0/16,10.0.0.8
8.4 独立 Console 的本地鉴权插件生命周期
独立部署的 Console 必须在开始接收请求前初始化本地鉴权插件运行环境:
- 对所有可配置鉴权实现应用
STATIC > DEFAULT配置,以保证共享鉴权基础设施可用,但只为当前选中实现启动插件持有的运行资源; - 选中的实现不存在属于启动错误;
- Console 本地生命周期不得启动 Core 插件管理器,也不得访问由 Server 持有的插件 state、runtime-persisted 配置、local-only override、storage 或集群同步能力;
- 静态配置刷新可以重新应用声明为
RUNTIME的鉴权字段;鉴权插件选择、token secret 和其他RESTART字段在 Console 重启前保持启动值。
源码对应 ConsoleAuthPluginInitializer(console/src/main/java/com/alibaba/nacos/console/config/ConsoleAuthPluginInitializer.java)与 ConsoleAuthPluginLifecycleContext(测试见 console/src/test/java/com/alibaba/nacos/console/config/ConsoleAuthPluginLifecycleContextTest.java)。NacosConsoleAuthConfig.refreshAuthSystemType() 也体现了这一约束:在 console 部署模式下,运行时若检测到鉴权插件选择发生变化,只记录 warn 日志并提示"重启 Console 生效",而不会在运行时切换。
Console 鉴权属于共享鉴权模型,完整语义必须遵循 鉴权规范。
9. 功能开关:与 runtime capability 对齐
Console 功能可用性必须遵循 Nacos runtime capability 和 function mode 配置:
- Config console handler 只在 Config 启用时加载;
- Naming console handler 只在 Naming 启用时加载;
- AI console handler 需要 AI function mode 和 AI extension 启用;
- microservice function mode 会开启 Config 和 Naming Console 工作流;
- 禁用功能应通过 noop handler 或隐藏 UI 入口表达,不应加载不兼容的半套领域服务。
功能开关是展示和可用性控制,不得重新定义 Config、Naming 或 AI Registry 的领域模型。
源码侧,ConsoleFunctionEnabledConfig(console/src/main/java/com/alibaba/nacos/console/config/ConsoleFunctionEnabledConfig.java)解决了 functionMode 为 config 时 naming 模块 Bean 不加载、但 Console API 仍需要 SelectorManager 做 selector 解析的问题(@ConditionalOnMissingBean 兜底创建)。AI 侧则有 EnabledAiHandler、ConditionFunctionEnabled(console/src/main/java/com/alibaba/nacos/console/handler/ai/EnabledAiHandler.java)等条件装配,未启用时走 XxxNoopHandler 返回 unsupported。NacosConsoleStartUp 的 initSystemProperty() 也会根据 function mode 预设 nacos.function.mode(All / config / naming / microservice / ai),与部署模型一起决定启动阶段加载哪些上下文。
10. 错误处理与可观测性
Console 应让 UI 用户能读懂错误,同时保持共享 API 契约:
- v3 JSON Console API 应尽可能使用
Result<T>和共享 API 异常模型; - 健康检查、静态资源和展示端点可以在明确记录时使用更简单的响应形态;
- 返回给浏览器的错误信息如果可能包含用户可控内容,必须进行转义或清理;
- Console module state 应暴露低基数运维状态,例如 UI 是否开启、默认 UI 版本和 Console auth 状态;
- Console 指标和日志不得包含密钥、token、完整凭据或大体积用户载荷。
源码实现上,ConsoleWebConfig 注册了 NacosApiExceptionHandler(即共享 v3 异常处理器)与 XssFilter(XSS 转义过滤器),同时 ConsoleExceptionHandler(console/src/main/java/com/alibaba/nacos/console/exception/ConsoleExceptionHandler.java)作为遗留异常处理器存在——这正是规范"待处理问题"中列出的待办项之一:将遗留 ConsoleExceptionHandler 行为与共享 v3 NacosApiExceptionHandler 和响应错误规则对齐。
11. 待处理问题:规范演进方向
规范末尾明确列出了 Console 领域的待办事项,也是理解该领域当前边界与未来演进的重要信息:
- 明确并文档化哪些 v3 Console health、server state、announcement 和 guide 端点是有意公开的;
- 将遗留
ConsoleExceptionHandler行为与共享 v3NacosApiExceptionHandler和响应错误规则对齐; - 判断独立 Console 的远程转发是否应在导入导出等大 payload 路径上完全替换为 Maintainer SDK 或 Admin API 调用;
- 在
console部署无法解析远端 Server member 时,提供清晰失败信息; - 当前默认 CORS 策略偏向易部署,需要定义更严格的生产配置建议;
- 判断
legacyUI 静态资源和旧 Console 路径的长期兼容边界。
12. 快速上手:三种部署形态的最小配置
结合本仓库 distribution/conf/application.properties,给出三种部署形态的最小配置参考(当前仓库为只读,以下仅为运行/部署时的配置说明):
merged 模式(默认):无需显式设置 nacos.deployment.type,直接启动即可同时提供 Server API(8848)与 Console(8080)。
server 模式(生产 Server 集群):
nacos.deployment.type=server
nacos.console.port=8080 # 该模式下 Console 不加载,此端口不监听
nacos.core.auth.server.identity.key=<共享的 identity key>
nacos.core.auth.server.identity.value=<共享的 identity value>
console 模式(独立管理面):需先部署好 server 集群,再单独启动 Console 进程,并配置远端发现与身份透传:
nacos.deployment.type=console
nacos.console.port=8080
nacos.console.remote.server.context-path=/nacos
# 远端 member 通过 cluster.conf 中的 ip:port 记录发现
# 与目标 Server 保持一致的 identity
nacos.core.auth.server.identity.key=<共享的 identity key>
nacos.core.auth.server.identity.value=<共享的 identity value>
# 独立 Console 本地鉴权插件初始化(token secret 与所选插件行为一致)
nacos.core.auth.console.enabled=true
部署完成后,可通过 NacosConsoleStartUpTest(console/src/test/java/com/alibaba/nacos/console/NacosConsoleStartUpTest.java)与各 handler/proxy 测试理解各模式下的行为差异。生产环境请务必遵循:Console 端口仅对预期内部调用方开放、服务端间端口保持私有、不将 Console 暴露公网。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust4.2 K634
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown300
jforgamejforgame是一个一站式游戏服务器开发框架。包含游戏服务器开发所需要的各种组件,比如网关,socket服务端与客户端,自定义高效消息编解码,游戏热更新,游戏通用工具等等。包含游戏服,跨服,匹配服,后台管理系统等实现,同时提供大量业务案例以供学习。亦可用于其他socket应用,例如及时聊天等。Java101
fizz-gateway-nodeAn Aggregation API Gateway in Java . FizzGate 是一个基于 Java开发的微服务聚合网关,是拥有自主知识产权的应用网关国产化替代方案,能够实现热服务编排聚合、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。Java60
certd开源SSL证书管理工具;全自动证书申请、更新、续期;通配符证书,泛域名证书申请;证书自动化部署到阿里云、腾讯云、主机、群晖、宝塔;https证书,pfx证书,der证书,TLS证书,nginx证书自动续签自动部署JavaScript60
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python280