Rocketmq rust版本-开篇

这篇具有很好参考价值的文章主要介绍了Rocketmq rust版本-开篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我是蚂蚁背大象(Apache EventMesh PMC&Committer),文章对你有帮助给Rocketmq-rust star,关注我GitHub:mxsm,文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsm@apache.com

Rust重构Rocketmq,大家好我是mxsm(Apache EventMesh PMC&Committer|Rocketmq活跃Contributor)最近在学习Rust的相关知识,Rust也是近些年来比较火的语言,本着技多不压身的想法和不会Rust开发的Java开发不是好开发的理念。最近在用Rust来重构Rocketmq,把所学的Rust的知识运用起来,检验一下学习成果。这个也是我下面这个项目的目的:rocketmq-rust

有对 rocketmq-rust 项目感兴趣的小伙伴可以一起来开发和研究(Rust新手轻点喷), 希望大家给个star。 不管你是Rust的新手,高手欢迎一起交流学习参与进来。

1. 什么是rocketmq-rust?

Rocketmq-rust是基于Apache Rocketmq Java版本的Rust实现,最终的目标是用Rust的完全实现一个和现有Rocketmq一样的Rust的版本的Rocketmq。两者可互通功能完全一致。

1.1 RocketMQ-Rust 的特点

  • Rust 语言优势: 利用 Rust 语言的内存安全性、零成本抽象、并发性能等特性,提供高效、可靠的消息中间件。
  • 异步和非阻塞设计: RocketMQ-Rust 充分利用 Rust 异步编程的能力,采用非阻塞设计,支持高并发消息处理。
  • 生态整合: 作为 Rust 生态系统的一部分,RocketMQ-Rust 与 Rust 生态中其他库和框架的兼容性良好,为开发者提供灵活的集成选项。
  • 跨平台支持: RocketMQ-Rust 支持多种平台,包括 Linux、Windows、macOS 等,方便在不同环境下使用。

1.2 项目进展

已经能够实现Broker的注册功能,初步实现了:

  • Broker registration(request code: 103)-Currently, only basic Broker registration is supported. Support for the Controller mode is pending.
  • Retrieve cluster information(request code: 106)

Rocketmq rust版本-开篇,rocketmq,rust,开发语言,后端,java

具体使用可以参照项目的README 文档

2. 如何参与贡献开发

项目地址:https://github.com/mxsm/rocketmq-rust文章来源地址https://www.toymoban.com/news/detail-794481.html

2.1 所需相关技能

  • 熟悉Apache Rocketmq的架构以及相关知识,对Rocketmq的Java源码有一定的了解(方便进行Rust重构)
  • 了解熟悉Rust的基本知识以及开发,这里包括以下方面:
    • Rust的基础知识
    • Rust的异步知识
    • Tokio框架开发等等

2.1 如何参与

  • rocketmq-rust 项目中会有一些ISSUE可以进行实现开发
  • 根据自己的兴趣爱好自己提ISSUE进行开发

3. 目标

  • 最终目标实现Rust版本的Rocketmq,相比Java版本的版本的功能一样。同时想对比一下两种语言的实现版本性能的差异性
  • 将所学的Rust知识融会贯通,学以致用。对于想学Rust的但是又不知道从哪里练手的人来说这个项目尝试一下

到了这里,关于Rocketmq rust版本-开篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RocketMQ集群4.9.2升级4.9.6版本

    本文主要记录生产环境短暂停机升级RocketMQ版本的过程         1.将生产环境MQ4.9.2集群同步到测试环境,并启动,确保正常运行。         2.参照4.9.2配置4.9.6集群         3.停掉4.9.2集群,启动4.9.6集群,测试确保正常运行。         4.停掉4.9.6集群,复制4.9.2集群的store存

    2024年02月15日
    浏览(68)
  • 微服务开发系列 第七篇:RocketMQ

    A、技术栈 开发语言:Java 1.8 数据库:MySQL、Redis、MongoDB、Elasticsearch 微服务框架:Spring Cloud Alibaba 微服务网关:Spring Cloud Gateway 服务注册和配置中心:Nacos 分布式事务:Seata 链路追踪框架:Sleuth 服务降级与熔断:Sentinel ORM框架:MyBatis-Plus 分布式任务调度平台:XXL-JOB 消息中间

    2024年02月07日
    浏览(31)
  • Java小案例-RocketMQ的11种消息类型,你知道几种?(RocketMQ基本的原理)

    为了让大家对mq理解的更深首先在这里我通过三个问题来给大家解答一下。 第一个:生产者如何发送消息 第二个:发送的消息存在哪里 第三个:消费者如何消费消息 首先给大家介绍一下Mq中的角色,以及每个都是干什么的。 RocketMQ是一个分布式消息和流平台,提供低延迟、

    2024年02月05日
    浏览(35)
  • 【Java中间件】RocketMQ

    Message Queue,是一种提供消息队列服务的中间件。提供了消息生产、存储、消费全过程API的软件系统。 MQ的作用 限流削峰:当用户发送超量请求时,将请求暂存,以便后期慢慢处理。如果不使用MQ暂存直接请求到业务系统中容易引起系统崩溃。 异步解耦:若上游系统和下游系

    2024年02月15日
    浏览(36)
  • linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路

    目前市面上和官方均只有rocketmq x86架构下的docker镜像,而随着国产化和信创适配的需求越来越多,显然现有的x86架构下的docker镜像不能满足多样化的需求,因此我们需要根据官方发布的版本制作满足需求的多架构镜像,以在不同cpu架构下部署使用。  rocketmq官方网站:RocketM

    2024年02月08日
    浏览(45)
  • 【微服务学习】spring-cloud-starter-stream 4.x 版本的使用(rocketmq 版)

    @[TOC](【微服务学习】spring-cloud-starter-stream 4.x 版本的使用(rocketmq 版)) 2.1 消息发送者 2.1.1 使用 StreamBridge streamBridge; 往指定信道发送消息 2.1.2 通过隐式绑定信道, 注册 Bean 发送消息 2.2 消息接收者 注意: 多个方法之间可以使用 “|” 间隔, 但是绑定时 多个需要按顺序写. 其中

    2024年02月03日
    浏览(33)
  • RocketMQ 5.1.0 在java中的使用

    版本:         当前测试版本:springBoot 2.3.9、 RocketMQ 5.1.0 Maven或Gradle RocketMQ的依赖项: 1、生产者   2、消费者 3、测试 发送 结果

    2024年02月16日
    浏览(24)
  • 【RocketMQ入门-安装部署与Java API测试】

    虚拟机VWMare:安装centos7.6操作系统 源码包:rocketmq-all-5.1.3-source-release.zip 单master部署,在一台虚拟机上安装部署name server和proxy以及broker 流程图: 源码包安装需要事先安装部署maven,下载apache-maven-3.6.3-bin.tar.gz安装包,然后解压并配置环境变量,如下命令: 配置环境变量(此

    2024年02月13日
    浏览(22)
  • RocketMQ mqadmin java springboot python 调用笔记

    mqadmin命令列表 Python 生产者:producer.py 运行 mqadmin查询topic状态 https://github.com/apache/rocketmq-dashboard 自行编译 启动        consoumer.py 启动python消费者 可以看到my-group1已被消费  再启动一个consumer.py,产生一次消息 可以看到,只有一个consumer消费到了消息,说明默认情况下,消息

    2024年02月11日
    浏览(28)
  • rocketmq Cannot construct instance of `java.time.LocalDate`

    原因:RocketMQ内置使用的转换器是RocketMQMessageConverter,转换Json时使用的是MappingJackson2MessageConverter,但是这个转换器不支持时间类型。 解决办法是: 添加消息转换器,将MappingJackson2MessageConverter进行替换,并添加支持时间模块

    2024年02月16日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包