聊聊.NET微服务

开发 架构
微服务是一种构建现代应用程序的流行的体系结构,云原生系统拥抱微服务。

 [[381176]]

本文转载自微信公众号「全栈码农画像」,作者小码甲。转载本文请联系全栈码农画像公众号。

Microservices

微服务是一种构建现代应用程序的流行的体系结构,云原生系统拥抱微服务。

微服务是由一组(使用共享结构交互的、独立的小块服务)搭建的分布式集,具有以下特征:

  • 在大型的领域上下文中,每个微服务实现特定的业务功能
  • 每个微服务都自主开发的,且可以独立部署
  • 每个微服务都独立封装了自己的数据存储技术(SQL,NoSQL)和编程平台。
  • 每一个微服务都运行在独立进程,并使用标准的通信协议(例如HTTP/HTTPS、WebSocket或AMQP)与其他进程进行通信。
  • 它们一起组成一个应用程序

下图对比单体与微服务应用:

注意,单体应用由分层架构组成,在单个进程中执行,通常使用关系型数据库。

但是,微服务方法依据功能划分为(逻辑+数据)的独立服务,每个微服务都托管自己的数据存储。

微服务依然遵守"十二要素应用"中的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

 

责任编辑:武晓燕 来源: 全栈码农画像
相关推荐

2023-12-15 09:57:13

微服务链路服务

2021-07-20 08:03:43

微服务应用程序

2023-01-29 09:06:24

微服务划分关联

2018-05-09 08:18:26

微服务改造架构

2021-07-14 06:45:49

Windows.NetTopshelf

2022-11-02 08:31:53

BFF架构App

2021-06-08 09:28:12

.Net通知服务

2018-12-06 14:56:46

微服务隔离熔断

2023-11-06 08:26:11

Spring微服务架构

2020-11-26 18:18:21

微服务业务规模技术

2024-02-21 07:24:21

微服务单体架构MVC

2022-08-04 08:46:16

单体架构微服务事务管理

2024-04-19 08:49:50

微服务RPC事件驱动

2023-09-05 08:53:51

2021-01-13 09:27:31

微服务API分布式

2024-07-31 09:09:20

2023-03-01 08:57:32

2024-05-30 08:19:52

微服务架构大型应用

2023-12-08 13:20:00

DDDSOA微服务

2021-05-19 08:04:11

ASP.Net服务性原则
点赞
收藏

51CTO技术栈公众号