在地图像:eventhorizon-cli/EventHorizon.RocketMQ
ನುಗೆಟ್:EventHorizon.RocketMQ.Grpc | EventHorizon.RocketMQ.Remoting
前言
我画很很得小RocketMQ。 ಇದು ಕೇವಲ 吞吐高;ಈ ರೀತಿಯ ಉನ್ನತ ಮಟ್ಟದ ಎಲೆಕ್ಟ್ರಿಕ್ ವ್ಯವಹಾರದ ಸನ್ನಿವೇಶದಲ್ಲಿ, ವಿಶ್ವಾಸಾರ್ಹ ವಿತರಣೆ, ಆದೇಶ ಬಳಕೆಯಿಂದ ವಿಳಂಬ ಮತ್ತು ವಹಿವಾಟು ಸಂದೇಶಗಳವರೆಗೆ, RocketMQ ಸಾಕಷ್ಟು ಸಂಪೂರ್ಣ ಸಂದೇಶ ಕಳುಹಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಬಹಳ ಹಿಂದೆಯೇ, ನಾನು .NET RocketMQ ಕ್ಲೈಂಟ್ ಅನ್ನು ಬರೆಯಲು ಬಯಸಿದ್ದೆ. ಆ ಸಮಯದಲ್ಲಿ, RocketMQ 5 ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿಲ್ಲ, ಮತ್ತು ಗ್ರಾಹಕರು ಮುಖ್ಯವಾಗಿ ಸಾಂಪ್ರದಾಯಿಕ ರಿಮೋಟಿಂಗ್ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಬಳಸಿದರು. ರಿಮೋಟಿಂಗ್ ಪ್ರೋಟೋಕಾಲ್ ವರ್ಷಗಳಲ್ಲಿ ವಿಕಸನಗೊಂಡಿದೆ, ಸಂದೇಶ ಕಳುಹಿಸುವುದರ ಜೊತೆಗೆ, ಇದು ನೇಮ್ಸರ್ವರ್ ರೂಟಿಂಗ್, ಬ್ರೋಕರ್ ಸಂವಹನ, ಹೃದಯ ಬಡಿತ, ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್, ಬಳಕೆಯ ಪ್ರಗತಿ, ಭಾರೀ ಪರೀಕ್ಷೆ ಮತ್ತು ವಹಿವಾಟು ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಇತ್ಯಾದಿಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.
ಆ ಸಮಯದಲ್ಲಿ, ಯೋಜನೆಯು ಕೇವಲ ಒಂದು ತೆರೆದ ತಲೆಯನ್ನು ಮಾತ್ರ ಬರೆಯಿತು, ಮತ್ತು ನಂತರ ಅದು ಸಮಯ ಮತ್ತು ಶಕ್ತಿಗೆ ಸೀಮಿತವಾಗಿತ್ತು.
ನಂತರ, RocketMQ 5 gRPC ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಪರಿಚಯಿಸಿತು ಮತ್ತು ಅಧಿಕೃತ C# ಕ್ಲೈಂಟ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿತು.
ಆದಾಗ್ಯೂ, ಅಧಿಕೃತ C# ಕ್ಲೈಂಟ್ ಮುಖ್ಯವಾಗಿ gRPC ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಎದುರಿಸುತ್ತದೆ, ಮತ್ತು ನಿಜವಾದ ಪರಿಸರವು ಇನ್ನೂ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ನೇಮ್ಸರ್ವರ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಮರುಮಾರ್ಕೆಟಿಂಗ್ ನಿಯೋಜನೆಯನ್ನು ಹೊಂದಿದೆ. ಜೊತೆಗೆ, .NET ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಸಾಮಾನ್ಯವಾಗಿ DI, ಜೆನೆರಿಕ್ ಹೋಸ್ಟ್, ಆಯ್ಕೆಗಳು, ಲಾಗ್ಗಳು ಮತ್ತು OpenTelemetry ಅಗತ್ಯವಿರುತ್ತದೆ.
ಈ ಯೋಜನೆಯು ಸಂದೇಶ ಸ್ವೀಕಾರವನ್ನು ಪೂರ್ಣಗೊಳಿಸುವುದಲ್ಲದೆ, ಉತ್ತಮ ಬಳಕೆಯ ಅನುಭವವನ್ನು ನೀಡುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ: 吵甥发发: 吵甥发 ನೋಂದಣಿ ಮತ್ತು ಇಂಜೆಕ್ಷನ್ ನಿರ್ಮಾಪಕ、ಗ್ರಾಹಕ ಮತ್ತು ನಿರ್ವಾಹಕ API, ಕ್ಲೈಂಟ್ ಜೆನೆರಿಕ್ ಹೋಸ್ಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಮತ್ತು ಒಟ್ಟಿಗೆ ನಿಲ್ಲಿಸಲು ಅನುಸರಿಸಲಿ; ನೀವು ಬಹು ಕ್ಲಸ್ಟರ್ಗಳನ್ನು ಸಂಪರ್ಕಿಸಬೇಕಾದಾಗ, ಕ್ಲಸ್ಟರ್ನಿಂದ ವಿಭಿನ್ನ ಕ್ಲೈಂಟ್ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ನೀವು ಕೀಯಡ್ ಸೇವೆಯನ್ನು ಬಳಸಬಹುದು, ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಟ್ರೇಸ್ ಮತ್ತು ಮೆಟ್ರಿಕ್ಸ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಸಂಯೋಜಿಸಲು ನೀವು ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ, ಸ್ವೀಕರಿಸುವಿಕೆ ಮತ್ತು ಬಳಕೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಬಳಸಬಹುದು.
ಇತ್ತೀಚಿನ ವೈಬ್ ಕೋಡಿಂಗ್ ಸಹಾಯದಿಂದ, ನಾನು ಈ ಯೋಜನೆಯನ್ನು RocketMQ 5 gRPC ಕ್ಲೈಂಟ್ನೊಂದಿಗೆ ಮರು-ಅನುಷ್ಠಾನಗೊಳಿಸಿದ್ದೇನೆ.
ಕ್ರಿಯಾತ್ಮಕ ಅವಲೋಕನ
✅ 运动安全已电影电影 API。 ವಾಸ್ತವವಾಗಿ ಇದು ಲಭ್ಯವಿದೆಯೇ, ಇದು RocketMQ ಸೇವೆಯ ಆವೃತ್ತಿಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ, ಅದು ಲಭ್ಯವಿದೆಯೇ, ಅದು RocketMQ ಸೇವೆಯ ಆವೃತ್ತಿಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ.
| ಕಾರ್ಯ | RocketMQ 5 gRPC | ಕ್ಲಾಸಿಕ್ ರಿಮೋಟಿಂಗ್ | ವಿವರಣೆ |
|---|---|---|---|
| ಲಿಂಕ್ ಗುರಿ | ✅ | ✅ | gRPC ಸಂಪರ್ಕ RocketMQ 5 ಪ್ರಾಕ್ಸಿ;ರಿಮೋಟಿಂಗ್ ಸಂಪರ್ಕ ನೇಮ್ಸರ್ವರ್ ಮತ್ತು ಬ್ರೋಕರ್. |
| ಸಾಮಾನ್ಯ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ | ✅ | ✅ | ಎರಡು ರೀತಿಯ ಒಪ್ಪಂದಗಳನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ. |
| FIFO/ ಅನುಕ್ರಮ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ | ✅ | ✅ | ಎರಡು ರೀತಿಯ ಒಪ್ಪಂದವನ್ನು ಅಂಗೀಕರಿಸಲಾಗಿದೆ MessageGroup 手机手机手机;ಅಂತಿಮವಾಗಿ |
| ಸಂದೇಶ ಕಳುಹಿಸುವ ಸಮಯ/ ವಿಳಂಬ | ✅ | ✅ | 服务端最好手机手机最好老。 |
| ಸಮಯ/ವಿಳಂಬ ಸಂದೇಶವನ್ನು ರದ್ದುಮಾಡಿ | ✅ | ✅ | ಸಂದೇಶದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕು. |
| ಆದ್ಯತೆಯ ಸುದ್ದಿ | ✅ | ✅ | 服务端最好下载手机手机下载。 |
| ಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ | ✅ | ✅ | ಇದು ಲೈಟ್ ವಿಷಯ ಮತ್ತು ಸೇವಾ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. |
| ವ್ಯಾಪಾರ ಸುದ್ದಿ | ✅ | ✅ | gRPC ಗೆ ವಹಿವಾಟು ಪರೀಕ್ಷಕನ ಸಂರಚನೆಯ ಅಗತ್ಯವಿದೆ; ಸ್ಥಳೀಯ ವಹಿವಾಟಿನ ಫಲಿತಾಂಶಗಳನ್ನು ಉಳಿಸಲು ಎರಡು ರೀತಿಯ ಪ್ರೋಟೋಕಾಲ್ ಅಗತ್ಯವಿದೆ. |
| ಬ್ಯಾಚ್ ಕಳುಹಿಸಲಾಗಿದೆ | – | ✅ | ರಿಮೋಟಿಂಗ್ ಪ್ರೊಡ್ಯೂಸರ್ ಬೆಂಬಲ ಒಂದೇ ವಿಷಯಕ್ಕೆ ಸೇರಿರಬೇಕು. |
| ಏಕ ಕಳುಹಿಸು | – | ✅ | ರಿಮೋಟಿಂಗ್ ಪ್ರೊಡ್ಯೂಸರ್ ಬೆಂಬಲ. |
| ಕಳುಹಿಸುವ ಸರದಿಯನ್ನು ಸೂಚಿಸಿ | – | ✅ | ನಿರ್ಮಾಪಕ ರಿಮೋಟಿಂಗ್ ಬೆಂಬಲ. |
| ಕ್ಯೂ ಸೆಲೆಕ್ಟರ್ | – | ✅ | ನಿರ್ಮಾಪಕ ರಿಮೋಟಿಂಗ್ ಬೆಂಬಲ. |
| ವಿನಂತಿ- ಪ್ರತಿಕ್ರಿಯೆ ಸಂದೇಶ | – | ✅ | ನಿರ್ಮಾಪಕ ರಿಮೋಟಿಂಗ್ ಬೆಂಬಲ. |
| ಸರಳ ಗ್ರಾಹಕ | ✅ | – | 月式拉ಟೇಕ್, ದೃಢೀಕರಣ, ಮಾರ್ಪಾಡು ಗೋಚರಿಸದ ಸಮಯ, ಡೆಡ್ ಲೆಟರ್ ಕ್ಯೂಗೆ ತಿರುಗಿ. |
| gRPC PushConsumer | ✅ | – | ಕ್ಲೈಂಟ್ ವಿತರಣೆಯ ಬಗ್ಗೆ ಸಕ್ರಿಯವಾಗಿ ವಿಚಾರಿಸುತ್ತಾನೆ ಮತ್ತು ದೀರ್ಘ ಸುತ್ತಿನ ವಿಚಾರಣೆಗಳ ಮೂಲಕ ಸಂದೇಶಗಳನ್ನು ಪಡೆಯುತ್ತಾನೆ. |
| gRPC PushConsumer FIFO ಬಳಕೆ | ✅ | – | ಒಂದೇ ರೀತಿಯ MessageGroup ಆದೇಶವನ್ನು ಇರಿಸಿ. |
| gRPC FIFO ಬಳಕೆ ವೇಗವರ್ಧನೆ | ✅ | – | ವಿಭಿನ್ನ MessageGroup 今行,同组 ಇನ್ನೂ ಆದೇಶವನ್ನು ಹೊಂದಿದೆ. |
| LitePush ಗ್ರಾಹಕ | ✅ | – | ಬೆಂಬಲ ಅಗತ್ಯವಿದೆ SyncLiteSubscription ಪ್ರಾಕ್ಸಿ. |
| ಪುಲ್ ಕನ್ಸ್ಯೂಮರ್ | – | ✅ | 圈式可以图像和Offset拉新情件。 |
| LitePull ಗ್ರಾಹಕ | – | ✅ | ಬೆಂಬಲ ಕ್ಲೈಂಟ್ ಪ್ರಶ್ನೆ, ಹಂಚಿಕೆ, ಹುಡುಕುವುದು, ವಿರಾಮ / ಮರುಸ್ಥಾಪಿಸಿ ಮತ್ತು ಬದ್ಧತೆ; ಪ್ರಸ್ತುತ ಕ್ಲಸ್ಟರ್ ಬಳಕೆಯನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ. |
| POP ಗ್ರಾಹಕ | – | ✅ | ಬೆಂಬಲ ರಶೀದಿ ದೃಢೀಕರಣ |
| ರಿಮೋಟಿಂಗ್ PushConsumer | – | ✅ | ಬ್ಯಾಚ್ ಹೊಂದಾಣಿಕೆ ಮತ್ತು ಭಾಗಶಃ ಪೂರ್ವಪ್ರತ್ಯಯ ದೃಢೀಕರಣವನ್ನು ಬೆಂಬಲಿಸಿ. |
| ರಿಮೋಟಿಂಗ್ PushConsumer FIFO ಬಳಕೆ | – | ✅ | ಏಕ ಸಂದೇಶ ಅನುಕ್ರಮ. |
| ಗ್ರಾಹಕ ಕ್ಲಸ್ಟರ್ | ✅ | ✅ | 上海设计手机 ಗ್ರಾಹಕರ ಆಯ್ಕೆಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. |
| ಪ್ರಸಾರ ಬಳಕೆ | – | ✅ | ರಿಮೋಟಿಂಗ್ PushConsumer ಬೆಂಬಲ. |
| ಫಿಲ್ಟರ್ ಟ್ಯಾಗ್ | ✅ | ✅ | ಎರಡು ರೀತಿಯ ಒಪ್ಪಂದಗಳನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ. |
| SQL ಫಿಲ್ಟರಿಂಗ್ | ✅ | ✅ | ಬ್ರೋಕರ್ ಅನುಗುಣವಾದ ಸಾಮರ್ಥ್ಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಅಗತ್ಯವಿದೆ. |
| ನವೀಕರಣವನ್ನು ರನ್ ಮಾಡಿ | ✅ | ✅ | ಗ್ರಾಹಕರು ಚಂದಾದಾರಿಕೆಗಳನ್ನು ಸರಿಹೊಂದಿಸಬಹುದು. |
| 重试与死信设计 | ✅ | ✅ | ಗ್ರಾಹಕ ಮಾದರಿ ಬದಲಾವಣೆಗಳೊಂದಿಗೆ ಬೆಂಬಲ ವ್ಯಾಪ್ತಿ. |
| ನಿರ್ವಾಹಕ API ಅನ್ನು ಮಾತ್ರ ಓದಿ | – | ✅ | ವಿಷಯ, ಸರತಿ, ಸಂದೇಶ ಮತ್ತು ಬಳಕೆಯ ಸ್ಥಳವನ್ನು ಹುಡುಕಿ. |
| ನೋಂದಣಿ ಹೇಳಿ | ✅ | ✅ | ಪ್ರತ್ಯೇಕವಾಗಿ AddRocketMQGrpc 和 AddRocketMQRemoting. |
| ಜೆನೆರಿಕ್ ಹೋಸ್ಟ್ ಜೀವನ ಚಕ್ರ | ✅ | ✅ | ನಿರ್ಮಾಪಕ, ಗ್ರಾಹಕರು ಹೋಸ್ಟ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಬಹುದು ಮತ್ತು ನಿಲ್ಲಿಸಬಹುದು. |
| ಆಯ್ಕೆಗಳು, ಲಾಗ್ | ✅ | ✅ | .NET ಸಾಮಾನ್ಯ ಕಾನ್ಫಿಗರೇಶನ್ ಮತ್ತು ಲಾಗ್ ಮಾದರಿಯನ್ನು ಬಳಸಿ. |
| ಡೀಫಾಲ್ಟ್ ಕ್ಲೈಂಟ್ ನೋಂದಣಿ | ✅ | ✅ | ಕಾರ್ಯ ರಚನೆಯ ಮೂಲಕ ನೇರವಾಗಿ ಚುಚ್ಚುಮದ್ದು ಮಾಡಬಹುದು. |
| ಸೇವಾ ಕೀ | ✅ | ✅ | ಒಂದೇ ಪಾತ್ರದ ಬಹು ಸಮೂಹಗಳು ಅಥವಾ ಬಹು ನಿದರ್ಶನಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಬಹುದು. |
| ಓಪನ್ ಟೆಲಿಮೆಟ್ರಿ ಟ್ರೇಸ್ | ✅ | ✅ | ಕಳುಹಿಸುವಿಕೆ, ಸ್ವೀಕರಿಸುವಿಕೆ, ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಿಕೆ ಮತ್ತು ದೃಢೀಕರಣ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. |
| ಓಪನ್ ಟೆಲಿಮೆಟ್ರಿ ಮೆಟ್ರಿಕ್ಸ್ | ✅ | ✅ | ಅಪ್ಲಿಕೇಶನ್ ಸ್ವಯಂ ಆಯ್ಕೆ ರಫ್ತು ಮತ್ತು ವೀಕ್ಷಣೆ. |
| TLS, ACL, ನೇಮ್ಸ್ಪೇಸ್ | ✅ | ✅ | ನಿರ್ದಿಷ್ಟ ಸಂರಚನಾ ವಿಧಾನವು ಪ್ರೋಟೋಕಾಲ್ನೊಂದಿಗೆ ವಿಭಿನ್ನವಾಗಿದೆ. |
ಮೇಲಿನ ಕೋಷ್ಟಕವು ಪ್ರಸ್ತುತ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ಯೋಜನೆಯ ಮುಖ್ಯ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ. ಅಗಲದ ಸಲುವಾಗಿ, ಈ ಪಠ್ಯವು ಎಲ್ಲಾ ಸಂದೇಶ ಪ್ರಕಾರಗಳು ಮತ್ತು ಗ್ರಾಹಕ ಮಾದರಿಗಳನ್ನು ಒಳಗೊಂಡಿರುವುದಿಲ್ಲ. ಕೆಳಗಿನವುಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಕೆಲವು ಸನ್ನಿವೇಶಗಳನ್ನು ಮಾತ್ರ ಆಯ್ಕೆಮಾಡುತ್ತದೆ: ಪ್ರೋಟೋಕಾಲ್ ಆಯ್ಕೆ, ಕ್ಲೈಂಟ್ ನೋಂದಣಿ, ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುವುದು, ಬಳಕೆ ಸಂದೇಶಗಳು ಮತ್ತು OpenTelemetry ಪ್ರವೇಶ.
ಸಂಪೂರ್ಣ ಕಾರ್ಯದ ವಿವರಣೆ, ವಿಭಿನ್ನ ಒಪ್ಪಂದ, ಉದಾಹರಣೆಗೆ ರನ್ ಮಾಡಬಹುದು, ಪ್ರಾಜೆಕ್ಟ್ ವೇರ್ಹೌಸ್ README, ಮಾದರಿಗಳನ್ನು ಉಲ್ಲೇಖಿಸಬಹುದು.
ಇದು ಅಧಿಕೃತ ಗ್ರಾಹಕನ ಪರ್ಯಾಯವಲ್ಲ
RocketMQ 5 ರ gRPC ಪ್ರೋಟೋಕಾಲ್ ಬಹು-ಭಾಷಾ ಕ್ಲೈಂಟ್ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಹೊಸ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ. ಇದಕ್ಕೆ RocketMQ 5 ನ ಸೇವೆ ಮತ್ತು ಪ್ರಾಕ್ಸಿ ಅಗತ್ಯವಿರುತ್ತದೆ ಮತ್ತು ಮರುವಿನ್ಯಾಸಗೊಳಿಸಲಾದ API ಅನ್ನು ಬಳಸುತ್ತದೆ.
EventHorizon.RocketMQ 不是是在 API ಮಟ್ಟದ ಹೊಂದಾಣಿಕೆ 或 ಪರ್ಯಾಯ ಅಧಿಕೃತ ಕ್ಲೈಂಟ್. ಇದು ಮತ್ತೊಂದು ರೀತಿಯ .NET ಕ್ಲೈಂಟ್ ಕ್ಲೈಂಟ್ 匞方 ಕ್ಲೈಂಟ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಮತ್ತೊಂದು ರೀತಿಯ ದೂರಸ್ಥ ಪ್ರವೇಶ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಎರಡು ಒಪ್ಪಂದಗಳ ಗಡಿಗಳು ಈ ಕೆಳಗಿನಂತಿವೆ:
| 维度 | RocketMQ 5 gRPC | ಕ್ಲಾಸಿಕ್ ರಿಮೋಟಿಂಗ್ |
|---|---|---|
| ಲಿಂಕ್ ಮಾರ್ಗ | ಅಪ್ಲಿಕೇಶನ್ -> ಪ್ರಾಕ್ಸಿ -> ನೇಮ್ಸರ್ವರ್/ಬ್ರೋಕರ್ | ಅಪ್ಲಿಕೇಶನ್ -> ನೇಮ್ಸರ್ವರ್ -> ಬ್ರೋಕರ್ |
| ಕ್ಲೈಂಟ್ ಪ್ಯಾಕೇಜ್ | EventHorizon.RocketMQ.Grpc |
EventHorizon.RocketMQ.Remoting |
| ವಿಶಿಷ್ಟ ಸನ್ನಿವೇಶ | ಈಗಾಗಲೇ RocketMQ 5 ಪ್ರಾಕ್ಸಿಯನ್ನು ನಿಯೋಜಿಸಲಾಗಿದೆ, ಹೊಸ ಪ್ರೋಟೋಕಾಲ್ API ಅನ್ನು ಬಳಸಲು ಭಾವಿಸುತ್ತೇವೆ | ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕ್ಲಾಸಿಕ್ ಕ್ಲಸ್ಟರ್ಗೆ ಸಂಪರ್ಕಿಸುವ ಅಗತ್ಯವಿದೆ, ಅಥವಾ ಪುಲ್, ಪಿಒಪಿ, ಅಡ್ಮಿನ್, ವಿನಂತಿ-ಪ್ರತಿಕ್ರಿಯೆ, ಇತ್ಯಾದಿ ಕ್ಲಾಸಿಕ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬಳಸಿ |
| ತೆರೆದ ಮಾದರಿ | EventHorizon.RocketMQ.Grpc.* |
EventHorizon.RocketMQ.Remoting.* |
| ನೇರವಾಗಿ ಮಾದರಿಯಾಗಬಹುದು | ಬಳಸಲಾಗುವುದಿಲ್ಲ | ಬಳಸಲಾಗುವುದಿಲ್ಲ |
ಒಂದೇ ಅಪ್ಲಿಕೇಶನ್ ಏಕಕಾಲದಲ್ಲಿ ಎರಡು ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಉಲ್ಲೇಖಿಸಬಹುದು Message、 ಕಳುಹಿಸುವಿಕೆ, ವಿನಾಯಿತಿ ಮತ್ತು ಗ್ರಾಹಕ ಮಾದರಿಗಳು ಪ್ರೋಟೋಕಾಲ್-ನಿರ್ದಿಷ್ಟ ಪ್ರಕಾರಗಳಾಗಿವೆ. ನೀವು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಎರಡು ವಿಧದ ಪ್ರೋಟೋಕಾಲ್ಗಳನ್ನು ಬಳಸಬೇಕಾದಾಗ, ಒಂದು ಪ್ರೋಟೋಕಾಲ್ನ ಮಾದರಿಯನ್ನು ಮತ್ತೊಂದು ಪ್ರೋಟೋಕಾಲ್ಗೆ ರವಾನಿಸುವ ಬದಲು ನೀವು ಅದೇ ಪ್ರಕಾರಕ್ಕೆ ಬೇರೆ ಹೆಸರನ್ನು ಹೊಂದಿಸಬೇಕು.
using GrpcMessage = EventHorizon.RocketMQ.Grpc.Producer.Message;
using RemotingMessage = EventHorizon.RocketMQ.Remoting.Producer.Message;
ವೇಗದ ಪ್ರವೇಶ
ಎರಡು ವಿಧದ ಪ್ರೋಟೋಕಾಲ್ಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಬಳಸುವಾಗ ಮಾತ್ರ ಪ್ಯಾಕೇಜ್
dotnet add package EventHorizon.RocketMQ.Grpc
dotnet add package EventHorizon.RocketMQ.Remoting
ಎರಡು ಪ್ಯಾಕೇಜುಗಳ ತೆರೆದ API ಗಳು ಪರಸ್ಪರ ಸ್ವತಂತ್ರವಾಗಿರುತ್ತವೆ ಮತ್ತು ಕ್ಲೈಂಟ್ API ಮಟ್ಟದಲ್ಲಿ ಪರಸ್ಪರ ಅವಲಂಬಿತವಾಗಿರುವುದಿಲ್ಲ.
ಸ್ಥಳೀಯ ಪರೀಕ್ಷಾ ಪರಿಸರವನ್ನು ಪ್ರಾರಂಭಿಸಿ
ಕೆಳಗಿನ ಉದಾಹರಣೆಯು ಸ್ಥಳೀಯ Apache RocketMQ 5.5.0 ಪರಿಸರದಿಂದ ಒದಗಿಸಲಾದ ಗೋದಾಮನ್ನು ಬಳಸುತ್ತದೆ.
docker compose -f test-environments/rocketmq/compose.yaml up -d --wait
ಎನ್ವಿರಾನ್ಮೆಂಟ್127.0.0.1:8081,ರಿಮೋಟಿಂಗ್ 的 ನೇಮ್ಸರ್ವರ್ 127.0.0.1:9876“ಒಂದು ಬಾರಿ resource-init ಸೇವೆ
发动安全前前电影图片普通 ವಿಷಯವನ್ನು ರಚಿಸಿ eventhorizon-test-topicಆದ್ದರಿಂದ, ಕೆಳಗಿನ ಕಳುಹಿಸುವಿಕೆ ಮತ್ತು ಚಂದಾದಾರಿಕೆ ಉದಾಹರಣೆಗಳನ್ನು ನೇರವಾಗಿ ಬಳಸಬಹುದು.
后文会 OpenTelemetry ವ್ಯೂ ಮೆಟ್ರಿಕ್ಸ್ 和Trace,可一上可以电影电影设计 Grafana OTEL LGTM ಪರಿಸರ:
docker compose -f test-environments/otel-lgtm/compose.yaml up -d --wait
ಗ್ರಾಫನಾ ವಿಳಾಸ http://127.0.0.1:3000, ಡೀಫಾಲ್ಟ್ ಖಾತೆ ಮತ್ತು ಪಾಸ್ವರ್ಡ್ admin。 ಪರಿಸರವು OTLP ಕಲೆಕ್ಟರ್ ಅನ್ನು ಸಹ ಒದಗಿಸುತ್ತದೆ, ಈ ಕೆಳಗಿನ ಉದಾಹರಣೆಯು ಕ್ಲೈಂಟ್ನ ರಿಮೋಟ್ ಸೆನ್ಸಿಂಗ್ ಡೇಟಾವನ್ನು ಇಲ್ಲಿಗೆ ರಫ್ತು ಮಾಡುತ್ತದೆ.
ನೀವು ಇತರ ಸನ್ನಿವೇಶಗಳನ್ನು ಪರಿಶೀಲಿಸಬೇಕಾದರೆ, ನೀವೇ ಒಂದು ವಿಷಯವನ್ನು ಸಹ ರಚಿಸಬಹುದು: ಸ್ಥಳೀಯ RocketMQ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ತೆರೆಯಿರಿ, ವಿಷಯವನ್ನು ನಿರ್ವಹಿಸಿ:

ಪರಿಸರವನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ ನೀವು ಆಜ್ಞೆಯನ್ನು ಸಹ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು:
docker compose -f test-environments/rocketmq/compose.yaml exec broker sh mqadmin updateTopic \
-n nameserver:9876 -c DefaultCluster -t my-test-topic
地地地电了便于官方发动进行实作;电影地址优五运维月式圆头圆式圆大式分式净备式净备口口; ಉತ್ಪಾದನಾ ಪರಿಸರ ಇನ್ನೂ 庐由运维月式别生 ಬ್ರೋಕರ್ 对外可达口送.
gRPC: ಪ್ರಾಕ್ಸಿ ಮೂಲಕ RocketMQ 5 ಅನ್ನು ಸಂಪರ್ಕಿಸಿ
ಕೆಳಗಿನ ಉದಾಹರಣೆಯು gRPC ಪ್ರೊಡ್ಯೂಸರ್ ಅನ್ನು ನೋಂದಾಯಿಸುತ್ತದೆ.Endpoint ನೀವು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಪ್ರಾಕ್ಸಿ ವಿಳಾಸಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು.
using EventHorizon.RocketMQ.Grpc;
using EventHorizon.RocketMQ.Grpc.Producer;
var builder = WebApplication.CreateBuilder(args);
var rocketMQ = builder.Services.AddRocketMQGrpc(options =>
{
// 仓库测试环境暴露的 gRPC Proxy;多个地址可用分号分隔。
options.Endpoint = "127.0.0.1:8081";
// 控制单次请求、路由缓存和客户端心跳的时序。
options.RequestTimeout = TimeSpan.FromSeconds(3);
options.RouteCacheDuration = TimeSpan.FromMinutes(5);
options.HeartbeatInterval = TimeSpan.FromSeconds(30);
// 测试环境未启用 TLS/ACL。生产环境按需启用 TLS,并从安全配置读取 AK/SK 和可选 SecurityToken。
options.UseTLS = false;
// options.AccessKey = builder.Configuration["RocketMQ:AccessKey"];
// options.AccessSecret = builder.Configuration["RocketMQ:AccessSecret"];
// options.SecurityToken = builder.Configuration["RocketMQ:SecurityToken"];
// 多租户环境可按需设置 Namespace,为 Topic 和 Consumer Group 添加前缀。
// options.Namespace = "tenant-a";
});
rocketMQ.AddGrpcProducer();
ರಿಮೋಟಿಂಗ್: ನೇಮ್ಸರ್ವರ್ ಮೂಲಕ ಬ್ರೋಕರ್ ಅನ್ನು ಹುಡುಕಿ
ಕ್ಲಾಸಿಕ್ ರಿಮೋಟಿಂಗ್ ಕ್ಲೈಂಟ್ ಮೊದಲು ನೇಮ್ಸರ್ವರ್ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ, ನಂತರ ರೂಟಿಂಗ್ ಮಾಹಿತಿಯ ಆಧಾರದ ಮೇಲೆ ನೇರವಾಗಿ ಅನುಗುಣವಾದ ಬ್ರೋಕರ್ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ:
using EventHorizon.RocketMQ.Remoting;
using EventHorizon.RocketMQ.Remoting.Producer;
var builder = WebApplication.CreateBuilder(args);
var rocketMQ = builder.Services.AddRocketMQRemoting(options =>
{
// 仓库测试环境的 NameServer;多个地址同样可以用分号分隔。
options.NamesrvAddr = "127.0.0.1:9876";
});
rocketMQ.AddRemotingProducer(options =>
{
options.GroupName = "eventhorizon-blog-remoting-producer";
});
ಇದರರ್ಥ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಕ್ರಿಯೆಯು ನೇಮ್ಸರ್ವರ್ನಿಂದ ಹಿಂತಿರುಗಿಸಲಾದ ಪ್ರತಿ ಬ್ರೋಕರ್ನ ವಿಳಾಸವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಕಂಟೇನರ್, ಕುಬರ್ನೆಟ್ಸ್, ಅಥವಾ ಪ್ರತಿ ಬ್ರೋಕರ್ ಬಾಹ್ಯವಾಗಿ ನೋಂದಾಯಿಸಲು ಸಾಧ್ಯವೇ, ಮತ್ತು ಕ್ಲೈಂಟ್ ಕೋಡ್ ಸ್ವತಃ ಸಮಾನವಾಗಿ ಮುಖ್ಯವಾಗಿದೆ.
ಬಹು ಸಮೂಹಗಳು ಅಥವಾ ಬಹು ನಿದರ್ಶನಗಳು
ಹೋಸ್ಟ್ ಬಹು ಕ್ಲಸ್ಟರ್ಗಳನ್ನು ಸಂಪರ್ಕಿಸಿದಾಗ ಅಥವಾ ಒಂದೇ ಪಾತ್ರದ ಬಹು ನಿದರ್ಶನಗಳನ್ನು ನೋಂದಾಯಿಸಿದಾಗ, ಅದು .NET ಕೀಯಡ್ ಸೇವೆಗಳನ್ನು ಬಳಸಬಹುದು.
using EventHorizon.RocketMQ.Grpc;
using EventHorizon.RocketMQ.Grpc.Producer;
using Microsoft.Extensions.DependencyInjection;
builder.Services
.AddRocketMQGrpc("local-rocketmq", options => options.Endpoint = "127.0.0.1:8081")
.AddGrpcProducer();
public sealed class OrderPublisher(
[FromKeyedServices("local-rocketmq")] IGrpcProducer producer)
{
}
ಡೀಫಾಲ್ಟ್ ನೋಂದಣಿ ಇನ್ನೂ 普通普通设计实方发动。 ಅನ್ನು ಬಳಸುತ್ತದೆ ಆಗ ಮಾತ್ರ ಸ್ವತಂತ್ರದಿಂದ ನೇರವಾಗಿ ಜೆನೆರಿಕ್ ಹೋಸ್ಟ್ ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ ServiceProvider 解析Client时,才电影设计设计Client的的 StartAsync 和 StopAsync.
ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ
ನೋಂದಣಿ ಪೂರ್ಣಗೊಂಡ ನಂತರ, ನೀವು ನೇರವಾಗಿ ಪ್ರೋಟೋಕಾಲ್-ನಿರ್ದಿಷ್ಟ ನಿರ್ಮಾಪಕರನ್ನು ಚುಚ್ಚಬಹುದು. ಕೆಳಗಿನವು ಅತ್ಯಂತ ಸಾಮಾನ್ಯವಾದ gRPC ಕಳುಹಿಸುವ ಮಾರ್ಗವಾಗಿದೆ:
using System.Text;
using EventHorizon.RocketMQ.Grpc.Producer;
public sealed class OrderPublisher(IGrpcProducer producer)
{
public async Task PublishAsync(
string orderId,
CancellationToken cancellationToken)
{
var message = new Message("eventhorizon-test-topic", Encoding.UTF8.GetBytes(orderId))
{
Tag = "created",
MessageGroup = orderId
};
message.Keys.Add(orderId);
message.Properties["source"] = "checkout";
var receipt = await producer.SendAsync(message, cancellationToken);
return receipt.MessageId;
}
}
ಸ್ಥಾಪಿಸಿದರು MessageGroup 会将电影电视的FIFO,伊按该安全开全安全性;同组由 FIFO ಗ್ರಾಹಕ 串行电视,会将结代们今发度内会行。普通 ಸಂದೇಶಗಳನ್ನು ಹೊಂದಿಸುವ ಅಗತ್ಯವಿಲ್ಲ.
gRPC ಯ FIFO, ಸಮಯ/ವಿಳಂಬ, ಆದ್ಯತೆ, ಮತ್ತು ಲೈಟ್ ಪರಸ್ಪರ ಪ್ರತ್ಯೇಕವಾದ ಸಂದೇಶ ಪ್ರಕಾರಗಳಾಗಿವೆ ಮತ್ತು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಹೊಂದಿಸಲಾಗುವುದಿಲ್ಲ; ವಹಿವಾಟು ಸಂದೇಶಗಳನ್ನು ಪರಸ್ಪರ ಸಂಯೋಜಿಸಲಾಗುವುದಿಲ್ಲ.
- ಸ್ಥಾಪಿಸಿದರು
DeliveryTimestamp分合最新新手机在;在投考前可以可以回执中的RecallHandleಹಿಂತೆಗೆದುಕೊಳ್ಳಿ. - ಹೊಂದಿಸಿ
Priorityಆದ್ಯತೆಯ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ. - ಸ್ಥಾಪಿಸಿದರು
LiteTopicಲೈಟ್ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ. - ಬಳಸಿ
SendTransactionAsyncವಹಿವಾಟು ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ, ಮತ್ತು ನಿರ್ಮಾಪಕ 前前于京务 ವಿಷಯ ಕಾನ್ಫಿಗರೇಶನ್ ಪರೀಕ್ಷಕವನ್ನು ಪ್ರಾರಂಭಿಸಿ.
ನೀವು能电视 Commit,Rollback 或 Unknown,ಪ್ರಕ್ರಿಯೆಯ ಆಂತರಿಕ ಮೆಮೊರಿ ಸ್ಥಿತಿಯನ್ನು ಮಾತ್ರ ಅವಲಂಬಿಸಲಾಗುವುದಿಲ್ಲ.
ರಿಮೋಟಿಂಗ್ ಪ್ರೊಡ್ಯೂಸರ್ ಸಹ ಸಾಮಾನ್ಯ, FIFO, ವಿಳಂಬ, ಆದ್ಯತೆ, ಲೈಟ್ ಮತ್ತು ವಹಿವಾಟು ಸಂದೇಶಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ; ಹೆಚ್ಚುವರಿಯಾಗಿ, ಇದು ಬ್ಯಾಚ್ ಕಳುಹಿಸುವಿಕೆ, ಏಕ-ದಿಕ್ಕಿನ ಕಳುಹಿಸುವಿಕೆ, ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕ್ಯೂ, ಕ್ಯೂ ಸೆಲೆಕ್ಟರ್ ಮತ್ತು ವಿನಂತಿ-ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸಹ ಬೆಂಬಲಿಸುತ್ತದೆ. ಫಲಿತಾಂಶಗಳನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ RemotingSendResultಯಶಸ್ವಿಯಾಗಿಲ್ಲದ ಕಳುಹಿಸುವಿಕೆಯ ಸ್ಥಿತಿಗೆ ಹಿಂದಿರುಗಿದ ಬ್ರೋಕರ್ನ ಭಾಗವನ್ನು ಅಸಹಜವೆಂದು ನೇರವಾಗಿ ವ್ಯಕ್ತಪಡಿಸಲಾಗುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ವ್ಯವಹಾರವು ಯಶಸ್ವಿಯಾಗುವುದಿಲ್ಲ.
ಸುದ್ದಿ ಬಳಕೆ
gRPC ಯ ಬಳಕೆಯ ಮಾದರಿ
gRPC ಯ ಗ್ರಾಹಕ ಮಾದರಿಯು ತುಲನಾತ್ಮಕವಾಗಿ ಚಿಕ್ಕದಾಗಿದೆ, 但把“ಸ್ವಯಂ-ನಿಯಂತ್ರಣ ಸ್ವೀಕರಿಸುವಿಕೆಯನ್ನು ಅನ್ವಯಿಸುವುದು” ಮತ್ತು “ಕ್ಲೈಂಟ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ವಿಭಜಿಸುವುದು” ಬಹಳ ಅಂದವಾಗಿ ವಿಭಜನೆಯಾಗಿದೆ
| ಮಾದರಿ | ಅನ್ವಯಿಸುವ ಪರಿಸ್ಥಿತಿ |
|---|---|
IGrpcSimpleConsumer |
何时时间的何时 ReceiveAsync、ನೀವು ಕೆಲವು ಸಂದೇಶಗಳನ್ನು ತೆಗೆದುಕೊಂಡಾಗಲೆಲ್ಲಾ, ನೀವು ದೃಢೀಕರಿಸಿದಾಗ, ನಿಮಗೆ ಅದನ್ನು ನೋಡಲು ಸಾಧ್ಯವಾಗದಿದ್ದಾಗ ಅಥವಾ ಸಂದೇಶವನ್ನು ಬದಲಿಸಿದಾಗ ಸಮಯವನ್ನು ಬದಲಾಯಿಸಿ. |
IGrpcPushConsumer |
希望安全电影电影电影电影、长轮让、分发与意总电视;上海可电影 ಹ್ಯಾಂಡ್ಲರ್。 |
IGrpcLitePushConsumer |
LiteTopic ಬಳಸಿ,伊常望沩用 Push 的设计分发用机;服务端 ಸಹ LITE ಪೋಷಕ ವಿಷಯ 与。 ಗ್ರೂಪ್ ಗ್ರಾಹಕ ಬದ್ಧ ವಿಷಯವನ್ನು ಸಿದ್ಧಪಡಿಸುವ ಅಗತ್ಯವಿದೆ |
gRPC ಯ ಪುಶ್ ಮತ್ತು ಲೈಟ್ಪುಶ್ ಪ್ರಶ್ನೆಗಳನ್ನು ವಿತರಿಸಲು ಕ್ಲೈಂಟ್ನ ಸಕ್ರಿಯ ಕ್ಲೈಂಟ್ ಆಗಿದೆ ReceiveMessage 长轮黄,不是可以向名手机推送送电影。SimpleConsumer 则把电影和时间时机电影交经上海动电影。
ಪುಶ್ ಗ್ರಾಹಕ
ಉದಾಹರಣೆಯನ್ನು ಬಳಸಬಹುದು IGrpcPushConsumer。 ಇದು ಕ್ಲೈಂಟ್ನಿಂದ ಹಂಚಿಕೆ ಫಲಿತಾಂಶವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಶ್ನಿಸುತ್ತದೆ, ದೀರ್ಘ ಪ್ರಶ್ನೆಯ ಮೂಲಕ ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಹ್ಯಾಂಡ್ಲರ್ಗೆ ನೀಡುತ್ತದೆ:
using EventHorizon.RocketMQ.Grpc.Consumer;
using EventHorizon.RocketMQ.Grpc.Consumer.Push;
using Microsoft.Extensions.DependencyInjection;
rocketMQ.AddGrpcPushConsumer(ServiceLifetime.Scoped, options =>
{
options.GroupName = "eventhorizon-blog-grpc-push-consumer";
options.MaxConcurrency = 8;
options.MaxDeliveryAttempts = 16;
options.InvisibleDuration = TimeSpan.FromSeconds(30);
options.ConsumeTimeout = TimeSpan.FromMinutes(15);
options.Subscribe("eventhorizon-test-topic", new FilterExpression("created"));
});
public sealed class OrderCreatedHandler : IGrpcPushMessageHandler
{
public ValueTask HandleAsync(
GrpcMessageView message,
CancellationToken cancellationToken)
{
// 处理 message.Body。
return ValueTask.FromResult(ConsumeResult.Success);
}
}
ಹ್ಯಾಂಡ್ಲರ್ ಹಿಂತಿರುಗುತ್ತಾನೆ Success 时时间情件;小是 Retry 时方法图像投考;小是 DeadLetter 时将情件连入死信小时。非 FIFO ಬಳಕೆ中,电视手机 ConsumeTimeout 后, ಕ್ಲೈಂಟ್ ಗೋಚರವಾಗದ ಸಮಯದವರೆಗೆ ಸಂದೇಶವನ್ನು ವಿಸ್ತರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಬಹುದು, ಇದರಿಂದ ಅದನ್ನು ನಂತರ ಮತ್ತೆ ಸಲ್ಲಿಸಬಹುದು.
ಸ್ವೀಕರಿಸುವ ಬ್ಯಾಚ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು ಇದು ಅವಶ್ಯಕವಾಗಿದೆ, ಯಾವಾಗ ಯಂತ್ರ ಮತ್ತು ಗೋಚರಿಸದ ಸಮಯವನ್ನು ದೃಢೀಕರಿಸಿ, ನಂತರ ಮೇಲಿನ ಕೋಷ್ಟಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ IGrpcSimpleConsumerLiteTopic 时,则手机 ಬಳಸಿ IGrpcLitePushConsumer 例可以下载服务端电影电视。
ಕ್ಲಾಸಿಕ್ ರಿಮೋಟಿಂಗ್ ಮಾದರಿ
ರಿಮೋಟಿಂಗ್ ಹೆಚ್ಚಿನ ಬಳಕೆಯ ಮಾದರಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ದಯವಿಟ್ಟು ವ್ಯಾಪಾರದ ಅವಶ್ಯಕತೆಗಳ ಪ್ರಕಾರ ಆಯ್ಕೆಮಾಡಿ:
| ಮಾದರಿ | ಅನ್ವಯಿಸುವ ಪರಿಸ್ಥಿತಿ |
|---|---|
IRemotingPullConsumer |
ಉದಾಹರಣೆಗಾಗಿ, |
IRemotingLitePullConsumer |
希望由电影电影电影电影、轮言、合了、 ವಿರಾಮ/ಮರುಸ್ಥಾಪಿಸು和 ಸೀಕ್。 |
IRemotingPopConsumer |
ನೀವು ಸರದಿಯನ್ನು ಆರಿಸಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ದೃಢೀಕರಣವನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ರಶೀದಿ ಮತ್ತು ಗೋಚರಿಸದ ಸಮಯವನ್ನು ಬಳಸಿ. |
IRemotingPushConsumer |
希望电影电影与回谺分发;ಬೆಂಬಲ ಕ್ಲಸ್ಟರಿಂಗ್、ಪ್ರಸಾರ、会发批量和FIFO ಬಳಕೆ。 |
ಪುಶ್ ಗ್ರಾಹಕ
PushConsumer ಅನ್ನು ರಿಮೋಟ್ ಮಾಡುವುದು 入小参入息批:
using EventHorizon.RocketMQ.Remoting.Consumer;
using EventHorizon.RocketMQ.Remoting.Consumer.Push;
using Microsoft.Extensions.DependencyInjection;
rocketMQ.AddRemotingPushConsumer(
ServiceLifetime.Scoped,
options =>
{
options.GroupName = "eventhorizon-blog-remoting-push-consumer";
options.MaxConcurrency = 8; // 最多同时执行的 Handler 数。
options.BatchSize = 32; // 单次从 Broker 拉取的最大消息数。
options.ConsumeMessageBatchSize = 16; // 单次交给 Handler 的最大消息数。
options.MaxDeliveryAttempts = 16;
options.Subscribe("eventhorizon-test-topic", new FilterExpression("created"));
});
public sealed class RemotingOrderCreatedHandler : IRemotingPushMessageHandler
{
public ValueTask HandleAsync(
IReadOnlyList messages,
RemotingPushConsumeContext context,
CancellationToken cancellationToken)
{
foreach (var message in messages)
{
// 根据 message.Body 执行业务处理。
}
return ValueTask.FromResult(ConsumeResult.Success);
}
}
BatchSize ಬ್ರೋಕರ್ ವಿನಂತಿಸಿದ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯ ಸಂದೇಶಗಳನ್ನು ನಿಯಂತ್ರಿಸಿ.ConsumeMessageBatchSize ಹ್ಯಾಂಡ್ಲರ್ನ ಸಂದೇಶದ ಮೇಲಿನ ಮಿತಿಯನ್ನು ನಿಯಂತ್ರಿಸಿ. Success 前可将 context.AckIndex 任我们最好条已ಯಶಸ್ವಿ ಸಂದೇಶRetry 和 DeadLetter 电影电影于安全批次。带 MessageGroup ಎಫ್ಐಎಫ್ಒ ಸಂದೇಶ ConsumeOrderly 都按单条串行电视;流行法字教记 ಬ್ರೋಕರ್ 的重语或死信载转。
ಗ್ರಾಹಕರ ಬಳಕೆಯ ಹೊರತಾಗಿಯೂ, RocketMQ ನ 重语语义都都设计设计手机电影性。 ನೆಟ್ವರ್ಕ್ ಕ್ರ್ಯಾಶ್ ಆದಾಗ, ಗ್ರಾಹಕ ಕ್ರ್ಯಾಶ್ ಆದಾಗ ಅಥವಾ ದೃಢೀಕರಣ ಫಲಿತಾಂಶವು ಲಭ್ಯವಿದ್ದಲ್ಲಿ, ಇನ್ನೂ ಪ್ರಕ್ರಿಯೆಯ ಸಂದೇಶವು ಈಗಾಗಲೇ ಕಳೆದುಹೋಗಿರಬಹುದು.
ಓಪನ್ ಟೆಲಿಮೆಟ್ರಿ;
ಎರಡು ಪ್ರೋಟೋಕಾಲ್ ಪ್ಯಾಕೇಜುಗಳು ಅಂತರ್ನಿರ್ಮಿತ OpenTelemetry ಚಟುವಟಿಕೆ ಮತ್ತು ಮೆಟ್ರಿಕ್ಸ್, ಸ್ವತಂತ್ರ ಇನ್ಸ್ಟ್ರುಮೆಂಟೇಶನ್ ಪ್ಯಾಕೇಜ್ನ ಹೆಚ್ಚುವರಿ ಅನುಸ್ಥಾಪನೆಯ ಅಗತ್ಯವಿಲ್ಲ.
builder.Services.AddOpenTelemetry()
.WithTracing(tracing => tracing
.AddAspNetCoreInstrumentation()
// 应用自己创建的业务 span 也需要显式注册 source。
.AddSource(GrpcConsumerMessageHandler.ActivitySourceName)
.AddRocketMQGrpcInstrumentation()
.AddRocketMQRemotingInstrumentation()
.AddOtlpExporter())
.WithMetrics(metrics => metrics
.AddAspNetCoreInstrumentation()
.AddRocketMQGrpcInstrumentation()
.AddRocketMQRemotingInstrumentation()
.AddOtlpExporter());
安全会的ನಿರ್ಮಾಪಕ ಕಳುಹಿಸುವಿಕೆ、非空方法、Push/LitePush ಸಂಸ್ಕರಣೆ、ಗ್ರಾಹಕರ ದೃಢೀಕರಣ ಮತ್ತು ಇತರ ಕಾರ್ಯಾಚರಣೆಗಳು ರಿಮೋಟ್ ಸೆನ್ಸಿಂಗ್ ಡೇಟಾವನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ send ಚಟುವಟಿಕೆ 会将时间 ಟ್ರೇಸ್ ಸಂದರ್ಭ Activity Link ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಿ. ಆದ್ದರಿಂದ, ಕಳುಹಿಸುವವರು ಮತ್ತು ಗ್ರಾಹಕರ ರಿಮೋಟ್ ಸೆನ್ಸಿಂಗ್ ಡೇಟಾವನ್ನು ಸಂಪರ್ಕದಲ್ಲಿ ವೀಕ್ಷಿಸಬಹುದು.
ಇಲ್ಲಿ ನೀವು “ಸಂದರ್ಭವನ್ನು ಈಗಾಗಲೇ ಗ್ರಾಹಕರಿಗೆ ರವಾನಿಸಲಾಗಿದೆ” ಮತ್ತು “瀑布图保护一止内容的父子树” ನಡುವೆ ವ್ಯತ್ಯಾಸವನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು. receive,再以小小父小小图度 process; ನಿರ್ಮಾಪಕ send 则可以 Activity Link ಬಳಕೆಯ ಭಾಗಕ್ಕೆ ಸಂಪರ್ಕ. ಈ ರೀತಿಯಾಗಿ, ದಲ್ಲಾಳಿಗಳ ನಡುವಿನ ಸಂಬಂಧವನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆ, ಮತ್ತು ಇದು ದೀರ್ಘಾವಧಿಯ ವಿಚಾರಣೆಗಳು ಮತ್ತು ಬ್ಯಾಚ್ ರಸೀದಿಗಳನ್ನು ಸರಿಯಾಗಿ ನಿಭಾಯಿಸುತ್ತದೆ ಮತ್ತು ಬಹು ವಿಭಿನ್ನ ಉತ್ಪಾದನಾ ನೋಡ್ಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.
ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ, ಪ್ರಸ್ತುತ ಚಟುವಟಿಕೆಯನ್ನು ಈಗಾಗಲೇ PushConsumer ನಿಂದ ರಚಿಸಲಾಗಿದೆ process。 下载当品手机剧情主要讲述了ಚಟುವಟಿಕೆಯನ್ನು ಮರು-ವಿಶ್ಲೇಷಣೆ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ ಅಥವಾ ಸಂದೇಶದ ಗುಣಲಕ್ಷಣವನ್ನು ರವಾನಿಸುವ ಅಗತ್ಯವಿಲ್ಲ; ಇದು ಸ್ವಾಭಾವಿಕವಾಗಿರುವುದಿಲ್ಲ process 电影。 电影以以图像分张的以作,手机手机手机时上剧情主要讲讲述了
using System.Diagnostics;
using EventHorizon.RocketMQ.Grpc.Consumer;
using EventHorizon.RocketMQ.Grpc.Consumer.Push;
internal sealed class GrpcConsumerMessageHandler : IGrpcPushMessageHandler
{
internal const string ActivitySourceName = "EventHorizon.RocketMQ.Sample.Consumer";
private static readonly ActivitySource ActivitySource = new(ActivitySourceName);
public async ValueTask HandleAsync(
GrpcMessageView message,
CancellationToken cancellationToken)
{
// 模拟库存预占或订单状态落库等业务处理。
using var activity = ActivitySource.StartActivity("inventory.reserve", ActivityKind.Internal);
await Task.Delay(TimeSpan.FromMilliseconds(650), cancellationToken);
return ConsumeResult.Success;
}
}
ಸ್ಥಳೀಯ ಬಳಕೆಯ ಪೋಷಕ ಮಕ್ಕಳ ಮರವು ಇನ್ನೂ ನಿಜವಾದ ಮರಣದಂಡನೆ ಕ್ರಮವನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ:receive -> process -> inventory.reserve。ನಿರ್ಮಾಪಕ send ಆಗುವುದಿಲ್ಲ process 的父小说,说是以事 process 的 Activity Link 电影电影;在 ಗ್ರಾಫನಾ 中图像 process 的 Referencesಅನುಗುಣವಾದ ನೋಡಬಹುದು View Linked Span.
Consumer Trace
receive
`-- process
|-- inventory.reserve
`- - Activity Link / View Linked Span - - -> Producer Trace: send
ಈ ಲಿಂಕ್ ಟ್ರೇಸ್ ಸಂದರ್ಭವನ್ನು ವಿವರಿಸುತ್ತದೆ.
ವೇರ್ಹೌಸ್ ಓಪನ್ ಟೆಲಿಮೆಟ್ರಿಯ ಉದಾಹರಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಅವುಗಳಲ್ಲಿ, ProducerWebApi ಮತ್ತು ConsumerWebApi ಕನಿಷ್ಠ NET ಹೋಸ್ಟ್ ASP 皋.中 ನಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಪ್ರತಿ ಹೋಸ್ಟ್ ರಿಮೋಟಿಂಗ್ ಕ್ಲೈಂಟ್ನೊಂದಿಗೆ gRPC ಅನ್ನು ನೋಂದಾಯಿಸುತ್ತದೆ; ನಿರ್ಮಾಪಕರು ವಿಶೇಷ ರೂಟಿಂಗ್ ಪ್ರೋಟೋಕಾಲ್ ಮೂಲಕ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುತ್ತಾರೆ, ಗ್ರಾಹಕ 礋罿的的端;ನಿರ್ಮಾಪಕ ಗ್ರಾಹಕ ಗುಂಪು, ಬಳಕೆಯ ಸ್ಥಳವನ್ನು ಹಂಚಿಕೊಳ್ಳುವ ಎರಡು ಪ್ರೋಟೋಕಾಲ್ಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ. ಡ್ಯಾಶ್ಬೋರ್ಡ್, ಪ್ರಸರಣ ಪ್ರಮಾಣ, ಪ್ರಸರಣ ಸಮಯ, ಸಂಸ್ಕರಣಾ ಸಮಯ ಮತ್ತು ನಿರ್ಮಾಪಕ/ಗ್ರಾಹಕ ಜಾಡನ್ನು ವೀಕ್ಷಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.
电影是地地在线电影名生gRPC和Remoting名生时间 ನಿರ್ಮಾಪಕ ಡ್ಯಾಶ್ಬೋರ್ಡ್:

ಗ್ರಾಹಕ ಡ್ಯಾಶ್ಬೋರ್ಡ್

ಗ್ರಾಫನಾ ಡ್ರಿಲ್ಡೌನ್ನಲ್ಲಿ ಗ್ರಾಹಕರ ಟ್ರೇಸ್ ತೆರೆಯಿರಿ ಮತ್ತು ವಿಸ್ತರಿಸಿ process 的 References ಅಲ್ಲದೆ, ನೀವು ವ್ಯಾಪಾರವನ್ನು ಸಹ ನೋಡಬಹುದು inventory.reserve 子 span,ಮತ್ತು ನಿರ್ಮಾಪಕರಿಗೆ ಜಿಗಿಯಿರಿ send 的 电影:


地地电影最作时,先按手机最新电影 RocketMQ ಪರೀಕ್ಷಾ ಪರಿಸರ, ಗ್ರಾಫನಾ OTEL LGTM ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ:
docker compose -f test-environments/otel-lgtm/compose.yaml up -d --wait
ASPNETCORE_URLS=http://127.0.0.1:5242 \
dotnet run --no-launch-profile --project samples/opentelemetry/ConsumerWebApi
ASPNETCORE_URLS=http://127.0.0.1:5241 \
dotnet run --no-launch-profile --project samples/opentelemetry/ProducerWebApi
ಪ್ರಾರಂಭಿಸಿ, ಭೇಟಿ ನೀಡಿ http://127.0.0.1:5241/swaggerಎಂದು ಕರೆಯುತ್ತಾರೆ /messages/grpc 和 /messages/remoting 英语电影电影电影;ಗ್ರಾಹಕರ ಸ್ಥಿತಿ ಇದೆ http://127.0.0.1:5242/consumersಗ್ರಾಫನಾ ಡೀಫಾಲ್ಟ್ ವಿಳಾಸ http://127.0.0.1:3000,ಪೂರ್ವ ನಿರ್ಮಿತ ನಿರ್ಮಾಪಕ ಮತ್ತು ಗ್ರಾಹಕ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದು.
ಪರೀಕ್ಷೆ: 不只电影“能可以一个 ಸಂದೇಶ”
RocketMQ ಕ್ಲೈಂಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ, ಸರಳ ಕಳುಹಿಸುವ ಉದಾಹರಣೆಯಲ್ಲಿ ಅನೇಕ ಸಮಸ್ಯೆಗಳು ಕಾಣಿಸುವುದಿಲ್ಲ. ರೂಟಿಂಗ್ ರಿಫ್ರೆಶ್, ಪ್ರೋಟೋಕಾಲ್ ಎನ್ಕೋಡಿಂಗ್, ಮರುಹೊಂದಿಸುವಿಕೆ, ಬಳಕೆಯ ಸ್ಥಳ, ಪ್ರತಿಕ್ರಿಯೆ ಅಸಹಜತೆ, ಬ್ರೋಕರ್ ಮರುಸಂಪರ್ಕ ಮತ್ತು ಸರ್ವರ್-ಸೈಡ್ ಕಾನ್ಫಿಗರೇಶನ್ ವ್ಯತ್ಯಾಸಗಳು, ಎಲ್ಲದಕ್ಕೂ ಉದ್ದೇಶಿತ ಪರಿಶೀಲನೆ ಅಗತ್ಯವಿರುತ್ತದೆ.
ಯೋಜನೆಯನ್ನು ಎರಡು ಪದರಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಲಾಗುತ್ತದೆ:
- ಪರೀಕ್ಷಾ ಘಟಕವು gRPC, ರಿಮೋಟಿಂಗ್, ಹೊಂದಾಣಿಕೆಯ ಸಂಬಂಧಿತ ಕ್ಲೈಂಟ್ ನಡವಳಿಕೆಯನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ, ಇದು ನೆಟ್ವರ್ಕ್ ಅಥವಾ ಡಾಕರ್ ಅನ್ನು ಅವಲಂಬಿಸಿಲ್ಲ, ಶುದ್ಧ ಕ್ಲೈಂಟ್ ತರ್ಕದ ವೇಗದ, ನಿಖರವಾದ ಪರಿಶೀಲನೆಗೆ ಸೂಕ್ತವಾಗಿದೆ.
- ಟೆಸ್ಟ್ ಕಂಟೈನರ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಯೋಜಿತ ಪರೀಕ್ಷೆ ನಿಜವಾದ Apache RocketMQ 5.5.0 ಪರಿಸರವನ್ನು ಪ್ರಾರಂಭಿಸಿ. gRPC ಪರೀಕ್ಷಾ ಕವರ್ ಪ್ರಾಕ್ಸಿ, ನೇಮ್ ಸರ್ವರ್, ಬ್ರೋಕರ್
ಸಂಯೋಜಿತ ಪರೀಕ್ಷೆಯು ಈಗಾಗಲೇ ಒಂದೇ ಬ್ರೋಕರ್ ಬೇಸ್ ಲೈನ್ ಅನ್ನು ಹೊಂದಿದೆ, ಮೂರು ಬ್ರೋಕರ್ ರೂಟಿಂಗ್ ಸನ್ನಿವೇಶಗಳನ್ನು ಸಹ ಹೊಂದಿದೆ. gRPC ಮಾರ್ಗವು ಕಳುಹಿಸುವಿಕೆ, ಬಳಕೆ, ವಹಿವಾಟು, ಲೈಟ್, ಡೆಡ್ ಲೆಟರ್ ಮತ್ತು ಬಹು ಬ್ರೋಕರ್ ರೂಟಿಂಗ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ; ರಿಮೋಟಿಂಗ್ ಮಾರ್ಗವು ನಿರ್ವಹಣೆ, ಪುಲ್, ಕಳುಹಿಸುವಿಕೆ, ವಿನಂತಿ-ಪ್ರತಿಕ್ರಿಯೆ, ವಹಿವಾಟು, ಹಿಮ್ಮೆಟ್ಟುವಿಕೆ ಮತ್ತು ಬಹು ಬ್ರೋಕರ್ ರೂಟಿಂಗ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ಪ್ರತಿಯೊಂದು ಫಿಕ್ಚರ್ ಪ್ರತ್ಯೇಕ ಡಾಕರ್ ನೆಟ್ವರ್ಕ್ ಮತ್ತು ಡೈನಾಮಿಕ್ ಪೋರ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಡೆವಲಪ್ಮೆಂಟ್ ಮೆಷಿನ್ನಲ್ಲಿ ಹಸ್ತಚಾಲಿತ ಕಂಪೋಸ್ ಪರಿಸರವನ್ನು ಅವಲಂಬಿಸಿಲ್ಲ.
CI 会电影电视电视和ಡಾಕರ್ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಯ ಕವರೇಜ್ ದರ ಮತ್ತು ಕೋಡ್ಕೋವ್ಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಿ.ಹೆಚ್ಚಿನ ಕವರೇಜ್ ದರವು ಉತ್ಪಾದನಾ ಪರಿಸರದ ಪರಿಶೀಲನೆಯನ್ನು ಬದಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಆದರೆ ಕನಿಷ್ಠ ಇದು ಶುದ್ಧ ಕ್ಲೈಂಟ್ ನಡವಳಿಕೆ ಮತ್ತು ನೈಜ ಪ್ರೋಟೋಕಾಲ್ ಲಿಂಕ್ ತಪಾಸಣೆಯ ಮೂಲಕ ಅದೇ ಸಮಯದಲ್ಲಿ ಪ್ರತಿ ಬದಲಾವಣೆಯನ್ನು ಮಾಡಬಹುದು.
使用前前前电影的设计
EventHorizon.RocketMQ ಕ್ಲೈಂಟ್ ಸಾಮರ್ಥ್ಯ, ಒಪ್ಪಂದದ ವ್ಯತ್ಯಾಸ ಮತ್ತು ಸೇವಾ ಪ್ರಮೇಯಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ತೆರವುಗೊಳಿಸಿ:
- gRPC ಪ್ಯಾಕೇಜ್ RocketMQ ಪ್ರಾಕ್ಸಿಗೆ ಮಾತ್ರ ಸಂಪರ್ಕಿಸುತ್ತದೆ, ನೇಮ್ಸರ್ವರ್ ಅಥವಾ ಬ್ರೋಕರ್ಗೆ ನೇರವಾಗಿ ಸಂಪರ್ಕಿಸುವುದಿಲ್ಲ; gRPC ಸೇವೆಗಳನ್ನು ಬೆಂಬಲಿಸಲು RocketMQ 5 ಅಗತ್ಯವಿದೆ.
- ರಿಮೋಟಿಂಗ್ ಪ್ಯಾಕೇಜ್ಗೆ ಬ್ರೋಕರ್ ವಿಳಾಸದಲ್ಲಿ ಕಂಡುಬರುವ ನೇಮ್ಸರ್ವರ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಅಪ್ಲಿಕೇಶನ್ ಅಗತ್ಯವಿದೆ;
- 下载Package 可以会存,但公开门表,语生、电影电视和ಗ್ರಾಹಕ
- ಟ್ಯಾಗ್ ಫಿಲ್ಟರ್由安全 API ಬೆಂಬಲ;SQL ಫಿಲ್ಟರ್、POP, ಲೈಟ್, ಆದ್ಯತೆ, ಹಿಂದುಳಿದ ಸಂದೇಶ
PushConsumergRPC ಯ ಸೇವೆಗೆ ಸಮಾನವಾಗಿಲ್ಲPushConsumer/LitePushConsumer与 ಕ್ಲಾಸಿಕ್ ರಿಮೋಟಿಂಗ್PushConsumer都由拉家内容- 设计性语义和重试手机是 ಸಂದೇಶ ವ್ಯವಸ್ಥೆ语义,不是电视剧情件语义。事动怣重查语义和设计上海都是电影电视。
- ಓಪನ್ ಟೆಲಿಮೆಟ್ರಿ
ಸಾರಾಂಶ
EventHorizon.RocketMQ ಇದು .NET 8 ಮತ್ತು ಅಧಿಕೃತವಲ್ಲದ Apache RocketMQ ಕ್ಲೈಂಟ್ನ ಹೆಚ್ಚಿನ ಆವೃತ್ತಿಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ RocketMQ 5 gRPC ಮತ್ತು ಕ್ಲಾಸಿಕ್ ರಿಮೋಟಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.
ಆಯ್ಕೆ ಮಾರ್ಗವನ್ನು ಸುಲಭವಾಗಿ ಅರ್ಥೈಸಿಕೊಳ್ಳಬಹುದು:
- 新电影已最了RocketMQ 5 ಪ್ರಾಕ್ಸಿ 时,应先安全室家 C# gRPC ಕ್ಲೈಂಟ್;
EventHorizon.RocketMQ.Grpc. - ನೇಮ್ಸರ್ವರ್ ಮತ್ತು ಬ್ರೋಕರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುವ ಅಗತ್ಯವಿದೆ, ಅಥವಾ ಪುಲ್, ಲೈಟ್ಪುಲ್, ಪಿಒಪಿ, ನಿರ್ವಾಹಕ, ವಿನಂತಿ-ಪ್ರತಿಕ್ರಿಯೆ ಇತ್ಯಾದಿ. ಕ್ಲಾಸಿಕ್ ಸಾಮರ್ಥ್ಯಗಳು, ಬಳಸಿ
EventHorizon.RocketMQ.Remoting. - ಒಂದೇ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಎರಡು ರೀತಿಯ ಪ್ರೋಟೋಕಾಲ್ಗಳ ಅಗತ್ಯವಿರುವಾಗ, ಎರಡು ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಒಂದೇ ಸಮಯದಲ್ಲಿ ನೋಂದಾಯಿಸಬಹುದು.
在地图像:eventhorizon-cli/EventHorizon.RocketMQ
ಸಂಪೂರ್ಣ ಕಾರ್ಯ ವಿವರಣೆ: README ರೆಪೊಸಿಟರಿ
ಉದಾಹರಣೆ: ಮಾದರಿ
ಪರೀಕ್ಷಾ ವಿವರಣೆ: ಸ್ಥಳೀಯ ಮತ್ತು ಸಮಗ್ರ ಪರೀಕ್ಷೆ