.NET微服务

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 微服务是一种构建现代应用程序的流行的体系结构,云原生系统拥抱微服务。

Microservices


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


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


  • 在大型的领域上下文中,每个微服务实现特定的业务功能


  • 每个微服务都自主开发的,且可以独立部署


  • 每个微服务都独立封装了自己的数据存储技术(SQL,NoSQL)和编程平台。


  • 每一个微服务都运行在独立进程,并使用标准的通信协议(例如HTTP/HTTPS、WebSocket或AMQP)与其他进程进行通信。


  • 它们一起组成一个应用程序


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


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

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


030f95deacb554321cd8b1d434a1681d.png


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


相关文章
|
2月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
166 3
|
4月前
|
监控 Cloud Native 开发者
云端精英的.NET微服务秘籍:Azure上的创新实战演练
【8月更文挑战第28天】在现代软件开发中,微服务架构通过分解应用程序提升可维护性和扩展性。结合Azure与.NET框架,开发者能轻松打造高效且易管理的云原生微服务。首先,使用Docker容器化.NET应用,并借助Azure Kubernetes Service(AKS)或Azure Container Instances(ACI)部署。为确保高可用性和伸缩性,可利用Azure Traffic Manager负载均衡及Azure Autoscale动态调整实例数。
33 0
|
5月前
|
人工智能 物联网 开发者
**.NET技术革新赋能软件开发:从.NET 5的性能飞跃、跨平台支持,到微服务、物联网、AI和游戏开发的广泛应用。
【7月更文挑战第4天】**.NET技术革新赋能软件开发:从.NET 5的性能飞跃、跨平台支持,到微服务、物联网、AI和游戏开发的广泛应用。随着云集成深化、开源社区壮大,未来将聚焦性能优化、云原生应用及新兴技术融合,培养更多开发者,驱动软件创新。**
152 1
|
消息中间件 SQL 数据可视化
最接地气的.NET微服务框架 - Wing
最接地气的.NET微服务框架 - Wing
203 0
|
开发框架 监控 前端开发
推荐一个.Net分布式微服务开发框架
推荐一个.Net分布式微服务开发框架
127 0
|
运维 JavaScript 前端开发
一套.Net6可落地的微服务、分布式开源项目
一个轻量级的微服务架构,支持经典三层架构和DDD架构模式开发,技师选型都是目前主流的技术。是一个前后端分离架构,前端采用Vue开发,后端使用.Net6架构。Api接口遵循RESTful规范,接口安全验证采用JWT机制。
463 0
一套.Net6可落地的微服务、分布式开源项目
|
开发框架 NoSQL .NET
ASP.NET Core微服务(六)——Redis效率与sqlserver数据库对比
ASP.NET Core微服务(六)——Redis效率与sqlserver数据库对比
340 0
ASP.NET Core微服务(六)——Redis效率与sqlserver数据库对比
|
存储 开发框架 NoSQL
ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis
ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis
346 0
ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis
|
开发框架 NoSQL .NET
ASP.NET Core微服务(六)——【redis命令详细列表3】
ASP.NET Core微服务(六)——【redis命令详细列表3】
242 0
ASP.NET Core微服务(六)——【redis命令详细列表3】
|
开发框架 NoSQL .NET
ASP.NET Core微服务(六)——【redis命令详细列表2】
ASP.NET Core微服务(六)——【redis命令详细列表2】
156 0
ASP.NET Core微服务(六)——【redis命令详细列表2】