栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

DotNet.CAP 开源分布式消息框架(EventBus)

DotNet.CAP 开源分布式消息框架(EventBus)

DotNet.CAP 开源分布式消息框架 Cap

1.简单几行代码实现事件总线

// 添加事件总线cap
services.AddCap(x => {
    // 使用内存存储消息(消息发送失败处理)
    // x.UseInMemoryStorage();
    // 使用Entityframework进行存储操作
    x.UseEntityframework();
    // 使用sqlserver进行事务处理,防止推送MQ失败,会在指定数据库中自动生成以"cap."开头的表
    x.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
    // 使用RabbitMQ进行事件中心处理
    x.UseRabbitMQ(rb => {
        rb.HostName = "localhost";
        rb.UserName = "admin";
        rb.Password = "admin";
        rb.Port = 5672;
        rb.VirtualHost = "/";
    });
    // 添加cap后台监控页面(人工处理);页面地址为“/cap”
    x.UseDashboard();
    // 配置定时器重试策略
    //x.FailedRetryInterval = 2; //重试间隔时间(秒),使用默认的就可以,可不用配置
    x.FailedRetryCount = 5; //重试次数
});
 
// 注册上下文到IOC容器
services.AddDbContext(options =>
{
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
});

2.事件发布

[Route("api/Teams")]
[ApiController]
public class AggregateController : Controllerbase
{
    private readonly ICapPublisher capPublisher;
    public AggregateController(ICapPublisher capPublisher)
    {
        this.capPublisher = capPublisher;
    }
 
    /// 
    /// 添加团队和成员信息
    /// 
    /// 
    [HttpPost]
    public ActionResult Post(string value)
    {
        Video video = new Video()
        {
            VideoUrl = "http://localhost:5365/123.mp4",
            MemberId =1
        };
        capPublisher.PublishAsync

3.事件订阅

[Route("Video")]
[ApiController]
public class VideoController : Controllerbase
{
    private readonly IVideoService videoService;
    public VideoController(IVideoService videoService)
    {
        this.videoService = videoService;
    }
    /// 
    /// 视频添加
    /// 
    /// 
    /// 
    [NonAction] //用于标识此函数不是接口,将不能被http请求访问
    //[CapSubscribe("video.event.*")] // *  一对多匹配 # 一对一匹配
    [CapSubscribe("video.event.post")]
    public ActionResult

转载:.Net Core 使用CAP框架实现异步化分布式事务_熊大哈的博客-CSDN博客

相关文章:

消息 - CAP

.NetCore Cap 结合 RabbitMQ 实现消息订阅 - osc_jbyqrnfz的个人空间 - OSCHINA - 中文开源技术交流社区

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/457795.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号