.NET几种微服务框架,你用过吗?

Posted .NET100

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET几种微服务框架,你用过吗?相关的知识,希望对你有一定的参考价值。

最近有群友问,.NET有哪些微服务框架?.NET的微服务框架还真不多,一般企业都会自己搭建微服务框架,或者基于其它框架搭建微服务(比如abp)。本文将介绍几种微服务框架,供大家学习参考。

一、Service Fabric

简介:

Service Fabric 是一个微服务框架,它由微软开发并托管在 Azure 上。它提供了一种分布式系统的方式,允许开发人员在云、本地和边缘环境中构建高可用性、可扩展的服务。Service Fabric 支持多种语言和平台,如 .NET、Java、Node.js 和 Docker。

特征:

1、可扩展性和高可用性

Service Fabric是为构建可扩展、高可用性和可靠的分布式系统而设计的。它提供了自动化容错、负载均衡、故障转移和自动缩放等功能,可以帮助应用程序处理大量请求,并能够根据需求自动调整资源。

2、支持多种编程语言和平台

Service Fabric支持多种编程语言和平台,包括.NET、Java、Node.js、Python和C++等。开发人员可以使用他们熟悉的编程语言和框架来开发微服务应用程序。

3、灵活的部署选项

Service Fabric提供了多种部署选项,包括在云、本地和边缘环境中运行应用程序。它还支持容器化应用程序,可以帮助开发人员在不同的平台和环境中轻松部署应用程序。

4、内置的监控和诊断工具

Service Fabric提供了内置的监控和诊断工具,可以帮助开发人员快速识别和解决应用程序中的问题。它提供了实时指标、日志记录、故障分析和自动缩放等功能,可以帮助开发人员了解应用程序的状态和性能。

5、适用于大规模系统

Service Fabric是为构建大规模分布式系统而设计的。它可以处理数千个节点和数百万个容器的大型系统,并具有高可用性和可靠性。

官方链接:docs.microsoft.com/en-us/azure/service-fabric/

二、Dapr

简介:

Dapr(Distributed Application Runtime)是一个跨语言、开源的微服务框架,它可以在任何地方运行,无论是云、边缘还是本地环境。Dapr 提供了一组可插拔的构建块和 API,用于处理常见的微服务任务,如状态管理、消息传递、服务发现、故障转移和安全性。

特征:

1、语言无关性

Dapr是与语言无关的,可以与任何编程语言和框架一起使用。它提供了与语言无关的API和SDK,可以让开发人员使用自己熟悉的编程语言和框架来构建微服务应用程序。

2、通用构建块

Dapr提供了一组通用的构建块,包括状态管理、消息传递、事件处理、服务调用和密码管理等。这些构建块可以轻松地集成到微服务应用程序中,让开发人员专注于业务逻辑的实现,而不用担心底层的复杂性。

3、可插拔性

Dapr是可插拔的,可以与任何基础设施和服务一起使用。它提供了与Kubernetes、Azure、AWS、GCP和Consul等平台和服务的集成,可以帮助开发人员轻松地在不同的环境中部署应用程序。

4、安全性

Dapr提供了一组安全性特性,包括加密、认证和授权等。它还提供了安全性的最佳实践,可以帮助开发人员构建安全的微服务应用程序。

5、开源

Dapr是一个完全开源的微服务框架,由Microsoft、Alibaba和其他公司共同开发和维护。它的代码托管在GitHub上,并且拥有一个活跃的社区,可以帮助开发人员解决问题和提供反馈。

官方链接:dapr.io

三、Steeltoe

简介:

Steeltoe 是一个 .NET 微服务框架,它是 Spring Cloud 的 .NET 版本。它提供了一种在 .NET 平台上实现微服务架构的方式,同时提供了对常用云服务的集成,如 Netflix Eureka、Spring Cloud Config 和 Zipkin。Steeltoe 还支持在 .NET Core 和 .NET Framework 上运行。

特征:

1、云原生应用支持

Steeltoe提供了一组用于构建云原生应用程序的工具和库,可以轻松地在.NET应用程序中集成云服务,如服务发现、负载均衡、配置管理、追踪和监控等。这些工具和库与Spring Cloud、Netflix OSS和HashiCorp Consul等云原生应用程序框架兼容。

2、可插拔性

Steeltoe是可插拔的,可以与任何.NET应用程序一起使用。它提供了一组通用的构建块,包括服务发现、负载均衡、配置管理和追踪等。这些构建块可以轻松地集成到.NET应用程序中,让开发人员专注于业务逻辑的实现,而不用担心底层的复杂性。

3、安全性

Steeltoe提供了一组安全性特性,包括加密、认证和授权等。它还提供了安全性的最佳实践,可以帮助开发人员构建安全的.NET应用程序。

4、开源

Steeltoe是一个完全开源的.NET微服务框架,由Pivotal公司开发和维护。它的代码托管在GitHub上,并且拥有一个活跃的社区,可以帮助开发人员解决问题和提供反馈。

官方链接:steeltoe.io

四、MASA Framework

简介:

是.NET的下一代微服务开发框架,提供了基于Dapr的云原生最佳实践,能够快速实现分布式、微服务、DDD,SaaS等现代应用开发。是国产微服务框架。

特征:

1、原生支持Dapr

原生支持Dapr,且允许将Dapr替换成传统通信方式

2、架构不限,单体应用、SOA、微服务都支持

3、学习成本低

支持.Net原生框架,降低学习负担,除特定领域必须引入的概念,坚持不造新轮子

4、生态丰富

丰富的生态支持,除了框架以外还有组件库、权限中心、配置中心、故障排查中心、报警中心等一系列产品

官方链接:docs.masastack.com/framework/concepts/overview

版权声明:本文来源于网友收集或网友供稿,仅供学习交流之用,如果有侵权,请转告小编或者留言,本公众号立即删除。


来源公众号:DotNet开发跳槽

你还记得几个腾讯的开源项目,这十个你用过吗

前言

腾讯开源了许多非常有价值的项目,下面我们一起来看看腾讯10大开源项目有哪些

1、Android 热修复框架 Tinker

Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件

它主要包括以下几个部分:

gradle编译插件: tinker-patch-gradle-plugin

核心sdk库: tinker-android-lib

非gradle编译用户的命令行版本: tinker-patch-cli.jar

◆ 地址:(见文末)

2、微信客户端跨平台组件 Mars

Mars 是微信官方的终端基础组件,目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。主要包括以下几个部分:

comm:可以独立使用的公共库,包括socket,线程,消息队列,协程等

Xlog软件:日志组件,可靠性高,高性能

SDT:网络诊断组件

STN:信令分发网络模块,也是Mars最主要的部分

◆ 地址:(见文末)

3、小程序组件化开发框架 wepy

WePY 是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化,Promise,Async Functions的引入都是为了能让开发小程序项目变得更加简单,高效同时WePY也是一款成长中的框架,大量吸收借鉴了一些优化前端工具以及框架的设计理念和思想。如果WePY有不足地方,或者你有更好的想法,欢迎提交ISSUE或者PR

特性:

类Vue开发风格

支持自定义组件开发

支持引入NPM包

支持Promise

支持ES2015+特性,如Async Functions

支持多种编译器,Less/Sass/Stylus、Babel/Typescript、Pug

支持多种插件处理,文件压缩,图片压缩,内容替换等

支持 Sourcemap,ESLint等

小程序细节优化,如请求列队,事件优化等

◆ 地址:(见文末)

4、轻量级高性能的 Hybrid 框架 VasSonic

VasSonic是腾讯QQ会员 VAS团队研发的一个轻量级的高性能的Hybrid框架,专注于提升页面首屏加载速度,完美支持静态直出页面和动态直出页面,兼容离线包等方案

接入VasSonic后首次打开可以在初始化APP的时候并行请求页面资源,并且具备边加载边渲染的能力。非首次打开时,APP可以快速加载上次打开动态缓存在本地的页面资源,然后动态刷新页面。腾讯手机QQ通过VasSonic框架使得页面首屏耗时平均低于1S以下

◆ 地址:(见文末)

5、微信团队前端开发工具 WeFlow

这是一个高效、强大、跨平台(macOS & Win)的前端工具,核心基于 tmt-workflow 工作流

◆ 地址:(见文末)

6、移动数据库框架 WCDB

WCDB是一个高效、完整、易用的移动数据库框架,基于SQLCipher,支持iOS, macOS和Android

基本特性:

易用,WCDB支持一句代码即可将数据取出并组合为object

高效,WCDB通过框架层和sqlcipher源码优化,使其更高效的表现

完整,WCDB覆盖了数据库相关各种场景的所需功能

◆ 地址:(见文末)

7、基于参数服务器理念的机器学习框架 Angel

Angel 是一个基于参数服务器(Parameter Server)理念开发的高性能分布式机器学习平台,它基于腾讯内部的海量数据进行了反复的调优,并具有广泛的适用性和稳定性,模型维度越高,优势越明显。Angel 由腾讯和北京大学联合开发,兼顾了工业界的高可用性和学术界的创新性,Angel基于Java和Scala开发,能在社区的Yarn上直接调度运行,并基于PS Service,支持Spark on Angel,未来将会支持图计算和深度学习框架集成

◆ 地址:(见文末)

8、自动内存泄漏检测工具 MLeaksFinder

MLeaksFinder 是腾讯开源的 iOS 平台的自动内存泄漏检测工具,引进MLeaksFinder后,就可以在日常的开发,调试业务逻辑的过程中自动地发现并警告内存泄漏。具有如下特性:

自动检测内存泄漏和释放不及时的场景

构建泄漏对象相对于 ViewContrller 的引用链以帮助开发者定位问题

不侵入业务逻辑,引入即生效,无需修改任何代码或引入头文件

◆ 地址:(见文末)

9、UI 库 WeUI

WeUI是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库。WeUI 是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、toast、article、icon等各式元素

◆ 地址:(见文末)

10、分布式后台服务引擎 MSEC

毫秒服务引擎(MSEC)由腾讯 QQ 团队开源。它是一个后端 DEV&OPS 引擎,包括RPC,名称查找,负载平衡,监控,发布和容量管理。毫秒服务引擎特性:

模块间访问采用RPC的方式,开发者不用关注网络与报文格式,像写单机程序一样开发分布式服务

负载自动均衡与容错,对于单机故障、局部网络波动等状况自动应对,服务高可用性

支持 C/C++/java/PHP 语言,如果选择 C/C++ 语言,支持协程,兼具开发和运行效率

Web 化的管理界面

简易部署,需要复杂部署的服务器都采用docker镜像的方式安装

相比使用其他开源组件拼凑起来的解决方案,毫秒服务引擎更加的体系化,对团队的规范更加到位

源码地址需要的同学扫描下方二维码,即可无偿领取完整代码和开发笔记,备注:csdn

以上是关于.NET几种微服务框架,你用过吗?的主要内容,如果未能解决你的问题,请参考以下文章

前端框架:Vue.js 框架全面总结!目前最完整的前端框架你用过吗?

Web前端开发者,不可不知的几个前端框架,你用过吗?

php实现事件监听与触发的方法,你用过吗?

你还记得几个腾讯的开源项目,这十个你用过吗

Ubuntu是啥东西/ 你用过吗? 好用吗? 怎么用啊 ?

Arch Linux诞生20年了,你用过吗?