前言 根据业务处理部分,单体马上就能得知错误与否,快速做出处理,而分布式系统,会因为各种原因,无法如同单体一样立刻处理,所以这个时候需要 处理异常 的,做 补偿.转移.人工干预. 当然也可以直接在消费端做重试/限流和熔断,但是个人理解,不建议,处理失败的转移到低优先顺序的队列,由专门处理失败消费的部分来处理问题,在实际操作中,可以是单独的服务器,不影响业务流程线,处理失败则发送消息,人为干预. 消费/执行错误的处理流程 无论的消费订阅还是Rpc远程调用,一旦处理失败,都应当有 转移错误.补偿以及…
前言 对于项目的迭代,如何降低复杂性的要求高于性能以及技术细节的 一个易用的项目,才能迭代到比拼性能,最后拼刺刀的阶段 传统单体项目,都是传统三层,直接请求响应的模式,这类称为Rpc模式,易用性上非常好 基于rpc模式,对前一章的代码做调整 代码结构设计 每一个请求之后,同步返回执行结果给上游,最后完成链式调用 实例编写 PayOrderRequest->PayOrderEvent->PayOrderResponse PayOrderResponse就是外层需要的执行结果PayOrderReq…
前言 asp.net core版本选择2.2,只是因为个人习惯了vs2017,代码以及设计皆可移植到vs2019,用asp.net core 3.0以及以上运行起来 项目类似选择web api,基础设施选择entity frame core + Masstransit + aspectCore 先赘述一下思路业务,中间通讯以及容错/重试交给masstransit,部分流程的解耦交给aspectCore来完成,这部分包括,错误后通过masstransit发布给错误处理的模块,最后落盘到ef cor…
基于ASP.Net Core开发一套通用后台框架 写在前面 这是本人在学习的过程中搭建学习的框架,如果对你有所帮助那再好不过.如果您有发现错误,请告知我,我会第一时间修改. 知其然,知其所以然,并非重复的造轮子.因为这段时间我发现,自己闷很久写出来的代码,再去看看别人的,会有种恍然大悟的感觉.不是只会用,而不知道为什么要这样用. 真的,只看不敲,总是学不会. Demo地址:http://app.guoddy.com 源代码地址:https://github.com/jellydong/LJDAP…
前言 虽然说学习新的开发框架是一项巨大的投资,但是作为一个开发人员,不断学习新的技术并快速上手是我们应该掌握的技能,甚至是一个.NET Framework开发人员,学习.NET Core 新框架可以更快速掌握其中的编写,构建,测试,部署和维护应用程序. 您现有的.NET Framework应用程序可以在其他操作系统上工作.对于希望扩大类库的受众平台,或者希望在分布式应用程序的其他领域使用相同代码的开发人员来说,这是非常好的选择. .NET Core是为了重新启动某些Framework组件而为其他…
最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgzl/p/8450179.html http://www.cnblogs.com/cgzl/p/8450409.html 这篇文章写的是使用mac(linux)/win10开发一个基于asp.net core 2.0 web api, angular 5, bootstrap 4, sql serve…
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 本节将介绍基于ASP.NET Core的整洁架构的设计理念,同时基于理论落地的代码模型,包括文件夹.文件.项目的组织形式以及项目的依赖关系,为企业级可扩展的架构奠定基础. 本节学习主题包括: 整洁架构介绍 核心层 基础设施层 表示层 测试管理 构建整洁架构解决方案 3.1 整洁架构介绍 很多公司系统多样,每个系统的分层结构各不相同,这给开发和未来的运维带来了巨大的成本,分层架构看…
首先了解这个概念,我一开始也是理解和掌握基本的概念,再去做程序的开发.Identity框架是微软自己提供,基于.net core平台,可拓展.轻量 级.面向多个数据库的身份验证框架.IdentityServer4是基于asp.net core 2.0的OpenID和OAuth 2.0的框架.后续我们会使用IdentityServer4框 架.这里做个介绍.不知道Identity框架支不支持OpenID和OAuth协议,这个求解答.其次,IdentityServer4框架可以在分布式项目中使用.…
2019年3月27号 更新版本 本项目基于 ASP.NET CORE 3.0+EF CORE 3.0开发 使用vs2019 +sqlserver 2017(数据库脚本最低支持sql server 2012/+) 使用步骤: 1.下载相关开发工具 2.运行数据库脚本目录下的相关脚本 3.默认前端账号密码: 18812345678 123456 4.默认后台账号密码: admin 123456 开源地址: https://github.com/51core/mango-sns-open 如果这个项目…
AServer是基于ASP.NET Core Kestrel封装的一个超迷你http服务器.它可以集成进你的Core程序里,用来快速的响应Http请求,而不需要集成整个ASP.NET Core MVC 框架. 一:什么是ASever? AServer就像它的名字一样,Just a server,它的功能非常简单,它唯一的功能就是用来对Http请求做出响应.以前我们开发一个.NET程序,比如控制台程序,Windows服务等,如果需要对外提供接口,我们通常会在程序里集成WCF,使用WCF对外提供RP…