NoSQL基于.Net平台常用的组件和框架整理

转载自:http://www.cnblogs.com/hgmyz/p/5313983.html

按照转载举办续

 

RPC框架:

RPC:远程过程调用协议,它是同一栽通过网自远程统计机程序上要服务,而无待了然底层网络技术的商。RPC探讨而某些传输协议的是,如TCP或UDP,为通信程序中携消息数据。

Thrift:是一个软件框架,用来拓展可扩展且过语言的劳动之开支。

gPRC:大凡Google发表的RPC开源软件,基于最新的HTTP2.0合计,并补助大的无数编程语言。

Wildfly:大凡JBossAS改名后底JBoss应用服务器,实现了完全的JavaEE规范。

Dubbo:凡Alibaba开源的一个颇为成员的RPC框架

 

 

分布式缓存框架:

Microsoft Velocity:微软自己分布式缓存服务框架。

Memcahed:一模拟分布式的高速缓存系统,近年来给很多网站使用以提升网站的访问速度。

Redis:是一个胜过性能的KV数据库。 它的起很相当程度上了Memcached在某些地点的紧缺。

EnyimMemcached:访问Memcached最精美的.NET客户端,集成不错的分布式均衡算法。

 

开源的.NET系统推荐:

OXITE:微软ASP.NET MVC案例演示框架。

PetShop:微软ASP.NET宠物商店。

Orchard:外国一个MVC开源的博客系统。

SSCLI:微软当NET Framework 2.0秋之开源代码。

DasBlog:外国一个遵照ASP.NET的博客系统。

BlogEngine.NET:国外相同缓缓免费开源之博客系统。

Dotnetnuke.NET:一套好卓绝之基于ASP.NET的开源门户网站程序。

Discuz.NET:国内开源之论坛社区系统。

nopCommerce和Aspxcommerce:外国相同效仿高质量的开源B2C网站系统。

JumboTCMS和DTCMS:国内少数款款开源的网站管理体系:

 

日记记录非凡处理:

Log4Net.dll:轻量级的免费开源.NET日志记录框架。

Enterprise Library Log Application Black:微软公司库日志记录。

Elmah:实现最盛的ASP.NET应用很日志记录框架。

NLog:是一个简短利落的日志记录类库,性能于Log4Net高,使用以及保安难度小。

 

NoSQL数据库:

Mongodb:分布式文件存储数据库。

Membase:家族的一个初的重量级的分子。

 

电动任务调度框架

Quartz.NET:开源之功课调度和活动任务框架。

Topshelf:另一样种植创制Windows服务的开源框架

 

借助注入IOC容器框架:

Unity:微软patterns&practicest团队开支之IOC看重注入框架,扶助AOP横切关注点。

MEF(Managed Extensibility
Framework):是一个为此来放展.NET应用程序的框架,可开插件系统。

Spring.NET:依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。

Autofac:最盛行的借助注入和IOC框架,轻量且大性能,对品种代码几乎无其他侵入性。

PostSharp:实现静态AOP横切关注点,使用简单,效能强大,对目的拦截的不二法门无需另移。

Ninject:基于.NET轻量级开源之指注入IOC框架

 

ORM框架:

EF(ADO.NET Entity Framework):微软遵照ADO.NET开发的ORM框架。

Nhibernate:面向.NET环境的轻量级的ORM框架。

SqlMapper.cs:用于小品种的通用的C#数据库访问类。

AutoMapper:流行的靶子映射框架,可削减大气硬编码,很精密灵活,性能表现为不过承受。

SubSonic:优良的开源之ORM映射框架,同时提供合本人需要的代码生成器。

FluentData:开源的基于Fluent API的链式查询ORM轻量级框架。

Dapper:轻量级高性能基于EMIT生成的ORM框架。

EmitMapper:性能比高的ORM框架,运行时通过EMIT动态生成IL代码,并非以反射机制。

 

格式和数据类型转换

Newtonsoft.Json:近来.NET出中极风靡的JSON体系化库,为新本子的WebApi库提供基础。

System.JSON.dll:微软团结支付的JSON系列化组件(需要独自下载)

DataContractJsonSerializer 和
DataContractXmlSerializer
:微软在WCF中使用的系列化器。

JavaScriptSerializer:微软默认针对WEB开发者提供的JSON格式化器。

iTextSharp、PDFsharp 和 PDF.NET:通过.NET处理以及生成PDF文档的机件。

SharpZipLib.dll:免费开源的ZIP和GZIP文件解压缩组件。

Math.NET:强大的数学运算、微积分、解方程和正确运算。

DocX:不欲设置word软件,通过C#操作word文件。

SharpSerializer:开源XML和、二进制、JSON、压缩和优化框架。

 

照和动态语言

Clay dynamic:开源的动态语言dynamic框架为您形如javascript的方创造对象。

ExposedObject:在类的标通过动态语言dynamic的计访私有成员。

PrivateObject:微软单元测试框架中便在外部调用类内部私有成员的一个像样。

 

超过平台和运行时解决方案

MONO.NET:跨平台的.NET运行条件,让.NET跨平台运行成为可能。

DotGnu Portable.NET:类似于MONO.NET的跨平台运行时。

Phalanger:将PHP编译成.NET,可实现PHP与.NET互操作。

VMDotNet:中国移动飞信所使用了的.NET运行时。

Unity3D:微软着力援助之机遇C#暨JavaScript的跨平台游戏开发框架。

Cassini、IIS Express和Cassinidev:开源之ASP.NET执行环境。

Katana:微软基于OWIN规范落实之非IIS寄宿ASP.NET和MVC等。

IKVM.NET:基于.NET的JAVA虚拟机,让JAVA运行在.NET之上。

 

WEB开发同筹划

Jumony Core:基于.NET开发的HTML引擎。

Microsoft.mshtml.dll、Winista.HtmlParser.dll 和
HtmlAgilityPack.dll
:解析处理HTML文档的框架。

JavaScript.NET和ClearScript(微软产品):基于.NET开发的JavaScript引擎。

NCrawler:其HTML处理引擎htmlagilitypack的的开源网络爬虫软件。

AntiXSS:微软官预防跨站XSS脚本入侵攻击的开源类库,它经过白名单机制举办内容编码。

YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure
Compiler
:JavaScrip和CSS压缩器。

NancyFx:是一个不错的轻量级开源.NET
WEB框架。假若想迅速开个简易的WEB应用。

AspNetPager:国内知名的ASP.NET分页控件,帮助多分页格局。

NOPI.dll:导出Excel报表的插件(基于微软OpenXml实现)(nopi.css.dl通过css设置样式)

Enterprise Library:微软针对店家级以开发的最佳实践组件。

PowerCollections:外国一个牛人写的高等级开源集合。

 

走互联网与说总计

PushSharp:通过.NET向各个活动平台推送信息。

mono for android:用.NET语言开发安卓应用:

MonoTouch:用.NET语言开发IOS应用。

PhoneGap和AppCan:跨平台基于HTML5的运动开平台。

Cordova:PhoneGap贡献给Apache后的开源项目,是令PhoneGap的主导引擎。

 

网通信以及网络协议

SuperSocket:基于.NET轻量级的只是扩充的Socket开发框架。

SuperWebSocket:通过.NET实现TML5 WebSocket框架。

XProxy:扶助插件的底子代理程序集,内置NAT、加解密、反向、直接跟直接代理。

 

图片和图像处理框架

Paint.NET:基于.NET小巧灵活有力的图形处理开源项目。

Imagemagick.NET:用C#本着开源图像处理组件Imagemagick的卷入。

Skimpt:基于.NET开源的屏幕截图软件。

ImageGlue.NET:商业的图像处理组件,扶助之格式列了平等怪堆。

Sprite and Image Optimization
Framework
:微软CSS精灵,多图合成一摆大图和CSS样式。

 

桌面应用程序框架

DevExpress:一个世界有名的桌面应用程序UI控件库。

Prism:微软开的指向WPF和Silverlight的MVVM框架,通过功效模块化的盘算,来讲复杂的政工职能跟UI耦合性进行分离。

WPFToolkit 和 Fluent Ribbon Control
Suite
:开发近乎于Office风格的Ribbon菜单。

Hex:通过前端和nodejs技术开发桌面应用的框架,应用案例来:有道词典、有道云笔记。

nw.js:通过前端和nodejs技术开发桌面应用的框架。

electron:通过前端和nodejs技术开发桌面应用的框架,应用案例来:atom、visual
studio code、GitHub desktop。

CefSharp:基于cef(chromium embed
framework)的C#打包,是一个Google内核的韦布(Webb)rower控件,通过该控件可利之往日端技术拓展桌面应用的开支。

 

测试与特性评估方面

Faker.Net:方便生成大批量测试数据的框架。

Nunit:一个轻量级的单元测试框架。

Moq:相当流行的Mock框架,协理LINQ,灵活且大性能。

xUnit:比NUnit更好的单元测试框架,升级改进版的Nunit框架。

MiniProfiler和Glimpse:基于MVC的少数慢性性能事件监控框架。

 

事务以及分布式事务协理

KtmIntegration:一个支撑NTFS文件系统的政工开源类。

NET Transactional File
Manager
:对文件系统操作(复制、移动及去)参加工作匡助。

 

分词、全文检索和摸索引擎

Lucene.net:流行大性能的全文索引库,可用来为各个音信提供强劲的物色功用。

Lucene.Net.Analysis.PanGu:帮忙Lucene.Net最新版本的天神粤语分词扩充库。

 

数据印证组件整理

FluentValidation for .NET:基于LINQ表明式方法链Fluent接口验证组件。

Microsoft.Practices.EnterpriseLibrary.Validation.dll:微软集团库验证程序块。

CuttingEdge.Conditions:基于Fluent接口方法练接口的契约编程组件。

DotNetOpenAuth:让网站有协助OpenID、OAuth、InfoCard等身份申明的力量。

 

开源图表总结控件:

Visifire:一拟效果相当好之WPF图表控件,协理3D绘制、曲线、折线、扇形、环形和梯形。
SparrowToolkit:一仿照WPF图表控件集,帮助绘制动态曲线,可绘制示波器、CPU使用率和波。
DynamicDataDisplay:微软从头源之WPF动态曲线图,线图、气泡图和热力图。

 

可扩充信息队列框架:

Kafka

Kafka是一模一样种植分布式的,基于发表/订阅的信网。首要设计目标如下:
因时日复杂度为O(1)的措施提供信息持久化能力,即便对TB级以上数据吧可以保证常数时间复杂度的走访性能。
强吞吐率。尽管以十分廉价的商用机器上吧能够形成单机补助各秒100K条以上音信之传。
支撑Kafka
Server间的信息分区,及分布式消费,同时确保每个Partition内之音信顺序传输。
以援助离线数据处理以及实时数据处理。
Scale out:辅助在线水平扩张。
RabbitMQ
RabbitMQ是运用Erlang编写的一个开源的信队列,本身帮忙广大底说道:AMQP,XMPP,
SMTP,
STOMP,也正因如此,它可怜重量级,更合乎吃集团级的付出。同时实现了Broker构架,这表示音信在殡葬给客户端时先以着力队列排队。对路由,负载均衡或者数持久化都有大好的支撑。
Redis
Redis是一个依照Key-Value对的NoSQL数据库,开发珍爱好欢。尽管其是一个Key-Value数据库存储系统,但其自身辅助MQ效能,所以全好视作一个轻量级的队服务来以。对于RabbitMQ和Redis的入队暨出队操作,各执100万次于,每10万坏记录一致坏执行时。测试数据分为128Bytes、512Bytes、1K以及10K季只不等大小的数。实验声明:入队时,当数较时Redis的属性要高于RabbitMQ,而一旦数据大小超过了10K,Redis则慢的无法忍受;出队时,无论数额大小,Redis都见出卓殊好的特性,而RabbitMQ的出队性能则远低于Redis。
ZeroMQ
ZeroMQ号称太抢之音讯队列系统,尤其针对大吞吐量的要求情况。ZeroMQ可以落实RabbitMQ不善于的尖端/复杂的队列,但是开发人士需要团结成又技能框架,技术及之复杂度是针对即刻MQ可以运用成的挑战。ZeroMQ具有一个奇特之非中间件的格局,你免欲装以及周转一个音服务器或中件,因为您的应用程序将扮演这一个服务器角色。你才待简单的援ZeroMQ程序库,可以动用NuGet安装,然后您虽然好喜的在应用程序之间发送新闻了。但是ZeroMQ仅提供非持久性的行,也就是说要宕机,数据以会少。其中,Twitter的Storm
0.9.0在先的版中默认使用ZeroMQ作为数据流的传导(Storm从0.9版本起首以帮助ZeroMQ和Netty作为传输模块)。
ActiveMQ
ActiveMQ是Apache下的一个子项目。
类似于ZeroMQ,它会为代办与点对点之技能实现队列。同时类似于RabbitMQ,它少量代码就得长足地贯彻高级应用场景。
Kafka/Jafka
Kafka是Apache下的一个子项目,是一个大性能跨语言分布式发布/订阅信息队列系统,而Jafka是在Kafka之上孵化而来之,即Kafka的一个升级版。具有以下特征:快捷持久化,可以当O(1)的网出下展开音讯持久化;高吞吐,在同等贵一般的服务器上既好达标10W/s的吞吐速率;完全的分布式系统,Broker、Producer、Consumer都原生自动援助分布式,自动实现负载均衡;协助Hadoop数据交互加载,对于如Hadoop的同的日记数据与离线分析系列,但与此同时要求实时处理的限定,这是一个行之化解方案。Kafka通过Hadoop的并行加载机制统一了在线与离线的音讯处理。Apache
Kafka相对于ActiveMQ是一个非凡轻量级的信网,除了性能大好以外,如故一个干活好的分布式系统。

 

网站地图xml地图