《容器化.NET应用架构指南》学习笔记(1)
一、关于这本官方“圣经”
作为.NET程序员,对于微软官方推动的架构示例总是特别关注,从PetShop到MusicStore再到eShopOnContainers,每一次关注,都会了解到业界最新的架构风格。这里引用园友杨晓东描述这几个经典示例项目的一段文字:
(1)PetShop:WebForm 的示例程序。典型的三层架构风格的应用程序。
(2)MusicStore: 针对于 MVC3~5 框架和 EF 的一个示例程序。无明显架构风格。
(3)eShop: 针对于 ASP.NET Core 的示例程序,它是一个 Rest 架构风格的应用程序。
从微软推出来的示例的架构风格的转变也可以看出,现代应用程序架构已经从单一的传统风格架构(N-Tire或Layered)转向了多种混合风格架构,像eShop就包含了以下多种架构风格:
其中包括了:
- 基于数据驱动的CRUD微服务
- 基于DDD的微服务
但在实际的微服务架构中,又不止上面提到的两种,如下图所示:
多个微服务组成的应用程序中,各自可以用不同的架构方式实现。
说了这么多eShop示例的东西,那么这本书又有啥关系呢?来看看这本书的介绍:
“本指南介绍如何使用容器开发基于微服务的应用程序并对其进行管理。本指南探讨使用 .NET Core 和 Docker 容器的体系结构设计和实现方法。 为了更加轻松地开始使用容器和微服务,本指南重点介绍一个容器化和基于微服务的参考应用程序eShopOnContainers, 可通过 eShopOnContainers GitHub 存储库获取该示例应用程序。”
明白了吧?想要了解eShop及其背后的架构,除了立马去github clone该项目之外,系统性的学习就是靠这本书了,还不去下载下来看看?
注:这本书是微软官方微服务参考指南(由Microsoft 开发人员部门、.NET 和 Visual Studio 产品团队等联合出品。旨在帮助开发人员更高效更准确的实现微服务架构应用程序),这本指南的下载地址。
二、思维导图精华笔记
(1)容器化与微服务基础知识
(2)部署.NET Core到Docker及基于微服务的.NET Core应用知识
后续脑图
使用DDD和CQRS应对业务复杂性、EF Core与NoSQL实现持久层基础架构、微服务应用层与WebAPI、实现弹性应用与微服务安全等章节话题。
参考资料
首先,肯定是微软出版的这本指南:
其次,感谢圣杰的微服务知多少系列文章,他对eShopOnContainers做了细致的分析!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
企业版阿里云服务器ECS选购与使用教程
国内云服务商中,阿里云服务器的口碑可以说是数一数二的了,因此很多企业在建站时都会首先考虑到阿里云服务器。所以,服务器吧小编今天就带大家来深入学习一下阿里云企业版云服务器ECS的使用方法。 阿里云企业版云服务器ECS快速入门需围绕这几个方面:ECS实例规格的选择、网络规划建议、对实例数量及具体配置的成本估算、安全组的配置、自动快照策略的制定、镜像迁移以及业务负载均衡与高可用性。 一、实例规格的选择 如果你的业务面向以下应用场景,可以选择图中推荐的实例。这里更多实例规格族。(说明:不同地域下可购买的实例规格可能存在差异,你可以前往ECS实例可购买地域,查看实例的可购情况。) (说明:更多应用场景说明请参见企业级配置选型。) 具体的实例配置需要结合应用场景的要求决定,可以参考如下实例配置建议: 均衡性能:需要相对均衡的处理器与内存资源配比,可以满足大多数场景下的应用资源需求。 高网络收发包应用:需要高网络收发包能力,您可以根据应用场景选择更合理的计算与内存的资源配比。 高性能计算:需要消耗高计算资源,GPU并行计算以及高主频是该场景下的典型应用。 高性能端游:需要高主频处理器支持,高处理器主...
- 下一篇
从 Spark Streaming 到 Apache Flink:bilibili 实时平台的架构与实践
摘要:本文由 bilibili 大数据实时平台负责人郑志升分享,基于对 bilibili 实时计算的痛点分析,详细介绍了 bilibili Saber 实时计算平台架构与实践。本次分享主要围绕以下四个方面: 一、实时计算的痛点 二、Saber 的平台演进 三、结合 AI 的案例实践 四、未来的发展与思考 重要:点击「PPT」可下载 Flink Forward Asia 大会全部PPT。 一、实时计算的痛点 1.痛点 各个业务部门进行业务研发时都有实时计算的需求。早期,在没有平台体系做支撑时开发工作难度较大,由于不同业务部门的语言种类和体系不同,导致管理和维护非常困难。其次,bilibili 有很多关于用户增长、渠道投放的分析等 BI 分析任务。而且还需要对实时数仓的实时数据进行清洗。此外,bilibili 作为一个内容导向的视频网站,AI 推荐场景下的实时计算需求也比较强烈。 2.痛点共性 开发门槛高:基于底层实时引擎做开发,需要关注的东西较多。包括环境配置、语言基础,而编码过程中还需要考虑数据的可靠性、代码的质量等。其次,市场实时引擎种类多样,用户选择有一定困难。 运维成本高:运维成...
相关文章
文章评论
共有0条评论来说两句吧...