zoukankan      html  css  js  c++  java
  • 思考一种好的架构(十二)

    事件溯源(TracingSource)

     /// <summary>
        /// 数据库事件溯源实体
        /// </summary>
        [Table(name: "TracingSource")]
       public class TracingSourceEntity
        {
            [ColumnAttribute(IsPrimaryKey =true)]
            [AutoIncrement]
            public int ID { get; set; }
            /// <summary>
            /// 执行时间
            /// </summary>
            public DateTime ExecuteTimer { get; set; }
    
            /// <summary>
            /// 执行Sql
            /// </summary>
            public string ExecuteSql { get; set; }
        }
      class DCCQRSCommandEventHandler : INotificationHandler<DCCQRSCommandEvent>
        {
            IDbContext DC;
            IMapper Mapper;
            public DCCQRSCommandEventHandler(IDbContext DC,IMapper Mapper) {
                this.DC = DC;
                this.Mapper = Mapper;
            }
    
            public Task Handle(DCCQRSCommandEvent notification, CancellationToken cancellationToken)
            {
                DC.Insert(Mapper.Map<TracingSourceEntity>(notification));
                return Task.CompletedTask;
            }
        }
    class StartExecute : BaseStartExecute
        {
            public override void Execute()
            {
                EventBusPost.CreateEvent(typeof(Startup));
                MapperPost.CreateMap(x =>
                    x.CreateMap<DCCQRSCommandEvent, TracingSourceEntity>().ForMember(dest => dest.ID, opt => opt.Ignore())
                );
            }
        }
    
        public static class Startup
        {
            public static void ConfigureServices(IServiceCollection services)
            {
              
            }
    
            public static void Configure(IApplicationBuilder app, IHostingEnvironment env)
            {
             
            }
        }

    事件溯源服务的问题

      1、没有数据回溯功能,充其量也只是一个事件持久化

      2、使用业务库,而不是NoSql

    解释

      1、懒

      2、虽然它使用了业务库,但是还是一个归类为普通服务,使用业务库做持久化只是暂时的

  • 相关阅读:
    HDR & Bloom
    Parallax Mapping
    Normal Mapping & Tangent Space
    Gamma校正背后的原理
    内存对齐及其原理
    关于深度值的一些需要说明的点
    帧缓冲(Framebuffer)
    面剔除和深度测试
    工具·MashLab调整网格模型坐标系
    工具·notepad++正则表达式替换文本
  • 原文地址:https://www.cnblogs.com/AnAng/p/12612389.html
Copyright © 2011-2022 走看看