本文转载自微信公众号「全栈码农画像」,作者小码甲。转载本文请联系全栈码农画像公众号。
Microservices
微服务是一种构建现代应用程序的流行的体系结构,云原生系统拥抱微服务。
微服务是由一组(使用共享结构交互的、独立的小块服务)搭建的分布式集,具有以下特征:
下图对比单体与微服务应用:
注意,单体应用由分层架构组成,在单个进程中执行,通常使用关系型数据库。
但是,微服务方法依据功能划分为(逻辑+数据)的独立服务,每个微服务都托管自己的数据存储。
微服务依然遵守"十二要素应用"中的One Codebase, One Application”原则。
每个微服务存储在独立代码仓库,通过版本管理进行跟踪,可以部署到多个环境。
Why microservices?
微服务提供了敏捷能力
上一段落,我们已经对比了单体和微服务,我们看到了一些明显的好处:
你不必等待发布窗口即可部署新功能或更新,你可以只更新复杂应用的一小部分区域,减少破坏整个系统的风险。
不需要以应用整体为单位进行扩展,而仅扩展那些需要更多处理能力或网络带宽的微服务,这种细粒度的伸缩方法提供更好的控制力和成本优势。
学习微服务的最佳指南是《.NET Microservices: Architecture for Containerized .NET Applications》,这本书深入探讨了微服务设计和架构,它是微服务实践https://github.com/dotnet-architecture/eShopOnContainers的阅读搭档。
Developing microservices
可以使用任何现代开发平台来创建微服务。
微软.NET平台是一个绝佳的选择,免费、开源,内置许多功能以简化微服务开发。.NET是跨平台的,可以在Windows、macOS和大多数Linux上构建和运行应用程序。
.NET的性能很高,在TechEmpower组织的性能基准测试中,.NET相当优秀。
.NET由Microsoft和.NET社区在GitHub上维护。
Ref
https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition
本文转载自公众号读芯术(ID:AI_Discovery) 如果你即将要面临大型科技公司的技术...
游戏市场的热度已经不言而喻,随着民众生活水平的提升,大家对于精神娱乐生活的...
为了使伸缩组自动加入的实例自动部署应用,您需要创建私有镜像,确保该镜像上有...
开源 RPC 框架有哪些呢?一类是跟某种特定语言平台绑定的,另一类是与语言无关即...
与普通的IDC机房或服务器厂商相比,阿里云提供的云服务器ECS具有高可用性、安全...
来源 | 阿里飞天CIO学堂微信公众号 金融数字化转型过程中,市场的细微变化,客户...
一、数据中台是真的热 在2018年之前可能只有一少部分人在谈中台,从2018年下半年...
计算的下一步发展是什么,将如何影响组织的战略?专家预测了边缘计算在2021年的发...
一、背景 ? 我们大部分人的编程习惯都是线性编程,所谓线性编程就是一个请求涉及...
最近,在为 Coco 优化分层架构之时,我陷入了各种决策困难之中。所以我通过不断...