百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

.NET(C 或者ASP.NET)的框架(一)(什么叫.net框架)

ccwgpt 2024-09-18 12:27 32 浏览 0 评论

自动任务调度框架

Quartz.NET:开源的作业调度和自动任务框架。

Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的架构。启动时,框架初始化一套worker线程,这套线程被调度器用来执行预定的作业。这就是Quartz怎样能并发运行多个作业的原理。Quartz依赖一套松耦合的线程池管理部件来管理线程环境。本篇文章中,我们会多次提到线程池管理,但Quartz里面的每个对象是可配置的或者是可定制的。

Topshelf:另一种创建Windows服务的开源框架.

其优势在于不需要创建windows服务,创建控制台程序就可以。便于调试。

分布式缓存框架:

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

“Velocity”是适用与所有数据源的一个高速、“scalable in-memory ”的缓存,通过使用该缓存,可以减少不必要的数据源访问请求,极大的提高应用程序的性能。通过使用分布试的缓存应用,可以满足吞吐量不断增长的应用程序请求。“Velocity”分布在高速缓存群集中,不需要大量人为干涉,从而减少了负载均衡的复杂度。

“Velocity”以服务形式运行在一个或多Windows服务上,这些服务即为缓存主服务,运行主缓存服务的主机称作缓存服务器。你仍然可以在安装过“Velocity”的主机上运行其它程序,如:Web服务。但一个主机只能安装一个“Velocity”实例。

缓存服务主机与数据源主机最好是在同一个域下,缓存主机服运行在Network Service账户下,缓存主服务上的各种操作用域下的高速缓存认证凭据。“Velocity”使用权限较低的网络服务帐户,可以有效的减少被恶意攻击造成的损害。

Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。

这是一套开放源代码软件,以BSD license授权协议发布。

用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Redis:是一个高性能的Key-Value数据库。 它的出现很大程度补偿了Memcached在某些方面的不足。

redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

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

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

常用的几个ORM框架:

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

该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来。

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

NHibernate是一个面向.

NET环境的对象/关系数据库映射工具。

对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。

ibatisnet: 是一个类似于 ORM 框架。

其实只是一个SQLMapper,它着重于 ORM 中M(Mapping),提供了较为灵活数据访问和面向对象特性。最初 IBatis 是由 Java 开发的,.Net 版本是从 Java 版本移植而来。

AutoMapper:流行的对象映射框架,可减少大量硬编码,很小巧灵活,性能表现也可接受。

你只需要从Nuget上下载AutoMapper的包到你的应用程序里,然后添加对AutoMapper命名空间的引用,然后你就可以在你的项目里随意使用它了。

SubSonic:优秀的开源的ORM映射框架,同时提供符合自身需要的代码生成器。

步骤一、创建使用的数据库、数据表与新建Web网站项目。

步骤二、添加SubSonic框架与配置文件。

步骤三、配置SubSonic代码生成器,生成相关类。

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

旨在比大型 ORM(full ORM)更加易用。FluentData 于(2012-02月)推出,它使用 fluent API 并支持 SQL Server、SQL Azure、Oracle 和 MYSQL。

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

轻量。只有一个文件(SqlMapper.cs),编译完成之后只有120k(好象是变胖了)

速度快。Dapper的速度接近与IDataReader,取列表的数据超过了DataTable。

支持多种数据库。Dapper可以在所有Ado.net Providers下工作,包括sqlite, sqlce, firebird, oracle, MySQL, PostgreSQL and SQL Server

可以映射一对一,一对多,多对多等多种关系。

性能高。通过Emit反射IDataReader的序列队列,来快速的得到和产生对象,性能不错。

支持FrameWork2.0,3.0,3.5,4.0,4.5

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

相关推荐

十分钟让你学会LNMP架构负载均衡(impala负载均衡)

业务架构、应用架构、数据架构和技术架构一、几个基本概念1、pv值pv值(pageviews):页面的浏览量概念:一个网站的所有页面,在一天内,被浏览的总次数。(大型网站通常是上千万的级别)2、u...

AGV仓储机器人调度系统架构(agv物流机器人)

系统架构层次划分采用分层模块化设计,分为以下五层:1.1用户接口层功能:提供人机交互界面(Web/桌面端),支持任务下发、实时监控、数据可视化和报警管理。模块:任务管理面板:接收订单(如拣货、...

远程热部署在美团的落地实践(远程热点是什么意思)

Sonic是美团内部研发设计的一款用于热部署的IDEA插件,本文其实现原理及落地的一些技术细节。在阅读本文之前,建议大家先熟悉一下Spring源码、SpringMVC源码、SpringBoot...

springboot搭建xxl-job(分布式任务调度系统)

一、部署xxl-job服务端下载xxl-job源码:https://gitee.com/xuxueli0323/xxl-job二、导入项目、创建xxl_job数据库、修改配置文件为自己的数据库三、启动...

大模型:使用vLLM和Ray分布式部署推理应用

一、vLLM:面向大模型的高效推理框架1.核心特点专为推理优化:专注于大模型(如GPT-3、LLaMA)的高吞吐量、低延迟推理。关键技术:PagedAttention:类似操作系统内存分页管理,将K...

国产开源之光【分布式工作流调度系统】:DolphinScheduler

DolphinScheduler是一个开源的分布式工作流调度系统,旨在帮助用户以可靠、高效和可扩展的方式管理和调度大规模的数据处理工作流。它支持以图形化方式定义和管理工作流,提供了丰富的调度功能和监控...

简单可靠高效的分布式任务队列系统

#记录我的2024#大家好,又见面了,我是GitHub精选君!背景介绍在系统访问量逐渐增大,高并发、分布式系统成为了企业技术架构升级的必由之路。在这样的背景下,异步任务队列扮演着至关重要的角色,...

虚拟服务器之间如何分布式运行?(虚拟服务器部署)

  在云计算和虚拟化技术快速发展的今天,传统“单机单任务”的服务器架构早已难以满足现代业务对高并发、高可用、弹性伸缩和容错容灾的严苛要求。分布式系统应运而生,并成为支撑各类互联网平台、企业信息系统和A...

一文掌握 XXL-Job 的 6 大核心组件

XXL-Job是一个分布式任务调度平台,其核心组件主要包括以下部分,各组件相互协作实现高效的任务调度与管理:1.调度注册中心(RegistryCenter)作用:负责管理调度器(Schedule...

京东大佬问我,SpringBoot中如何做延迟队列?单机与分布式如何做?

京东大佬问我,SpringBoot中如何做延迟队列?单机如何做?分布式如何做呢?并给出案例与代码分析。嗯,用户问的是在SpringBoot中如何实现延迟队列,单机和分布式环境下分别怎么做。这个问题其实...

企业级项目组件选型(一)分布式任务调度平台

官网地址:https://www.xuxueli.com/xxl-job/能力介绍架构图安全性为提升系统安全性,调度中心和执行器进行安全性校验,双方AccessToken匹配才允许通讯;调度中心和执...

python多进程的分布式任务调度应用场景及示例

多进程的分布式任务调度可以应用于以下场景:分布式爬虫:importmultiprocessingimportrequestsdefcrawl(url):response=re...

SpringBoot整合ElasticJob实现分布式任务调度

介绍ElasticJob是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目ElasticJob-Lite和ElasticJob-Cloud组成。它通过弹性调度、资源管控、...

分布式可视化 DAG 任务调度系统 Taier 的整体流程分析

Taier作为袋鼠云的开源项目之一,是一个分布式可视化的DAG任务调度系统。旨在降低ETL开发成本,提高大数据平台稳定性,让大数据开发人员可以在Taier直接进行业务逻辑的开发,而不用关...

SpringBoot任务调度:@Scheduled与TaskExecutor全面解析

一、任务调度基础概念1.1什么是任务调度任务调度是指按照预定的时间计划或特定条件自动执行任务的过程。在现代应用开发中,任务调度扮演着至关重要的角色,它使得开发者能够自动化处理周期性任务、定时任务和异...

取消回复欢迎 发表评论: