摘要: Asp.Net Core Apollo 1.1 Apollo简介 git地址:https://github.com/apolloconfig Apollo(阿波罗)是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备 阅读全文
posted @ 2022-04-08 17:51 peng_boke 阅读(393) 评论(0) 推荐(0)
摘要: Net6新语法 1.1 顶级语句 直接在C#文件中直接编写入口方法的代码,不用类,不用Main。经典写法仍然支持。反编译一下了解真相。 同一个项目中只能有一个文件具有顶级语句。 顶级语句中可以直接使用await语法,也可以声明函数 编译器帮忙生成了命名空间、类名、方法名 1.2 全局Using指令 阅读全文
posted @ 2022-04-08 17:47 peng_boke 阅读(1803) 评论(0) 推荐(1)
摘要: # DDD之实现集成事件(RabbitMQ) 1.1 RabbitMQ 集成事件是服务器间的通信,所以必须借助于第三方服务器作为事件总线。常用的消息中间件有Redis、RabbitMQ、Kafka、ActiveMQ等 1.2 RabbitMq简介 信道(Channel):信道是消息的生产者、消费 阅读全文
posted @ 2022-04-08 17:39 peng_boke 阅读(413) 评论(0) 推荐(0)
摘要: # DDD之EFCore发布领域事件的时机 (1)在聚合根的实体对象的ChangeName()、构造方法等方法中立即发布领域事件,因为无论是应用服务还是领域服务,最终要调用聚合根中的方法来操作聚合,我们这样做可以确保领域事件不会被漏掉。 缺点: 存在重复发送领域事件的情况 领域事件发布的太早:在 阅读全文
posted @ 2022-04-08 17:34 peng_boke 阅读(441) 评论(0) 推荐(0)
摘要: DDD之实现领域事件(MediatR) 领域事件:在同一个微服务内的聚合之间的事件传递。使用进程内的通信机制完成。 (1)C#的事件机制 var eventClass = new EventClass(); eventClass .事件+=eventClass_事件 eventClass.Start 阅读全文
posted @ 2022-04-08 17:29 peng_boke 阅读(451) 评论(0) 推荐(0)
摘要: # DDD之聚合在.Net中的实现 (1)工作单元 EFCore的DbContext:跟踪对象状态的改变;SaveChanges把所有的改变一次性地提交到数据库中,是一个事务。因此DbContext是天然的UoW实现。 (2)聚合与聚合根的实现 即使一个实体类型没有声明对应的DbSet类型的属性, 阅读全文
posted @ 2022-04-08 17:25 peng_boke 阅读(481) 评论(0) 推荐(0)
摘要: DDD之EFCore实现值对象 Region public record Region { public long Id { get; init; } public MultilingualString Name { get; init; } public Area Area { get; init 阅读全文
posted @ 2022-04-08 17:20 peng_boke 阅读(451) 评论(0) 推荐(0)
摘要: 1. DDD之EFCore操作实体属性和实现充血模型 1.1 EFCore操作实体属性 (1)对象操作实体属性会调用get,set方法 (2)基于性能和对特殊功能支持的考虑,EF Core在读写属性的时候,如果可能,它会直接跳过get、set,而直接操作真正存储属性值的成员变量 (3)EF Core 阅读全文
posted @ 2022-04-08 17:17 peng_boke 阅读(850) 评论(0) 推荐(0)
摘要: # DDD之基本概念 1.1 微服务简介 (1)单体架构项目 缺点 耦合 技术栈统一,软件包版本锁定 一崩全崩;升级周期长;无法局部扩容 (2)微服务 优点 耦合性低,易于开发和维护;可以用不同技术栈;可以单独扩容;互相隔离,影响小;部署周期短 缺点 对运维能力要求高;运行效率会降低;技术要求高, 阅读全文
posted @ 2022-04-08 16:17 peng_boke 阅读(513) 评论(0) 推荐(0)
摘要: ## 1.Asp.Net Core SignalR WebSocket基于TCP协议,支持二进制通信,双工通信。 性能和并发能力更强。 WebSocket独立于HTTP协议,不过我们一般仍然把WebSocket服务器端部署到Web服务器上,因为可以借助HTTP协议完成初始的握手(可选),并且共享H 阅读全文
posted @ 2022-04-08 16:09 peng_boke 阅读(501) 评论(1) 推荐(1)