c#微服务必学清单

DinAction DinAction     2023-04-24     288

关键词:

在 C# 领域,有一些不错的微服务书籍和开源框架,对于学习微服务相关知识非常有帮助。以下是一些建议您阅读的微服务书目和开源框架。

微服务书目:

1. 《Building Microservices》(Sam Newman):这本书详细介绍了微服务的基本概念、实践方法和优缺点,并通过实际案例分析来展示如何构建微服务系统。

2. 《.NET Microservices: Architecture for Containerized .NET Applications》(Cesar de la Torre, Bill Wagner, Mike Rousos):这本书专注于使用 .NET 技术栈构建微服务,提供了许多关于设计、开发和部署微服务的指导和实践经验。

3. 《Microservices in .NET Core》(Christian Horsdal Gammelgaard):本书重点介绍了如何在 .NET Core 中构建微服务应用程序,以及如何将其组织和部署到 Docker 容器中。

微服务开源框架:

1. Ocelot:Ocelot 是一个基于 .NET Core 的 API 网关,可用于构建微服务架构。它支持路由、身份验证、授权、负载均衡等功能。

GitHub: https://github.com/ThreeMammals/Ocelot

2. Steeltoe:Steeltoe 是一套专为 .NET 开发者设计的微服务工具集,提供了诸如配置管理、服务发现、断路器等功能。

GitHub: https://github.com/SteeltoeOSS/Steeltoe

3. MassTransit:MassTransit 是一个基于 .NET 的开源消息总线,可用于构建分布式应用程序和微服务。它支持多种传输协议和队列系统,例如 RabbitMQ 和 Azure Service Bus。

GitHub: https://github.com/MassTransit/MassTransit

4. NServiceBus:NServiceBus 是一个基于 .NET 的企业级服务总线框架,用于构建高性能、可伸缩的微服务和 SOA 应用程序。

官网: https://particular.net/nservicebus

结合这些书籍和开源框架,您可以更好地学习和掌握 C# 领域的微服务知识,并将其应用到实际项目中。

当然可以。微服务作为一种较新的软件架构模式,有很多经典书籍和开源框架可以供你参考学习。以下是一些建议:

经典书籍:
1. 《微服务设计》(Sam Newman 著)
2. 《微服务实战》(Morgan Bruce、Paulo A. Pereira 著)
3. 《微服务:从设计到部署》(Joshua Bloch 著)
4. 《Spring微服务实战》(John Carnell 著)
5. 《微服务架构与实践》(马晓星 著)

开源框架:
1. Spring Cloud
Spring Cloud 是一个基于 Java 的微服务开发框架,提供了一系列组件和工具,帮助开发者快速搭建和部署微服务。

2. Netflix OSS
Netflix 开源软件套件(Netflix OSS)包含了一系列用于构建微服务应用的库和工具,如 Eureka(服务发现)、Ribbon(负载均衡)等。许多 Netflix OSS 组件已经被整合到 Spring Cloud 中。

3. Istio
Istio 是一个开源的服务网格(Service Mesh)解决方案,让开发者能够更容易地在分布式微服务体系中管理流量、控制访问策略和监控服务之间的通信。

4. Kubernetes
Kubernetes 是一个优秀的容器编排工具,可以自动化部署、扩展和管理容器化应用程序。虽然它不是专门为微服务设计的,但在微服务架构中使用 Kubernetes 可以简化部署和管理过程。

5. Dubbo
Dubbo 是阿里巴巴开源的一款高性能、轻量级的 RPC 框架,它提供了服务注册与发现、负载均衡等功能,非常适合用于构建基于 Java 的微服务系统。

这些书籍和框架对于初学者和有经验的开发者都非常有价值,希望能帮助你更好地理解和掌握微服务技术。

了解,我为你整理了一些目前比较新颖且受关注的微服务开源框架。请注意,这些框架可能相对较新,社区资源和成熟度可能没有上述提到的框架丰富。以下是一些建议:

1. Dapr(Distributed Application Runtime)
Dapr 是一个事件驱动、可扩展的运行时环境,用于构建微服务和其他分布式应用程序。它提供了一组通用构建块,如状态管理、发布/订阅消息、触发器等。Dapr 可以在任何编程语言中使用,并支持多种基础设施。

2. Envoy
Envoy 是一个开源的高性能代理服务器,具有强大的网络层抽象功能,适用于现代化的微服务体系结构。它可以作为通用数据平面,与像 Istio 这样的控制平面搭配使用。

3. Tars
Tars 是腾讯开源的一款高性能 RPC 框架,支持多种编程语言。它提供了完整的微服务治理方案,包括服务注册与发现、负载均衡、故障容错,以及全链路监控等功能。

4. Kuma
Kuma 是一个通用的服务网格控制平面,旨在简化微服务的连接、安全和观察。Kuma 支持 Envoy 作为数据平面,并提供了一个易于使用的界面,以便在任何环境中管理服务网格。

5. Temporal
Temporal 是一个高度可扩展的微服务编排引擎,用于构建复杂的工作流程。它分离了应用程序逻辑和基础设施层,使开发人员能够专注于实现业务逻辑,而无需处理分布式系统的复杂性。

虽然这些框架相对较新,但它们在特定领域已收到广泛关注。如果你正在寻求探索更新颖的技术,可以尝试学习这些框架并评估它们是否满足你的需求。

分布式/微服务必配apm系统,skywalking让你不迷路(代码片段)

前言如今分布式、微服务盛行,面对拆分服务比较多的系统,如果线上出现异常,需要快速定位到异常服务节点,假如还用传统的方式排查肯定效率是极低的,因为服务之间的各种通信会让定位更加繁琐;... 查看详情

服务治理:springcloudeureka

SpringCloudEureka主要负责完成微服务架构中服务治理功能。服务治理是微服务架构中最为核心和基础模块,主要用来实现各个微服务实例的自动注册和发现。服务注册微服务实例启动后向注册中心注册自己的服务,服务注册中心会... 查看详情

服务治理:springcloudeureka

SpringCloudEureka主要负责完成微服务架构中服务治理功能。服务治理是微服务架构中最为核心和基础模块,主要用来实现各个微服务实例的自动注册和发现。服务注册微服务实例启动后向注册中心注册自己的服务,服务注册中心会... 查看详情

如何将多个清单文件嵌入/合并到 C# 应用程序中?

】如何将多个清单文件嵌入/合并到C#应用程序中?【英文标题】:Howtoembed/mergemultiplemanifestfilesintoC#application?【发布时间】:2014-01-2317:02:15【问题描述】:在VisualStudio中,您可以在C++项目中设置“附加清单文件”选项,以便将附... 查看详情

为啥 C# 和 VB 项目有不同的清单资源结构?

】为啥C#和VB项目有不同的清单资源结构?【英文标题】:WhydoC#andVBprojectshaveadifferentmanifestresourcestructures?为什么C#和VB项目有不同的清单资源结构?【发布时间】:2022-01-0114:43:13【问题描述】:我的项目是一个C#NETFramework4.8Web应用... 查看详情

物联网必学清单

当然有!物联网(IoT)是一个非常热门的领域,涉及到数据采集、通信和智能设备等多个方面。在成为物联网专家的道路上,以下是一些建议和资源:1.学习基础知识熟悉物联网的基本概念,了解主要的应用场景和技术挑战。学... 查看详情

如果应用程序具有应用程序清单,如何在 C# 中以编程方式获取?

】如果应用程序具有应用程序清单,如何在C#中以编程方式获取?【英文标题】:HowgetprogrammaticallyinC#ifapplicationhasapplicationmanifest?【发布时间】:2014-10-2206:38:42【问题描述】:我已经看到如何使用此参考HowcanIembedanapplicationmanifestin... 查看详情

如何从 C# 等托管代码中为 ActiveX 组件使用嵌入式免注册清单?

】如何从C#等托管代码中为ActiveX组件使用嵌入式免注册清单?【英文标题】:Howtouseembeddedregistration-freemanifestforActiveXcomponentfrommanagedcodelikeC#?【发布时间】:2014-02-2102:42:44【问题描述】:我想使用未在系统范围或用户范围内注册... 查看详情

如果自签名清单,C# 无法在 Azure 管道中传递构建

】如果自签名清单,C#无法在Azure管道中传递构建【英文标题】:C#UnablepassbuildinAzurepipelineifselfsignedthemanifest【发布时间】:2019-10-1015:06:49【问题描述】:我有一个使用.NET框架在VisualStudio中构建的WPF项目。该应用程序将部署在多个... 查看详情

学交互设计,这份超全学习清单给你准备好了

...没个底儿。  为此我们特推荐墨刀整理了一个学习清单有系统的UX设计知识框架有各环节的实践技巧有工具学习行业大咖故事……赶紧Mark住吧! 书籍「一小本,读完大咖智慧」 《用户体验要素》JesseJamesGarrett 查看详情

c#学习之--hellowworld

这里主要看一下HelloWorld代码//单行注释/*多行注释*////XML文档注释usingSystem;//包含命名空间,类似PHP的useusingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApplication1//声明命 查看详情

初识c#

    我记得我刚学c#的时候是在大一的下学期,那时候我在的学校是一个专科,因为我大一上学期学了c语言,对语言还蛮感兴趣,所以学的不错,在最后的考试是考的成绩还算可以,就考上了我们学校的教改班,那... 查看详情

正经学c#_介绍与其编写基础:《c#入门经典》

本文所讲内容,均可在《c#入门经典》中可以查询。如有错误,敬请指出。谢谢!C#:全称CShar。是微软.NetFramework平台下最为主要的客户语言之一。个人理解,c#是微软最为主推的语言,没有之一。.NetFramework是一个庞大且专业的... 查看详情

带有嵌入式清单的 C# 4.0 应用程序是不是需要在客户端计算机上安装数字证书或强名称?

】带有嵌入式清单的C#4.0应用程序是不是需要在客户端计算机上安装数字证书或强名称?【英文标题】:DoesC#4.0AppsWithEmbeddedManifestrequireDigitalCertificateorStongNametobeinstalledonClientMachines?带有嵌入式清单的C#4.0应用程序是否需要在客户... 查看详情

c#特性学习之callermembernamecallerfilepath和callerlinenumber

在开发中经常会写个公有静态类记录日志,如下:///<summary>///Writestheerror.///</summary>///<paramname="message">Themessagetobewritten.</param>publicvoidWriteError(objectmessage){_log4Net.Error(messag 查看详情

Xamarin Android C#:使用 xml 资源文件夹和清单来定义用于检测连接的 USB 设备崩溃应用程序的意图过滤器

】XamarinAndroidC#:使用xml资源文件夹和清单来定义用于检测连接的USB设备崩溃应用程序的意图过滤器【英文标题】:XamarinAndroidC#:Usingthexmlresourcefolderandmanifesttodefineanintentfilterfordetectingconnectedusbdevicescrashsapplication【发布时间】:2016-... 查看详情

学c#之设计模式系列笔记观察者模式

一、借鉴说明1.《HeadFirstDesignPatterns》(中文名《深入浅出设计模式》)2.维基百科,观察者模式,https://zh.wikipedia.org/wiki/%E8%A7%82%E5%AF%9F%E8%80%85%E6%A8%A1%E5%BC%8F 3.MSDN,event(C#参考),https://msdn.microsoft.com/zh-cn/library/86 查看详情

微服务实战:选择微服务部署策略

 微服务实战(一):微服务架构的优势与不足微服务实战(二):使用APIGateway微服务实战(三):深入微服务架构的进程间通信微服务实战(四):服务发现的可行方案以及实践案例微服务实践(五):微服务的事件驱动... 查看详情