首页 > 数据库 >CAP事件总线在NetCore中的应用+MySql存储队列信息

CAP事件总线在NetCore中的应用+MySql存储队列信息

时间:2022-09-26 09:12:17浏览次数:94  
标签:存储 NetCore 队列 CAP mysql 我们 MySql

上一篇链接:https://www.cnblogs.com/fei686868/p/16721769.html

在上一篇中,我们介绍了CAP基于内存存储的应用。本篇我们介绍下,把存储做到mysql中,队列还是使用内存队列。

mysql中主要存储是消息的内容以及状态。

 

 

 

 在nuget上,我们引入 DotNetCore.CAP.MySql 包。

Appsetting.json中配置mysql数据库连接字符串

  "ConnectionStrings": {
    "Default": "server=127.0.0.1;database=CAP;uid=root;pwd=123456"
  },

Programe.cs中,我们配置改为采用mysql存储

var services = builder.Services;
services.AddCap(x =>
{
    x.UseMySql(opt => {
        opt.ConnectionString = builder.Configuration.GetSection("ConnectionStrings:Default").Value;
    });
    x.UseInMemoryMessageQueue();
    x.FailedRetryInterval = 20;
    x.UseDashboard();
   
});

就红色部分与内存存储有差异而已。我们需要自己建好库,表会自动创建。

OK,这样我们就完成了配置

运行起来后,会自动创建数据表结构。

 

 我们可以看到自动生成了2个表,一个是发布表,一个订阅(接收)表

我看下发布表中内容

 

 表中会记录我们配置的版本号,V1是默认的。 name:消息的名称,content:消息头和消息体,Retries 尝试的次数(当发布失败后,会自动继续尝试),StatusName 是消息的最终状态。

我们再看订阅表

 

 内容跟发布表基本类似,多了个Group分组,也就是我们可以把一个定义不同的分组来接收。

以上内容,就是采用mysql存储的示例。

更多分享,请大家关注我的个人公众号:

 

 

标签:存储,NetCore,队列,CAP,mysql,我们,MySql
From: https://www.cnblogs.com/fei686868/p/16729709.html

相关文章

  • MySQL通过Data恢复数据库
    在真实的开发环境中,服务器突然蹦了,MySQL指令也不行了,备份...。只能通过物理备份Data。那我们如何通过Data恢复数据库。太简单了,只是复制粘贴的是。备份Data。备份Dat......
  • 【MySQL】二级MySQL考试 救场帮助表
     周六去考二级,应用第一题就是添加外键约束草,写了半天老说语法不对,然后急中生智,觉得默认的库里应该有文档说明表以下是SQL查询过程:--猜测是在mysql库里面mysql>USE......
  • 面试官:1亿条数据批量插入 MySQL,哪种方式最快?
    这几天研究mysql优化中查询效率时,发现测试的数据太少(10万级别),利用EXPLAIN比较不同的SQL语句,不能够得到比较有效的测评数据,大多模棱两可,不敢通过这些数据下定论。所......
  • MySQL常用知识点梳理
    删表DROPTABLEIFEXISTS表名;新建表createtable表名(字段名类型约束(逐渐,非空,唯一,默认值),字段名类型约束(逐渐,非空,唯一,默认值),)编码,存储引擎;约束N......
  • 2022-09-25-近60道MySQL经典面试题
    近60道MySQL经典面试题mysql面试常见问题学习整理2.3.17.18.19.20.44未看。1.B树和B+树之间的区别是?为什么mysql使用B+树?一个节点有多个元素;B+树也是排序了的;B+树非叶......
  • MySQL的join算法优化
    在Mysql的实现中,Nested-LoopJoin有3种实现的算法:SimpleNested-LoopJoin:SNLJ,简单嵌套循环连接IndexNested-LoopJoin:INLJ,索引嵌套循环连接BlockNested-LoopJoin:BN......
  • MySQL 的一条语句的执行流程
    分为客户端,服务端,存储引擎三部分。mysql8.0后,取消缓存。1.myisam和innodb的区别。Mysql的InnoDB和MyISAM存储引擎的常见区别如下:锁支持:MyISAM只有表级锁(table-lev......
  • mysql存储引擎
    MySQL存储引擎概述MySQL5.0支持的存储引擎包括MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中Inno......
  • mysql整理
    mysql整理跨库更新数据UPDATEpmcc_assess.tb_project_infoaTableINNERJOIN(SELECTidasdata_id,uuidasdata_uuidFROMpmcc_contract.tb_cms_contractbTa......
  • mysql函数
    日期函数返回当前日期,只包含年月日selectcurdate()返回当前时间,只包含时分秒selectcurtime()返回当前的日期和时间,年月日时分秒全都包含selectnow()提取......