This is an automated email from the ASF dual-hosted git repository.
visoar pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bifromq.git
The following commit(s) were added to refs/heads/main by this push:
new 9a27547c chores-update readme/code cleanup/etc (#150)
9a27547c is described below
commit 9a27547c6bf6110ff3b61d3bca962ca56bcaa5dd
Author: Yonny(Yu) Hao <[email protected]>
AuthorDate: Mon Jun 30 15:59:34 2025 +0800
chores-update readme/code cleanup/etc (#150)
---
README.md | 21 +++++-------
README.zh_Hans.md | 28 ++++++---------
base-rpc/base-rpc-grpc-inproc/README.md | 5 ++-
.../sysprops/props/InboxTouchQueuesPerRange.java | 36 -------------------
.../apache/bifromq/starter/StandaloneStarter.java | 2 +-
.../apache/bifromq/demo/plugin/EventLogger.java | 40 ++++++++++------------
6 files changed, 41 insertions(+), 91 deletions(-)
diff --git a/README.md b/README.md
index cf556bea..e6bfab1b 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
# BifroMQ
[](https://github.com/bifromqio/bifromq/releases)
+<a href="https://discord.gg/Pfs3QRadRB"><img
src="https://img.shields.io/discord/1115542029531885599?logo=discord&logoColor=white"
alt="BifroMQ Discord server" /></a>
[](https://coveralls.io/github/bifromqio/bifromq?branch=main)
[](https://hub.docker.com/r/bifromq/bifromq)
@@ -25,10 +26,10 @@ support. It is designed to support building large-scale IoT
device connections a
## Documentation
-You can access the [documentation](https://bifromq.io/docs/get_started/intro/)
on the
-official [website](https://bifromq.io).
+You can access the
[documentation](https://bifromq.apache.org/docs/get_started/intro/) on the
+official [website](https://bifromq.apache.org).
Additionally, contributions to the documentation are welcome in the
-GitHub [repository](https://github.com/bifromqio/bifromq-docs).
+GitHub [repository](https://github.com/apache/bifromq-sites).
## Getting Started
@@ -133,8 +134,8 @@ mvn wrapper:wrapper
The build output consists of several archive files located under
`/target/output`
-* `bifromq-<VERSION>-windows-standalone.zip`
-* `bifromq-<VERSION>-standalone.tar.gz`
+* `bifromq-<VERSION>.tar.gz`
+* `bifromq-<VERSION>-windows.zip`
#### Running the tests
@@ -148,7 +149,7 @@ mvn test
### Quick Start
-To quickly set up a BifroMQ server, extract the
`bifromq-xxx-standalone.tar.gz` file into a directory. You will see the
+To quickly set up a BifroMQ server, extract the `bifromq-<VERSION>.tar.gz`
file into a directory. You will see the
following directory structure:
```
@@ -218,13 +219,9 @@ of workload. These sub-clusters work together coherently
to form a logical MQTT
complex deployment mode and requires additional non-open-sourced building
blocks. Feel free to contact us for commercial
support.
-## Discussion
-
-Join our Discord if you are interested in our work.
+## User Community
-### Discord
-
-<a href="https://discord.gg/Pfs3QRadRB"><img
src="https://img.shields.io/discord/1115542029531885599?logo=discord&logoColor=white"
alt="BifroMQ Discord server" /></a>
+Join our [Discord](https://discord.gg/Pfs3QRadRB) if you are interested in our
work.
## ASF Incubator disclaimer
diff --git a/README.zh_Hans.md b/README.zh_Hans.md
index 609f9f94..e1902c50 100644
--- a/README.zh_Hans.md
+++ b/README.zh_Hans.md
@@ -21,8 +21,8 @@ BifroMQ 是一个高性能且支持分布式的 MQTT Broker 实现,它原生
## 文档
-您可以在官方[网站](https://bifromq.io/zh-Hans/)上查看[文档](https://bifromq.io/zh-Hans/docs/get_started/intro/)。
-此外,欢迎您在GitHub[仓库](https://github.com/bifromqio/bifromq-docs)中贡献文档。
+您可以在官方[网站](https://bifromq.apache.org)上查看[文档](https://bifromq.apache.org/docs/get_started/intro/)。
+此外,欢迎您在GitHub[仓库](https://github.com/apache/bifromq-sites)中贡献文档。
## 开始使用
@@ -34,7 +34,7 @@ docker run -d -m <MEM_LIMIT> -e
MEM_LIMIT='<MEM_LIMIT_IN_BYTES>' --name bifromq
将`<MEM_LIMIT>`和`<MEM_LIMIT_IN_BYTES>`替换为 Docker
进程的实际内存分配,例如,使用`2G`替换`<MEM_LIMIT>`,使用 `2147483648`
替换`<MEM_LIMIT_IN_BYTES>`。如果未指定这些值,BifroMQ 默认使用宿主服务器的物理内存来确定JVM参数。这可能导致 Docker
-进程被宿主机的OOM
Killer终止,更多供信息[参考](https://bifromq.io/zh-Hans/docs/installation/docker/)。
+进程被宿主机的OOM
Killer终止,更多供信息[参考](https://bifromq.apache.org/zh-Hans/docs/installation/docker/)。
你可以使用Docker Compose在单个host上搭建BifroMQ集群用于开发和测试。假设你想创建一个包含三个节点的集群:node1、node2 和
node3,目录结构如下:
```
@@ -125,8 +125,8 @@ mvn wrapper:wrapper
构建输出位于`/target/output`下:
-* `bifromq-<VERSION>-windows-standalone.zip`
-* `bifromq-<VERSION>-standalone.tar.gz`
+* `bifromq-<VERSION>.tar.gz`
+* `bifromq-<VERSION>-windows.zip`
#### 运行测试
@@ -139,7 +139,7 @@ mvn test
### 快速开始
-要快速启动一个 BifroMQ 单机服务器,请先将 `bifromq-xxx-standalone.tar.gz`
文件解压到某个目录中。解压后的目录结构如下所示:
+要快速启动一个 BifroMQ 单机服务器,请先将 `bifromq-<VERSION>.tar.gz` 文件解压到某个目录中。解压后的目录结构如下所示:
```
|- bin
@@ -202,19 +202,13 @@ MQTT Broker 实例,确保高可用性。 你也可以通过添加更多的节
独立工作负载集群部署模式旨在构建大规模的,多租户的 Serverless
集群。在这种模式下,集群由几个专门的子集群组成,每个子集群都专注于一个特定的'独立类型'的工作负载。这些子集群共同协作形成一个逻辑的
-MQTT Broker 实例。这是最复杂的部署模式,需要额外的非开源协作组件。如需商业支持,请随时与我们联系。
+MQTT Broker
实例。这是最复杂的部署模式,需要额外的非开源协作组件。如需商业支持,请与我们[联系](mailto:[email protected])。
-## 讨论
+## 用户社区
-### 微信群
+加入我们的 [Discord](https://discord.gg/Pfs3QRadRB) 用户群组
-如果你对我们的项目感兴趣,你可以加入我们的微信群。
-[通过电子邮件](mailto:[email protected]) 向我们联系,告知您的WeChat ID,以及"为什么您对 BifroMQ 感兴趣"
-的更多信息(我们很乐意听到),我们将尽快邀请您加入我们的群组。
+## ASF Incubator disclaimer
-### Discord
-
-或加入我们的 Discord 群组(英文)
-
-<a href="https://discord.gg/Pfs3QRadRB"><img
src="https://img.shields.io/discord/1115542029531885599?logo=discord&logoColor=white"
alt="BifroMQ Discord server" /></a>
+Apache BifroMQ™ is an effort undergoing incubation at The Apache
Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the [...]
diff --git a/base-rpc/base-rpc-grpc-inproc/README.md
b/base-rpc/base-rpc-grpc-inproc/README.md
index aed2e767..bd448838 100644
--- a/base-rpc/base-rpc-grpc-inproc/README.md
+++ b/base-rpc/base-rpc-grpc-inproc/README.md
@@ -1,8 +1,7 @@
-This Java package contains some code copied from gRPC Java with minor
modifications to meet specific requirements.
-You might wonder why the package is named `io.grpc.netty`. The reason is that
we need to implement a special client
+You might wonder why the package is named under `io.grpc`. The reason is that
we need to implement a special client
channel:
when the RPC client and server are in the same process, we use a lighter
`InProcTransport` to improve the efficiency of
-RPC within a single process. Unfortunately, the current code structure of gRPC
Java only exposes limited customization
+RPC within a single process. Unfortunately, the current code structure of gRPC
Java only exposes limited public customization
capabilities.
In the long run, it is very likely that we will replace the usage of gRPC with
an implementation that only meets our
specific RPC needs
\ No newline at end of file
diff --git
a/bifromq-sysprops/src/main/java/org/apache/bifromq/sysprops/props/InboxTouchQueuesPerRange.java
b/bifromq-sysprops/src/main/java/org/apache/bifromq/sysprops/props/InboxTouchQueuesPerRange.java
deleted file mode 100644
index 72d8c18c..00000000
---
a/bifromq-sysprops/src/main/java/org/apache/bifromq/sysprops/props/InboxTouchQueuesPerRange.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.bifromq.sysprops.props;
-
-import org.apache.bifromq.baseenv.EnvProvider;
-import org.apache.bifromq.sysprops.BifroMQSysProp;
-import org.apache.bifromq.sysprops.parser.IntegerParser;
-
-/**
- * The number of inbox touch queues per range.
- */
-public final class InboxTouchQueuesPerRange extends BifroMQSysProp<Integer,
IntegerParser> {
- public static final InboxTouchQueuesPerRange INSTANCE = new
InboxTouchQueuesPerRange();
-
- private InboxTouchQueuesPerRange() {
- super("inbox_touch_queues_per_range",
- Math.max(1, EnvProvider.INSTANCE.availableProcessors() / 16),
IntegerParser.POSITIVE);
- }
-}
diff --git
a/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
index 3e64e399..d1ba3501 100644
---
a/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
@@ -127,7 +127,7 @@ public class StandaloneStarter {
log.info("JVM arguments: \n {}", String.join("\n ", arguments));
log.info("Settings, which can be modified at runtime, allowing for
dynamic adjustment of BifroMQ's "
- + "service behavior per tenant. See
https://bifromq.io/docs/plugin/setting_provider/");
+ + "service behavior per tenant. See
https://bifromq.apache.org/docs/plugin/setting_provider/intro/");
log.info("The initial value of each setting could be overridden by JVM
arguments like: '-DMQTT5Enabled=false'");
for (Setting setting : Setting.values()) {
log.info("Setting: {}={}", setting.name(), setting.current(""));
diff --git
a/build/build-plugin-demo/src/main/java/org/apache/bifromq/demo/plugin/EventLogger.java
b/build/build-plugin-demo/src/main/java/org/apache/bifromq/demo/plugin/EventLogger.java
index 9a4522a2..c00c6c67 100644
---
a/build/build-plugin-demo/src/main/java/org/apache/bifromq/demo/plugin/EventLogger.java
+++
b/build/build-plugin-demo/src/main/java/org/apache/bifromq/demo/plugin/EventLogger.java
@@ -34,30 +34,26 @@ public final class EventLogger implements IEventCollector {
@Override
public void report(Event<?> event) {
- if (LOG.isDebugEnabled()) {
- switch (event.type()) {
- case DISCARD,
- WILL_DIST_ERROR,
- QOS0_DIST_ERROR,
- QOS1_DIST_ERROR,
- QOS2_DIST_ERROR,
- OVERFLOWED,
- QOS0_DROPPED,
- QOS1_DROPPED,
- QOS2_DROPPED,
- OVERSIZE_PACKET_DROPPED,
- MSG_RETAINED_ERROR,
- DELIVER_ERROR -> LOG.debug("Message dropped due to {}",
event.type());
- default -> {
- if (event instanceof ChannelClosedEvent || event
instanceof ClientDisconnectEvent) {
- LOG.debug("Channel closed due to {}", event.type());
- }
+ switch (event.type()) {
+ case DISCARD,
+ WILL_DIST_ERROR,
+ QOS0_DIST_ERROR,
+ QOS1_DIST_ERROR,
+ QOS2_DIST_ERROR,
+ OVERFLOWED,
+ QOS0_DROPPED,
+ QOS1_DROPPED,
+ QOS2_DROPPED,
+ OVERSIZE_PACKET_DROPPED,
+ MSG_RETAINED_ERROR,
+ DELIVER_ERROR -> LOG.debug("Message dropped due to {}",
event.type());
+ case OUT_OF_TENANT_RESOURCE ->
+ LOG.warn("Out of tenant resource: {}", ((OutOfTenantResource)
event).reason());
+ default -> {
+ if (event instanceof ChannelClosedEvent || event instanceof
ClientDisconnectEvent) {
+ LOG.debug("Channel closed due to {}", event.type());
}
}
- } else if (LOG.isWarnEnabled()) {
- if (event instanceof OutOfTenantResource throttled) {
- LOG.warn("Out of tenant resource: {}", throttled.reason());
- }
}
}
}