From fde4ba414f55505211c265d5fcd835b0b791afb6 Mon Sep 17 00:00:00 2001 From: "chen.ma" Date: Wed, 4 Jan 2023 20:40:59 +0800 Subject: [PATCH] Update docs --- README.md | 2 +- .../other/issue.md => community/faq.md} | 19 ++-- docs/docusaurus.config.js | 2 +- .../current/faq.md} | 22 ++--- .../version-1.4.2/user_docs/other/issue.md | 90 ------------------- .../version-1.4.3/user_docs/other/issue.md | 90 ------------------- .../version-1.4.2/user_docs/other/issue.md | 90 ------------------- .../version-1.4.3/user_docs/other/issue.md | 90 ------------------- 8 files changed, 23 insertions(+), 382 deletions(-) rename docs/{docs/user_docs/other/issue.md => community/faq.md} (92%) rename docs/i18n/zh/{docusaurus-plugin-content-docs/current/user_docs/other/issue.md => docusaurus-plugin-content-docs-community/current/faq.md} (89%) delete mode 100644 docs/i18n/zh/docusaurus-plugin-content-docs/version-1.4.2/user_docs/other/issue.md delete mode 100644 docs/i18n/zh/docusaurus-plugin-content-docs/version-1.4.3/user_docs/other/issue.md delete mode 100644 docs/versioned_docs/version-1.4.2/user_docs/other/issue.md delete mode 100644 docs/versioned_docs/version-1.4.3/user_docs/other/issue.md diff --git a/README.md b/README.md index a416c4f5..7eaf35c3 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ - [[ toBeBetterJavaer ]](https://github.com/itwanger/toBeBetterJavaer):一份通俗易懂、风趣幽默的 Java 学习指南。 - [[ Jpom ]](https://gitee.com/dromara/Jpom):简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件。 -## 知识星球 +## 刚果商城 👉 [工作经验不满五年程序员,如何通过项目提高个人技术能力?](https://www.yuque.com/magestack/public/knowledge-planet) diff --git a/docs/docs/user_docs/other/issue.md b/docs/community/faq.md similarity index 92% rename from docs/docs/user_docs/other/issue.md rename to docs/community/faq.md index 6cf26251..fe7b20ec 100644 --- a/docs/docs/user_docs/other/issue.md +++ b/docs/community/faq.md @@ -1,10 +1,11 @@ --- -sidebar_position: 2 +sidebar_position: 3 +title: 常见问题 --- # 常见问题 -- 租户和项目在 Hippo4J 中是什么意思 +- 租户和项目在 Hippo4j 中是什么意思 - 控制台线程池管理和线程池实例的区别 - 示例项目为什么会有跨域请求 - 更新代码后运行时服务端SQL报错 @@ -16,9 +17,9 @@ sidebar_position: 2 - 线程池实例中修改队列容量参数问题 - 控制台 SocketTimeoutException: connect timed out -## 租户和项目在 Hippo4J 中是什么意思 +## 租户和项目在 Hippo4j 中是什么意思 -Hippo4J 按照租户、项目、线程池的维度划分。 +Hippo4j 按照租户、项目、线程池的维度划分。 举个例子,小编在一家公司的公共组件团队,团队中负责消息、短链接网关等项目。公共组件是租户,消息或短链接就是项目。 @@ -42,13 +43,13 @@ Hippo4J 按照租户、项目、线程池的维度划分。 如果更新代码运行功能出错,大概率是因为项目新增或修改了表结构。如版本升级迭代涉及数据库表变更,会额外提供 SQL 变更文件。 -如若第一次使用,初始化 SQL 脚本地址:[hippo4j_manager.sql](https://github.com/longtai-cn/hippo4j/blob/develop/hippo4j-server/conf/hippo4j_manager.sql)。 +如若第一次使用,初始化 SQL 脚本地址:[Hippo4j_manager.sql](https://github.com/longtai-cn/hippo4j/blob/develop/hippo4j-server/conf/hippo4j_manager.sql)。 > 友情提示:每次执行数据库表或数据变更时,一定要保持提前备份的好习惯。 ## 生产环境如何不启用动态线程池 -测试环境已经引入 Hippo4J,暂时不打算上线生产环境。 +测试环境已经引入 Hippo4j,暂时不打算上线生产环境。 生产环境指定配置 `spring.dynamic.thread-pool.enable=false`,测试环境和生产环境配置就会隔离。 @@ -56,9 +57,9 @@ Hippo4J 按照租户、项目、线程池的维度划分。 不会。Client 端包含对 Server 端的健康检查机制,Server 端不可用时会停止交互,检查到可用时重新建立连接交互。 -## Hippo4J 的发布方式是怎样的?如何选择正确的版本 +## Hippo4j 的发布方式是怎样的?如何选择正确的版本 -Hippo4J 发布时可能会涉及到两端发布,分别是 Server 和 Starter。如无特殊说明,**每一次的版本升级将兼容上一版本代码**。 +Hippo4j 发布时可能会涉及到两端发布,分别是 Server 和 Starter。如无特殊说明,**每一次的版本升级将兼容上一版本代码**。 - 如涉及 Server 发布,会在 [发布列表页面](https://github.com/longtai-cn/hippo4j/releases) 创建最新的发行版本; - 如涉及 Starter 发布,将直接推送 Starter Jar 至中央仓库,Server 包版本不变。 @@ -66,7 +67,7 @@ Hippo4J 发布时可能会涉及到两端发布,分别是 Server 和 Starter ## 群机器人接受不到通知报警 如果是钉钉机器人,需在机器人配置自定义关键字,才可发送成功。如下所示: - + ![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20220530200133377.png?x-oss-process=image/resize,h_500,w_800) 如果使用 hippo4j-server,请检查在 hippo4j-server 添加的报警通知记录,是否在客户端项目启动前,因为客户端只有在启动时会去 hippo4j-server 拉取报警通知记录。 diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 3b4dc37e..178e2005 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -116,7 +116,7 @@ const config = { }, { href: 'https://www.yuque.com/magestack/public/programmer_progress', - label: '知识星球', + label: '👉 刚果商城', position: 'left', }, { diff --git a/docs/i18n/zh/docusaurus-plugin-content-docs/current/user_docs/other/issue.md b/docs/i18n/zh/docusaurus-plugin-content-docs-community/current/faq.md similarity index 89% rename from docs/i18n/zh/docusaurus-plugin-content-docs/current/user_docs/other/issue.md rename to docs/i18n/zh/docusaurus-plugin-content-docs-community/current/faq.md index 11f48a12..fe7b20ec 100644 --- a/docs/i18n/zh/docusaurus-plugin-content-docs/current/user_docs/other/issue.md +++ b/docs/i18n/zh/docusaurus-plugin-content-docs-community/current/faq.md @@ -1,10 +1,11 @@ --- -sidebar_position: 2 +sidebar_position: 3 +title: 常见问题 --- # 常见问题 -- 租户和项目在 Hippo4J 中是什么意思 +- 租户和项目在 Hippo4j 中是什么意思 - 控制台线程池管理和线程池实例的区别 - 示例项目为什么会有跨域请求 - 更新代码后运行时服务端SQL报错 @@ -16,16 +17,15 @@ sidebar_position: 2 - 线程池实例中修改队列容量参数问题 - 控制台 SocketTimeoutException: connect timed out -## 租户和项目在 Hippo4J 中是什么意思 +## 租户和项目在 Hippo4j 中是什么意思 -Hippo4J 按照租户、项目、线程池的维度划分。 +Hippo4j 按照租户、项目、线程池的维度划分。 举个例子,小编在一家公司的公共组件团队,团队中负责消息、短链接网关等项目。公共组件是租户,消息或短链接就是项目。 ## 控制台线程池管理和线程池实例的区别 -在线程池管理中修改线程池参数,客户端并不能实时感知到并变更参数,需要重启客户端。而线程池实例中去对具体的实例修改参数时,客户端无需重启,可以实时感知到参数变化。如果二者针对同一线程 -池的参数配置不同,则在重启客户端时,客户端会去拉去线程池管理中的参数配置。 +在线程池管理中修改线程池参数,客户端并不能实时感知到并变更参数,需要重启客户端。而线程池实例中去对具体的实例修改参数时,客户端无需重启,可以实时感知到参数变化。如果二者针对同一线程池的参数配置不同,则在重启客户端时,客户端会去拉去线程池管理中的参数配置。 二者对应的定位:线程池管理中的配置是常态化配置。而线程池实例里的配置变更像是一种临时修改,比如突发的流量激增等场景,并不具备普适性。 @@ -43,13 +43,13 @@ Hippo4J 按照租户、项目、线程池的维度划分。 如果更新代码运行功能出错,大概率是因为项目新增或修改了表结构。如版本升级迭代涉及数据库表变更,会额外提供 SQL 变更文件。 -如若第一次使用,初始化 SQL 脚本地址:[hippo4j_manager.sql](https://github.com/longtai-cn/hippo4j/blob/develop/hippo4j-server/conf/hippo4j_manager.sql)。 +如若第一次使用,初始化 SQL 脚本地址:[Hippo4j_manager.sql](https://github.com/longtai-cn/hippo4j/blob/develop/hippo4j-server/conf/hippo4j_manager.sql)。 > 友情提示:每次执行数据库表或数据变更时,一定要保持提前备份的好习惯。 ## 生产环境如何不启用动态线程池 -测试环境已经引入 Hippo4J,暂时不打算上线生产环境。 +测试环境已经引入 Hippo4j,暂时不打算上线生产环境。 生产环境指定配置 `spring.dynamic.thread-pool.enable=false`,测试环境和生产环境配置就会隔离。 @@ -57,9 +57,9 @@ Hippo4J 按照租户、项目、线程池的维度划分。 不会。Client 端包含对 Server 端的健康检查机制,Server 端不可用时会停止交互,检查到可用时重新建立连接交互。 -## Hippo4J 的发布方式是怎样的?如何选择正确的版本 +## Hippo4j 的发布方式是怎样的?如何选择正确的版本 -Hippo4J 发布时可能会涉及到两端发布,分别是 Server 和 Starter。如无特殊说明,**每一次的版本升级将兼容上一版本代码**。 +Hippo4j 发布时可能会涉及到两端发布,分别是 Server 和 Starter。如无特殊说明,**每一次的版本升级将兼容上一版本代码**。 - 如涉及 Server 发布,会在 [发布列表页面](https://github.com/longtai-cn/hippo4j/releases) 创建最新的发行版本; - 如涉及 Starter 发布,将直接推送 Starter Jar 至中央仓库,Server 包版本不变。 @@ -67,7 +67,7 @@ Hippo4J 发布时可能会涉及到两端发布,分别是 Server 和 Starter ## 群机器人接受不到通知报警 如果是钉钉机器人,需在机器人配置自定义关键字,才可发送成功。如下所示: - + ![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20220530200133377.png?x-oss-process=image/resize,h_500,w_800) 如果使用 hippo4j-server,请检查在 hippo4j-server 添加的报警通知记录,是否在客户端项目启动前,因为客户端只有在启动时会去 hippo4j-server 拉取报警通知记录。 diff --git a/docs/i18n/zh/docusaurus-plugin-content-docs/version-1.4.2/user_docs/other/issue.md b/docs/i18n/zh/docusaurus-plugin-content-docs/version-1.4.2/user_docs/other/issue.md deleted file mode 100644 index 11f48a12..00000000 --- a/docs/i18n/zh/docusaurus-plugin-content-docs/version-1.4.2/user_docs/other/issue.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -sidebar_position: 2 ---- - -# 常见问题 - -- 租户和项目在 Hippo4J 中是什么意思 -- 控制台线程池管理和线程池实例的区别 -- 示例项目为什么会有跨域请求 -- 更新代码后运行时服务端SQL报错 -- 生产环境如何不启用动态线程池 -- Server 端宕机会影响 Client 运行么 -- Hippo4J 的发布方式是怎样的?如何选择正确的版本 -- 群机器人接受不到通知报警 -- 设置线程池参数优先级问题 -- 线程池实例中修改队列容量参数问题 -- 控制台 SocketTimeoutException: connect timed out - -## 租户和项目在 Hippo4J 中是什么意思 - -Hippo4J 按照租户、项目、线程池的维度划分。 - -举个例子,小编在一家公司的公共组件团队,团队中负责消息、短链接网关等项目。公共组件是租户,消息或短链接就是项目。 - -## 控制台线程池管理和线程池实例的区别 - -在线程池管理中修改线程池参数,客户端并不能实时感知到并变更参数,需要重启客户端。而线程池实例中去对具体的实例修改参数时,客户端无需重启,可以实时感知到参数变化。如果二者针对同一线程 -池的参数配置不同,则在重启客户端时,客户端会去拉去线程池管理中的参数配置。 - -二者对应的定位:线程池管理中的配置是常态化配置。而线程池实例里的配置变更像是一种临时修改,比如突发的流量激增等场景,并不具备普适性。 - -## 示例项目为什么会有跨域请求 - -~~正常大家在部署时,服务端项目和客户端都在同一网络下,进行内网通信,是没有问题的。~~ - -~~因为示例项目中,服务端部署在外网,而客户端注册到服务端 IP 是内网的,所以不通。~~ - -~~涉及功能:线程池实例-查看、编辑,容器线程池。~~ - -1.2.0 版本后,服务端访问客户端已变成,浏览器访问服务端,服务端转发客户端的形式完成调用,跨域问题已解决。 - -## 更新代码后运行时服务端SQL报错 - -如果更新代码运行功能出错,大概率是因为项目新增或修改了表结构。如版本升级迭代涉及数据库表变更,会额外提供 SQL 变更文件。 - -如若第一次使用,初始化 SQL 脚本地址:[hippo4j_manager.sql](https://github.com/longtai-cn/hippo4j/blob/develop/hippo4j-server/conf/hippo4j_manager.sql)。 - -> 友情提示:每次执行数据库表或数据变更时,一定要保持提前备份的好习惯。 - -## 生产环境如何不启用动态线程池 - -测试环境已经引入 Hippo4J,暂时不打算上线生产环境。 - -生产环境指定配置 `spring.dynamic.thread-pool.enable=false`,测试环境和生产环境配置就会隔离。 - -## Server 端宕机会影响 Client 运行么 - -不会。Client 端包含对 Server 端的健康检查机制,Server 端不可用时会停止交互,检查到可用时重新建立连接交互。 - -## Hippo4J 的发布方式是怎样的?如何选择正确的版本 - -Hippo4J 发布时可能会涉及到两端发布,分别是 Server 和 Starter。如无特殊说明,**每一次的版本升级将兼容上一版本代码**。 - -- 如涉及 Server 发布,会在 [发布列表页面](https://github.com/longtai-cn/hippo4j/releases) 创建最新的发行版本; -- 如涉及 Starter 发布,将直接推送 Starter Jar 至中央仓库,Server 包版本不变。 - -## 群机器人接受不到通知报警 - -如果是钉钉机器人,需在机器人配置自定义关键字,才可发送成功。如下所示: - -![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20220530200133377.png?x-oss-process=image/resize,h_500,w_800) - -如果使用 hippo4j-server,请检查在 hippo4j-server 添加的报警通知记录,是否在客户端项目启动前,因为客户端只有在启动时会去 hippo4j-server 拉取报警通知记录。 - -重启客户端项目,会重新拉取最新报警推送配置,问题解决。 - -## 设置线程池参数优先级问题 - -- 当使用 `@DynamicThreadPool` 进行修饰的方法中和在管理界面设置中同时存在的话,则管理界面设置的优先级最高; -- 如果连接 server 端失败的话,使用 `@DynamicThreadPool` 进行修饰设置的优先级最高。 - -## 线程池实例中修改队列容量参数问题 - -在线程池管理中添加时,只有当选择队列类型为 `ResizableCapacityLinkedBlockingQueue` 时,后续再进行修改容量大小时才会实时的刷新修改成功。 - -## 控制台 SocketTimeoutException: connect timed out - -控制台中触发的某些操作涉及到 hippo4j-server 调用客户端项目。如果 hippo4j-server 部署在测试环境,而客户端项目为本地启动,则会触发该问题。 - -为什么编辑线程池参数不报错?因为线程池的动态变更是客户端主动发起连接,和服务端保持了一个长轮询,所以不存在服务端主动调用客户端行为。 diff --git a/docs/i18n/zh/docusaurus-plugin-content-docs/version-1.4.3/user_docs/other/issue.md b/docs/i18n/zh/docusaurus-plugin-content-docs/version-1.4.3/user_docs/other/issue.md deleted file mode 100644 index 11f48a12..00000000 --- a/docs/i18n/zh/docusaurus-plugin-content-docs/version-1.4.3/user_docs/other/issue.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -sidebar_position: 2 ---- - -# 常见问题 - -- 租户和项目在 Hippo4J 中是什么意思 -- 控制台线程池管理和线程池实例的区别 -- 示例项目为什么会有跨域请求 -- 更新代码后运行时服务端SQL报错 -- 生产环境如何不启用动态线程池 -- Server 端宕机会影响 Client 运行么 -- Hippo4J 的发布方式是怎样的?如何选择正确的版本 -- 群机器人接受不到通知报警 -- 设置线程池参数优先级问题 -- 线程池实例中修改队列容量参数问题 -- 控制台 SocketTimeoutException: connect timed out - -## 租户和项目在 Hippo4J 中是什么意思 - -Hippo4J 按照租户、项目、线程池的维度划分。 - -举个例子,小编在一家公司的公共组件团队,团队中负责消息、短链接网关等项目。公共组件是租户,消息或短链接就是项目。 - -## 控制台线程池管理和线程池实例的区别 - -在线程池管理中修改线程池参数,客户端并不能实时感知到并变更参数,需要重启客户端。而线程池实例中去对具体的实例修改参数时,客户端无需重启,可以实时感知到参数变化。如果二者针对同一线程 -池的参数配置不同,则在重启客户端时,客户端会去拉去线程池管理中的参数配置。 - -二者对应的定位:线程池管理中的配置是常态化配置。而线程池实例里的配置变更像是一种临时修改,比如突发的流量激增等场景,并不具备普适性。 - -## 示例项目为什么会有跨域请求 - -~~正常大家在部署时,服务端项目和客户端都在同一网络下,进行内网通信,是没有问题的。~~ - -~~因为示例项目中,服务端部署在外网,而客户端注册到服务端 IP 是内网的,所以不通。~~ - -~~涉及功能:线程池实例-查看、编辑,容器线程池。~~ - -1.2.0 版本后,服务端访问客户端已变成,浏览器访问服务端,服务端转发客户端的形式完成调用,跨域问题已解决。 - -## 更新代码后运行时服务端SQL报错 - -如果更新代码运行功能出错,大概率是因为项目新增或修改了表结构。如版本升级迭代涉及数据库表变更,会额外提供 SQL 变更文件。 - -如若第一次使用,初始化 SQL 脚本地址:[hippo4j_manager.sql](https://github.com/longtai-cn/hippo4j/blob/develop/hippo4j-server/conf/hippo4j_manager.sql)。 - -> 友情提示:每次执行数据库表或数据变更时,一定要保持提前备份的好习惯。 - -## 生产环境如何不启用动态线程池 - -测试环境已经引入 Hippo4J,暂时不打算上线生产环境。 - -生产环境指定配置 `spring.dynamic.thread-pool.enable=false`,测试环境和生产环境配置就会隔离。 - -## Server 端宕机会影响 Client 运行么 - -不会。Client 端包含对 Server 端的健康检查机制,Server 端不可用时会停止交互,检查到可用时重新建立连接交互。 - -## Hippo4J 的发布方式是怎样的?如何选择正确的版本 - -Hippo4J 发布时可能会涉及到两端发布,分别是 Server 和 Starter。如无特殊说明,**每一次的版本升级将兼容上一版本代码**。 - -- 如涉及 Server 发布,会在 [发布列表页面](https://github.com/longtai-cn/hippo4j/releases) 创建最新的发行版本; -- 如涉及 Starter 发布,将直接推送 Starter Jar 至中央仓库,Server 包版本不变。 - -## 群机器人接受不到通知报警 - -如果是钉钉机器人,需在机器人配置自定义关键字,才可发送成功。如下所示: - -![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20220530200133377.png?x-oss-process=image/resize,h_500,w_800) - -如果使用 hippo4j-server,请检查在 hippo4j-server 添加的报警通知记录,是否在客户端项目启动前,因为客户端只有在启动时会去 hippo4j-server 拉取报警通知记录。 - -重启客户端项目,会重新拉取最新报警推送配置,问题解决。 - -## 设置线程池参数优先级问题 - -- 当使用 `@DynamicThreadPool` 进行修饰的方法中和在管理界面设置中同时存在的话,则管理界面设置的优先级最高; -- 如果连接 server 端失败的话,使用 `@DynamicThreadPool` 进行修饰设置的优先级最高。 - -## 线程池实例中修改队列容量参数问题 - -在线程池管理中添加时,只有当选择队列类型为 `ResizableCapacityLinkedBlockingQueue` 时,后续再进行修改容量大小时才会实时的刷新修改成功。 - -## 控制台 SocketTimeoutException: connect timed out - -控制台中触发的某些操作涉及到 hippo4j-server 调用客户端项目。如果 hippo4j-server 部署在测试环境,而客户端项目为本地启动,则会触发该问题。 - -为什么编辑线程池参数不报错?因为线程池的动态变更是客户端主动发起连接,和服务端保持了一个长轮询,所以不存在服务端主动调用客户端行为。 diff --git a/docs/versioned_docs/version-1.4.2/user_docs/other/issue.md b/docs/versioned_docs/version-1.4.2/user_docs/other/issue.md deleted file mode 100644 index 11f48a12..00000000 --- a/docs/versioned_docs/version-1.4.2/user_docs/other/issue.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -sidebar_position: 2 ---- - -# 常见问题 - -- 租户和项目在 Hippo4J 中是什么意思 -- 控制台线程池管理和线程池实例的区别 -- 示例项目为什么会有跨域请求 -- 更新代码后运行时服务端SQL报错 -- 生产环境如何不启用动态线程池 -- Server 端宕机会影响 Client 运行么 -- Hippo4J 的发布方式是怎样的?如何选择正确的版本 -- 群机器人接受不到通知报警 -- 设置线程池参数优先级问题 -- 线程池实例中修改队列容量参数问题 -- 控制台 SocketTimeoutException: connect timed out - -## 租户和项目在 Hippo4J 中是什么意思 - -Hippo4J 按照租户、项目、线程池的维度划分。 - -举个例子,小编在一家公司的公共组件团队,团队中负责消息、短链接网关等项目。公共组件是租户,消息或短链接就是项目。 - -## 控制台线程池管理和线程池实例的区别 - -在线程池管理中修改线程池参数,客户端并不能实时感知到并变更参数,需要重启客户端。而线程池实例中去对具体的实例修改参数时,客户端无需重启,可以实时感知到参数变化。如果二者针对同一线程 -池的参数配置不同,则在重启客户端时,客户端会去拉去线程池管理中的参数配置。 - -二者对应的定位:线程池管理中的配置是常态化配置。而线程池实例里的配置变更像是一种临时修改,比如突发的流量激增等场景,并不具备普适性。 - -## 示例项目为什么会有跨域请求 - -~~正常大家在部署时,服务端项目和客户端都在同一网络下,进行内网通信,是没有问题的。~~ - -~~因为示例项目中,服务端部署在外网,而客户端注册到服务端 IP 是内网的,所以不通。~~ - -~~涉及功能:线程池实例-查看、编辑,容器线程池。~~ - -1.2.0 版本后,服务端访问客户端已变成,浏览器访问服务端,服务端转发客户端的形式完成调用,跨域问题已解决。 - -## 更新代码后运行时服务端SQL报错 - -如果更新代码运行功能出错,大概率是因为项目新增或修改了表结构。如版本升级迭代涉及数据库表变更,会额外提供 SQL 变更文件。 - -如若第一次使用,初始化 SQL 脚本地址:[hippo4j_manager.sql](https://github.com/longtai-cn/hippo4j/blob/develop/hippo4j-server/conf/hippo4j_manager.sql)。 - -> 友情提示:每次执行数据库表或数据变更时,一定要保持提前备份的好习惯。 - -## 生产环境如何不启用动态线程池 - -测试环境已经引入 Hippo4J,暂时不打算上线生产环境。 - -生产环境指定配置 `spring.dynamic.thread-pool.enable=false`,测试环境和生产环境配置就会隔离。 - -## Server 端宕机会影响 Client 运行么 - -不会。Client 端包含对 Server 端的健康检查机制,Server 端不可用时会停止交互,检查到可用时重新建立连接交互。 - -## Hippo4J 的发布方式是怎样的?如何选择正确的版本 - -Hippo4J 发布时可能会涉及到两端发布,分别是 Server 和 Starter。如无特殊说明,**每一次的版本升级将兼容上一版本代码**。 - -- 如涉及 Server 发布,会在 [发布列表页面](https://github.com/longtai-cn/hippo4j/releases) 创建最新的发行版本; -- 如涉及 Starter 发布,将直接推送 Starter Jar 至中央仓库,Server 包版本不变。 - -## 群机器人接受不到通知报警 - -如果是钉钉机器人,需在机器人配置自定义关键字,才可发送成功。如下所示: - -![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20220530200133377.png?x-oss-process=image/resize,h_500,w_800) - -如果使用 hippo4j-server,请检查在 hippo4j-server 添加的报警通知记录,是否在客户端项目启动前,因为客户端只有在启动时会去 hippo4j-server 拉取报警通知记录。 - -重启客户端项目,会重新拉取最新报警推送配置,问题解决。 - -## 设置线程池参数优先级问题 - -- 当使用 `@DynamicThreadPool` 进行修饰的方法中和在管理界面设置中同时存在的话,则管理界面设置的优先级最高; -- 如果连接 server 端失败的话,使用 `@DynamicThreadPool` 进行修饰设置的优先级最高。 - -## 线程池实例中修改队列容量参数问题 - -在线程池管理中添加时,只有当选择队列类型为 `ResizableCapacityLinkedBlockingQueue` 时,后续再进行修改容量大小时才会实时的刷新修改成功。 - -## 控制台 SocketTimeoutException: connect timed out - -控制台中触发的某些操作涉及到 hippo4j-server 调用客户端项目。如果 hippo4j-server 部署在测试环境,而客户端项目为本地启动,则会触发该问题。 - -为什么编辑线程池参数不报错?因为线程池的动态变更是客户端主动发起连接,和服务端保持了一个长轮询,所以不存在服务端主动调用客户端行为。 diff --git a/docs/versioned_docs/version-1.4.3/user_docs/other/issue.md b/docs/versioned_docs/version-1.4.3/user_docs/other/issue.md deleted file mode 100644 index 11f48a12..00000000 --- a/docs/versioned_docs/version-1.4.3/user_docs/other/issue.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -sidebar_position: 2 ---- - -# 常见问题 - -- 租户和项目在 Hippo4J 中是什么意思 -- 控制台线程池管理和线程池实例的区别 -- 示例项目为什么会有跨域请求 -- 更新代码后运行时服务端SQL报错 -- 生产环境如何不启用动态线程池 -- Server 端宕机会影响 Client 运行么 -- Hippo4J 的发布方式是怎样的?如何选择正确的版本 -- 群机器人接受不到通知报警 -- 设置线程池参数优先级问题 -- 线程池实例中修改队列容量参数问题 -- 控制台 SocketTimeoutException: connect timed out - -## 租户和项目在 Hippo4J 中是什么意思 - -Hippo4J 按照租户、项目、线程池的维度划分。 - -举个例子,小编在一家公司的公共组件团队,团队中负责消息、短链接网关等项目。公共组件是租户,消息或短链接就是项目。 - -## 控制台线程池管理和线程池实例的区别 - -在线程池管理中修改线程池参数,客户端并不能实时感知到并变更参数,需要重启客户端。而线程池实例中去对具体的实例修改参数时,客户端无需重启,可以实时感知到参数变化。如果二者针对同一线程 -池的参数配置不同,则在重启客户端时,客户端会去拉去线程池管理中的参数配置。 - -二者对应的定位:线程池管理中的配置是常态化配置。而线程池实例里的配置变更像是一种临时修改,比如突发的流量激增等场景,并不具备普适性。 - -## 示例项目为什么会有跨域请求 - -~~正常大家在部署时,服务端项目和客户端都在同一网络下,进行内网通信,是没有问题的。~~ - -~~因为示例项目中,服务端部署在外网,而客户端注册到服务端 IP 是内网的,所以不通。~~ - -~~涉及功能:线程池实例-查看、编辑,容器线程池。~~ - -1.2.0 版本后,服务端访问客户端已变成,浏览器访问服务端,服务端转发客户端的形式完成调用,跨域问题已解决。 - -## 更新代码后运行时服务端SQL报错 - -如果更新代码运行功能出错,大概率是因为项目新增或修改了表结构。如版本升级迭代涉及数据库表变更,会额外提供 SQL 变更文件。 - -如若第一次使用,初始化 SQL 脚本地址:[hippo4j_manager.sql](https://github.com/longtai-cn/hippo4j/blob/develop/hippo4j-server/conf/hippo4j_manager.sql)。 - -> 友情提示:每次执行数据库表或数据变更时,一定要保持提前备份的好习惯。 - -## 生产环境如何不启用动态线程池 - -测试环境已经引入 Hippo4J,暂时不打算上线生产环境。 - -生产环境指定配置 `spring.dynamic.thread-pool.enable=false`,测试环境和生产环境配置就会隔离。 - -## Server 端宕机会影响 Client 运行么 - -不会。Client 端包含对 Server 端的健康检查机制,Server 端不可用时会停止交互,检查到可用时重新建立连接交互。 - -## Hippo4J 的发布方式是怎样的?如何选择正确的版本 - -Hippo4J 发布时可能会涉及到两端发布,分别是 Server 和 Starter。如无特殊说明,**每一次的版本升级将兼容上一版本代码**。 - -- 如涉及 Server 发布,会在 [发布列表页面](https://github.com/longtai-cn/hippo4j/releases) 创建最新的发行版本; -- 如涉及 Starter 发布,将直接推送 Starter Jar 至中央仓库,Server 包版本不变。 - -## 群机器人接受不到通知报警 - -如果是钉钉机器人,需在机器人配置自定义关键字,才可发送成功。如下所示: - -![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20220530200133377.png?x-oss-process=image/resize,h_500,w_800) - -如果使用 hippo4j-server,请检查在 hippo4j-server 添加的报警通知记录,是否在客户端项目启动前,因为客户端只有在启动时会去 hippo4j-server 拉取报警通知记录。 - -重启客户端项目,会重新拉取最新报警推送配置,问题解决。 - -## 设置线程池参数优先级问题 - -- 当使用 `@DynamicThreadPool` 进行修饰的方法中和在管理界面设置中同时存在的话,则管理界面设置的优先级最高; -- 如果连接 server 端失败的话,使用 `@DynamicThreadPool` 进行修饰设置的优先级最高。 - -## 线程池实例中修改队列容量参数问题 - -在线程池管理中添加时,只有当选择队列类型为 `ResizableCapacityLinkedBlockingQueue` 时,后续再进行修改容量大小时才会实时的刷新修改成功。 - -## 控制台 SocketTimeoutException: connect timed out - -控制台中触发的某些操作涉及到 hippo4j-server 调用客户端项目。如果 hippo4j-server 部署在测试环境,而客户端项目为本地启动,则会触发该问题。 - -为什么编辑线程池参数不报错?因为线程池的动态变更是客户端主动发起连接,和服务端保持了一个长轮询,所以不存在服务端主动调用客户端行为。