上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 28 下一页
  2017年7月23日
摘要: 这个系统总结了在搭建大型网站的过程中,对于架构的搭建,以及选择支撑架构实现的中间件的相关经验。 大型网站架构演进(1)单机网站 大型网站架构演进(2)数据库与应用服务器分离 大型网站架构演进(3)使用缓存改善网站性能 大型网站架构演进(4)使用应用服务器集群 大型网站架构演进(5)数据库读写分离 大 阅读全文
posted @ 2017-07-23 15:36 永远的麦子 阅读(1149) 评论(5) 推荐(0)
摘要: 随着用户量和并发数的增加,单台服务器出现了性能问题,此时必须要将应用程序和数据库分离,分离后整个网站变成三台服务器了:应用服务器(或称web服务器),数据库服务器和文件服务器。这三台服务器对服务器的配置要求是不一样的,应用服务器需要处理大量的业务逻辑,所以需要更快更强大的CPU,数据库服务器需要快速 阅读全文
posted @ 2017-07-23 15:30 永远的麦子 阅读(2291) 评论(0) 推荐(0)
摘要: 初始阶段的网站一般访问量都很小(QPS<500),此时只需要一台服务器就足够,应用程序,数据库和文件都放在这一台服务器上。如果是.net的话,通常操作系统使用windows server,应用程序开发使用asp.net,然后应用程序部署在IIS上,数据库使用sql server。 单机网站 单体单库 阅读全文
posted @ 2017-07-23 15:04 永远的麦子 阅读(1092) 评论(0) 推荐(0)
  2017年7月11日
摘要: 我们在基于asp.net开发web程序,基本上都是发布部署到安装了IIS的windows服务器上,然后只要用户能够访问就算任务完成了,但是很少静下心来想想这背后到底发生了什么,那么这个系列就来总结下asp.net的基础原理。 asp.net是什么 我们做web开发的可以说时时刻刻都在跟asp.net 阅读全文
posted @ 2017-07-11 17:41 永远的麦子 阅读(5499) 评论(2) 推荐(2)
  2017年7月7日
摘要: 这里汇总了.net基础的相关文章,方便查阅! .net基础 参考资料 http://www.cnblogs.com/JeffreyZhao/archive/2009/08/05/from-delegate-to-others.html http://www.cnblogs.com/JimmyZhan 阅读全文
posted @ 2017-07-07 18:03 永远的麦子 阅读(1190) 评论(0) 推荐(0)
  2017年7月6日
摘要: 在发布asp.net站点和windows服务项目时,有的时候这样的需求:msbuild编译之后发布到服务器指定目录时要排除指定文件,比如通过jenkins构建时,不希望覆盖原来的Web.config和App.config,那么该如何排除呢? web站点项目 比如不希望发布Web.config文件,有 阅读全文
posted @ 2017-07-06 18:40 永远的麦子 阅读(722) 评论(0) 推荐(0)
  2017年7月4日
摘要: 我们在开发需求的时候,可能很少关注到垃圾回收,因为我们绝大多数的时候都是使用的托管资源,托管资源的内存回收.net已经帮我们做了,但是.net的内存回收不是实时的,所以我们还是要关注下.net的垃圾回收。 什么是GC GC即Garbage Collection,用一句话总结就是:.net内置的一种垃 阅读全文
posted @ 2017-07-04 19:13 永远的麦子 阅读(1285) 评论(1) 推荐(0)
  2017年7月1日
摘要: 多线程使用过程中,除了线程同步的问题要考虑外,异常处理也是经常要面对的事情。 默认主线程捕获不到异步线程的异常 如下代码: 1 namespace ConsoleApplication29 2 { 3 class Program 4 { 5 static void Main(string[] arg 阅读全文
posted @ 2017-07-01 18:29 永远的麦子 阅读(7610) 评论(0) 推荐(0)
摘要: 使用多线程很容易,但是如果多个线程同时访问一个共享资源时而不加以控制,就会导致数据损坏。所以多线程并发时,必须要考虑线程同步(或称线程安全)的问题。 什么是线程同步 多个线程同时访问共享资源时,使多个线程顺序(串行)访问共享资源的机制。 注意: 1,共享资源,比如全局变量和静态变量。 2,访问,一般 阅读全文
posted @ 2017-07-01 17:28 永远的麦子 阅读(910) 评论(0) 推荐(1)
  2017年6月23日
摘要: .net 4.0的Task已经让我们可以非常简单地使用多线程,并且可以有返回值,也可以支持线程的取消等操作,可谓已经很强大了。但.net 4.5为我们带来了async&await,使得实现多线程的写法更简单,更优美,更符合线性思维。 下面通过一个例子来演示通过Task和async&await分别如何 阅读全文
posted @ 2017-06-23 19:03 永远的麦子 阅读(953) 评论(0) 推荐(1)
摘要: 使用线程池使得创建线程已经很简单了,但是使用线程池不支持线程的取消,完成和失败通知等交互操作,为了解决这些问题,.net 4.0带来了TPL(Task Parallel Library)任务并行库,下面就来总结下Task的使用。 创建和运行任务 在.net 4.0下使用task创建一个线程非常简单, 阅读全文
posted @ 2017-06-23 17:31 永远的麦子 阅读(1850) 评论(0) 推荐(0)
  2017年6月20日
摘要: 使用Thread类已经可以创建并启动线程了,但是随着开启的线程越来越多,线程的创建和终止都需要手动操作,非常繁琐,另一个问题是,开启更多新的线程但是没有用的线程没有及时得到终止的时候,会占用越来越多的系统资源,影响性能。 所以,.net为我们引入了ThreadPool(线程池),我们只需要把要执行的 阅读全文
posted @ 2017-06-20 17:45 永远的麦子 阅读(1031) 评论(0) 推荐(0)
摘要: 我们先从最基础的Thread说起。 创建并启动线程 创建并启动一个线程,如下代码: 1 namespace ConsoleApplication17 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 var thread 阅读全文
posted @ 2017-06-20 17:05 永远的麦子 阅读(683) 评论(0) 推荐(2)
摘要: 多线程在项目开发过程中非常非常重要,这个系列就来详细总结一下,首先认识一下多线程。 windows为什么要支持多线程 计算机的早期时代,操作系统没有线程的概念,整个系统只运行着一个执行线程,其中包含操作系统代码和应用程序代码。只用一个执行线程的问题在于,长时间运行的任务会阻止其他任务的执行。例如16 阅读全文
posted @ 2017-06-20 15:36 永远的麦子 阅读(1163) 评论(2) 推荐(2)
摘要: 泛型是.net 2.0就有的特性,泛型在我们的平常的开发过程中使用得也非常多,为了更深刻地理解泛型,这篇文章就来总结一下。 什么是泛型 可以用下面2点来概括: 1,首先泛型也是一种类型(可以通过IL代码看出来)。 2,泛型提供了类型参数化的能力,允许用不同的类型进行实例化,可以简单地理解为:泛型是类 阅读全文
posted @ 2017-06-20 11:46 永远的麦子 阅读(938) 评论(0) 推荐(2)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 28 下一页