• 偏偏
    2020-02-27
    老师辛苦, 老师,暂停期间可不可以前面的课程给一个完整的示例,包括 1. 本地事务、CAP集成分布式事务以及 2. MediatR的管道对接事务的示例。 3. 几个表CURD表操作(能说明领域聚合和application职责划分,还有领域事件), 4. 日志在生产环境的正确用法。 希望老师支持。

    作者回复: 后面会重点再整体讲一下

    共 2 条评论
    8
  • ︶ㄣ子非魚ㄜ
    2020-04-09
    我就有话直说了,我是来催更的。 前面的实例还是太简单 比较期待能有些ddd设计建模阶段的一些实例

    作者回复: 可以在git代码库issue中交流

    共 2 条评论
    6
  • Geek_6a7195
    2020-04-16
    日常催更,又周四了哦

    编辑回复: 下周一和周四更新哈,不好意思,从杭州回来视频剪辑同学隔离了几天。

    
    5
  • pcdiy
    2020-03-02
    老师听你前面的课程有两点疑惑: 1、用事件发布阅会影响版本发布,那么后续课程会有解决方案吗? 2、仓储层对读写分离模式下会有影响吗,如果要解决哪些遇到的坑?

    作者回复: 这是个好问题,对于事件发布订阅的部分需要设计上保持兼容。 对于废弃的事件,隔版本废弃。 用EF Core实现仓储层对于实体的持久化支持非常好,也就是命令的部分,查询的部分建议使用其它轻量级的ORM来些查询,尤其是复杂的查询。

    
    2
  • 疯哥
    2020-04-20
    期待更新

    作者回复: 感谢支持

    
    1
  • meme
    2020-04-13
    请问老师,我在使用cap时,cap.published内的类型为guid的属性是有值的,到了接收端cap.received此属性就是null了,要怎么解决?

    作者回复: 没注意到这种情况,你可以到cap的官方issue提问

    
    1
  • 张楠
    2020-04-02
    framework 中有一种写法,多个process来同时处理,一个主控程序,启动多个process,若单个process挂掉了,可以再次启动,也避免多个进程之间相互影响。比如,我现在需要计算10个人的工资,带入不同的参数启动多个process来计算,当然这个可以多线程来处理,但是为了避免A的挂了,其它9个人也正常计算,所以用process来处理了。在.net core 之下,是不是可以直接通过创建多个host或使用backgroundservice也是一样的效果?想听听不同实现方式的优劣

    作者回复: 这里使用多个host或者backgroundservice都是多线程的方式,你讲的这个场景可以使用支持多实例的调度组件,例如hangfire、Quartz.NET等,多个进程协同分片来执行大job,部署在kubernetes中,保障高可用

    
    1
  • Null
    2020-03-26
    看着代码理了下思路,执行过程: 1.请求接口:api/Order/CreateOrder 2.发送_mediator.Send(new CreateOrderCommand(), HttpContext.RequestAborted); 3.接收请求: CreateOrderCommandHandler.Handle 执行,因为实现了IRequestHandler<CreateOrderCommand, long> , 执行自己的业务逻辑; 业务逻辑里面有创建Order方法,而该方法里面有执行添加了一个AddDomainEvent(new OrderCreatedDomainEvent(this)) 领域事件; 执行SaveEntitiesAsync的后,会执行 await _mediator.DispatchDomainEventsAsync(this); 将所有的创建的领域事件Publish出去, mediator.Publish(domainEvent); 4.此时,有实现领域事件的类将会被执行:OrderCreatedDomainEventHandler : IDomainEventHandler<OrderCreatedDomainEvent> 执行Handle方法, 方法里面有执行await _capPublisher.PublishAsync("OrderCreated", new OrderCreatedIntegrationEvent(notification.Order.Id)); 发送一个广播事件(集成事件) 有关注“OrderCreated” 的事件SubscriberService将会执行 [CapSubscribe("OrderCreated")] public void OrderCreated(OrderCreatedIntegrationEvent @event) { //Do SomeThing } 5.最后这些事件全部执行完毕后,将会执行await _dbContext.CommitTransactionAsync(transaction);提交事务
    展开

    作者回复: 总结得非常好

    
    1
  • Level
    2020-03-25
    大佬 还没有更新呀

    编辑回复: 目前计划是清明节后那周拍摄

    共 2 条评论
    1
  • pcdiy
    2020-03-08
    老师,你好!, _currentTransaction = Database.BeginTransaction(_capBus, autoCommit: false); 这段代码不同数据库共享事务的问题, 这个需要引用DotNetCore.CAP 和DotNetCore.CAP.Mysql, 但如果我多种数据库,比如:DotNetCore.CAP.Mysql, DotNetCore.CAP.SqlServer 事务都想共用, 他们同时引用就冲突,这个怎么解决,扩展不同数据库吗,还是......?

    作者回复: 一个微服务如果使用多个数据库,你得考虑下设计是否合理了。 如果因为项目历史原因,需要多种数据库,你需要避免跨库的事务的设计。

    
    1