RocketMQ.Client 0.0.13-snapshot
The .NET Implementation of Apache RocketMQ Client
Here is the .NET implementation of the client for Apache RocketMQ.
Supported .NET Versions
Due to the release of .NET 5 in 2020, which unified .NET Framework and .NET Core, and has gradually become the mainstream platform for .NET development, the RocketMQ client will support .NET 5 and later versions.
See more details about .NET 5 from Introducing .NET 5.
Architecture
The client would be developed using the protocols outlined in rocketmq-apis and built on gRPC-dotnet, leveraging Protocol Buffers for data serialization and deserialization during transmission.
Quickstart & Build
dotnet add package RocketMQ.Client
You can obtain the latest version of RocketMQ.Client
from NuGet Gallery. To assist with getting started quickly and working
with various message types and clients, we offer examples here.
Layout of this project roughly follows this guide . The solution contains a class library, a unit test module and an example console module. Assuming you are at the home of this repository:
# build the project
dotnet build
# run unit tests
dotnet test -l "console;verbosity=detailed"
Logging System
We use NLog as our logging implementation. Similar to the Java binding, we allow the use of environment variables to customize the related configuration:
rocketmq.log.level
: Log output level, default is INFO.rocketmq.log.root
: The root directory of the log output. The default path is$HOME/logs/rocketmq
, so the full path is$HOME/logs/rocketmq/rocketmq-client.log
.rocketmq.log.file.maxIndex
: The maximum number of log files to keep. The default is 10, and the size of a single log file is limited to 64 MB. Adjustment is not supported yet.
Specifically, by setting mq.consoleAppender.enabled
to true, you can output client logs to the console simultaneously
if you need debugging.
Publishing Steps
- Open the command prompt, and change the directory to the project folder that you want to package.
- Run the
dotnet pack --configuration Release
command. This will create a NuGet package in thebin/Release
folder of the project. - To upload the package to NuGet, go to the NuGet website and sign in. Click on the "Upload" button and select the
package file from the
bin/Release
folder. - Follow the instructions on the website to complete the upload process. Once the package is uploaded, it will be available for others to download and use.
No packages depend on RocketMQ.Client.
.NET 5.0
- Crc32.NET (>= 1.2.0)
- OpenTelemetry.Api (>= 1.3.1)
- OpenTelemetry (>= 1.3.1)
- NLog (>= 4.7.13)
- Grpc.Net.Client (>= 2.43.0)
- Google.Protobuf (>= 3.19.4)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.3.1)
.NET Standard 2.0
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.3.1)
- OpenTelemetry.Api (>= 1.3.1)
- OpenTelemetry (>= 1.3.1)
- NLog (>= 4.7.13)
- Grpc.Net.Client (>= 2.43.0)
- Crc32.NET (>= 1.2.0)
- Google.Protobuf (>= 3.19.4)
Version | Downloads | Last updated |
---|---|---|
5.2.0-rc1 | 1 | 11/04/2024 |
5.1.1-rc1 | 11 | 12/28/2023 |
5.1.0 | 26 | 11/29/2023 |
5.1.0-rc1 | 5 | 06/02/2024 |
0.0.17-rc2 | 4 | 06/02/2024 |
0.0.17-rc1 | 3 | 06/02/2024 |
0.0.16-SNAPSHOT | 6 | 05/24/2024 |
0.0.15-SNAPSHOT | 5 | 05/24/2024 |
0.0.14-SNAPSHOT | 4 | 05/24/2024 |
0.0.13-SNAPSHOT | 4 | 05/01/2024 |
0.0.12-SNAPSHOT | 6 | 05/24/2024 |
0.0.11-SNAPSHOT | 6 | 05/17/2024 |
0.0.10-SNAPSHOT | 5 | 05/24/2024 |
0.0.9-SNAPSHOT | 5 | 06/02/2024 |
0.0.8-SNAPSHOT | 4 | 06/02/2024 |
0.0.7-SNAPSHOT | 8 | 05/12/2024 |
0.0.6-SNAPSHOT | 3 | 06/02/2024 |
0.0.5-SNAPSHOT | 3 | 06/02/2024 |
0.0.4-SNAPSHOT | 6 | 05/28/2024 |
0.0.3-SNAPSHOT | 8 | 06/02/2024 |
0.0.2-SNAPSHOT | 5 | 05/20/2024 |
0.0.1-SNAPSHOT | 9 | 05/01/2024 |