首页 > 编程语言 >轻松使用Aspire rabbitmq framework

轻松使用Aspire rabbitmq framework

时间:2024-05-01 11:22:05浏览次数:28  
标签:aspire rabbitmq framework https 使用 Aspire com

轻松使用aspire rabbitmq

创作初衷

aspire 是微软基金会推出的新一代云原生编排框架,具体请看 https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview
我从preview1 - preview6(目前最新 2024/5/1) 一直都有使用,在第一版的时候我就用它放入了我的一个微服务中(https://gitee.com/SkyNingDuan/PublicActivityServices.git),一直和它迭代.
在其中我一直使用外部rabbitmq的方式给我的微服务传递消息(用的是YZK.eventbus),但是它一直有直接通过aspire方式创建rabbitmq 容器在你的项目中使用,我一直想着用杨中科老师的框架为指导,开发一个在aspire环境下的eventbus,但是一直拖着(已经有现成的了,就一直不想走出舒适区)最后经过不断的自我抗争,simpleUseAspireRabbitmq第一版开发好了,功能比较简单,也比较简单好用,如果大家热情高的话。后面再加便是。欢迎大家拥抱新技术,有任何问题都可以提issue和我互动,源代码地址https://github.com/skyDuanXianBing/SimpleUseAspireRabbitMQ.git ,nuget名称:SimpleUseAspireRabbitMQ (目前由于aspire 也是处于预览版,所以这个也是预览版,后面有任何改进也会跟进的)

下面是使用教程

1,创建你的aspire项目,在aspire.host中安装Aspire.Hosting.RabbitMQ 包,在program.cs中创建rabbitmq容器,并且 在你要使用rabbitmq的项目后 withreference rabbitmq容器

2,在你要使用rabbitmq项目的program.cs中分别加入builder.EventConfiguration("rabbitmq", "myexchange");(第一个参数是rabbitmq容器名称,第二是交换机名称)app.UseHttpsRedirection();来注册服务

3,使用ieventbus发送消息 目前仅支持 string/泛型 数据(都会转换成json,后面在反序列化)

publish第一个参数是队列名称

4,定义处理类,一定要定义在网站项目中(因为是通过反射网站项目拿到全部的处理类)继承IEventJsonHandler/IEventStringHandler 分别实现就行

一定要在处理类上贴 [event("")] 这个attribute 用来指示接收哪个队列信息


5,完美接收消息

标签:aspire,rabbitmq,framework,https,使用,Aspire,com
From: https://www.cnblogs.com/SkyDuan/p/18169087

相关文章

  • 'org.springframework.web.filter.CharacterEncodingFilter' is not assignable to 'j
    问题描述:在写SSM项目中,配置前端控制器的时候发现错误'org.springframework.web.filter.CharacterEncodingFilter'isnotassignableto'javax.servlet.Filter,jakarta.servlet.Filter'一直爆红解决思路:在您的错误消息中,指出了org.springframework.web.filter.CharacterEn......
  • 【Nano Framework ESP32篇】使用 LCD 屏幕
    在开始主题之前,先介绍一个刷固件工具。这个工具在idf中是集成的,不过,乐鑫也单独发布了这个工具——esptool。下载链接:Releases·espressif/esptool·GitHub。这货是用Python写的,只是封装成了exe,方便直接运行罢了。在使用时,需要-p参数指定串口号,如COM15,-b指定波特率(......
  • RabbitMQ docker集群 多机器部署
    参考参考https://blog.csdn.net/m0_47214030/article/details/131358298 ipporthostname192.168.2.2016041node1192.168.2.2026041node2192.168.2.2036041node31、启动三个RabbitMQ容器 新版本已经不建议通过环境变......
  • C#的基于.net framework的Dll模块编程(四) - 编程手把手系列文章
          这次继续这个系列的介绍: 一、命名空间的起名;对于C#来说,一般命名空间的建议是:公司名(或个人名称).产品名.分类名,比如我这边是用的这个:Lzhdim.LPF.Helper,意思是个人名Lzhdim,加上LPF为平台名,加上Helper分类为帮助类,其它的更长的请读者自己添加。  ......
  • rabbitmq
    一消息队列介绍1.1介绍消息队列就是基础数据结构中的“先进先出”的一种数据机构。想一下,生活中买东西,需要排队,先排的人先买消费,就是典型的“先进先出”1.2MQ解决什么问题MQ是一直存在,不过随着微服务架构的流行,成了解决微服务之间问题的常用工具。应用解耦以电商应用为例......
  • rabbitmq系列03---发布确认
    一、发布确认逻辑生产者将信道设置成confirm模式,一旦信道进入confirm模式,所有在该信道上面发布的消息都将会被指派一个唯一的ID(从1开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一ID),这就使得生产者知道消息已经正确到达目的......
  • Rabbitmq系列02---Exchange
    个人理解:交换机的类型划分个人理解是能过routingkey来划分的,一是否按routingkey找队列;fanout就是不按routingkey找队列,Direct和Topicr按routingkey找队列,只是一个模糊找,一个精准找,而headers不按routingkey是按消头中的内容找队列。一、Fanout(订阅模式|广播模式)  Fanout......
  • RabbitMQ处理消费者过载的策略
    RabbitMQ的消费者过载指的是在RabbitMQ消息队列系统中,消费者(即处理消息的应用程序或进程)无法及时处理从队列中接收到的消息,导致消息在队列中积压,进而可能引发系统性能下降、延迟增加或甚至系统崩溃等问题。引起消费者过载的原因:高负载产生的流量:当生产者向RabbitMQ发送大量消息......
  • RabbitMQ工作原理详解
    RabbitMQ的工作原理主要涉及生产者、消费者、交换机、队列和绑定等组件的交互。以下是其工作原理的详细解释:1、生产者(Producer):生产者负责创建消息并将其发送到RabbitMQ服务器。这些消息可以包含任何类型的数据,如JSON、XML等。生产者首先与RabbitMQ服务器建立连接,并创建一个通......
  • .NET Aspire 预览版 6 发布
    .NETAspire预览版6引入了一系列重大更新,主要包括API的重大更改、安全性和可靠性的提升、新的资源和组件、应用程序主机的更新、测试支持、模板更新、组件更新、Azure配置包的更新以及Azure开发者CLI对多个端点的支持。这些更新旨在提高.NETAspire的性能和用户体验,同......