2016年6月15日
摘要: 概述 Web有三个核心概念:资源(Resource)、URI(UniformResource Identifer,统一资源标识符)、表示(Representation).一个资源由一个URI进行标识。表示是从资源返回的数据,其格式被称为媒体类型。 资源 任何带有URI标识的东西都是资源。 资源并不只 阅读全文
posted @ 2016-06-15 16:37 heoo 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 1. 自定义QuartZ的并发锁 1 using System; 2 using System.Threading; 3 using log4net; 4 using Quartz; 5 6 namespace HK.Gramma.Business 7 { 8 public class FirstT 阅读全文
posted @ 2016-06-15 16:34 heoo 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: 主线程调用异步服务后,通过设定主线程的等待时间来进行超时处理。 Demo如下: AsyncTask.cs 1 using System; 2 using System.Threading.Tasks; 3 using MyCSharp.ExternalService; 4 5 namespace M 阅读全文
posted @ 2016-06-15 16:32 heoo 阅读(1403) 评论(0) 推荐(0) 编辑
摘要: 原理 与同步函数相比,CLR在执行异步函数时有几个不同的特点: 1. 并非一次完成,而且分多次完成 2. 并非由同一个线程完成,而是线程池每次动态分配一个线程来处理; 结合这些特点,C#编译器将异步函数转换为一个状态机结构。这种结构能挂起和恢复。它的执行方式是一种工作流的方式。 执行步骤 1. CL 阅读全文
posted @ 2016-06-15 16:27 heoo 阅读(1467) 评论(0) 推荐(2) 编辑
摘要: 同步I/O操作 执行步骤 1. 程序通过FileStream对象来打开磁盘文件,然后调用Read方法(内部调用Win32 ReadFile函数),从文件中读取数据。这时,线程从托管代码转变为本机/用户模式代码。 2. Win32 ReadFile函数生成一个I/O请求包(IRP),并传递给Windo 阅读全文
posted @ 2016-06-15 16:27 heoo 阅读(1476) 评论(0) 推荐(1) 编辑
摘要: 用户手动选择 通过在主站首页入口提供不同线路,不同服务器链接的方式,来实现负载均衡。在一些提供下载业务的网站中比较常见,如:华军软件园。 DNS轮询 大多域名注册商都支持对同一主机名添加多条A记录,这就是DNS轮询。DNS服务器将解析请求按照A记录的顺序,随机分配到不同的IP上,这样就完成了简单的负 阅读全文
posted @ 2016-06-15 16:21 heoo 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 定义 BASE是BasicallyAvailable(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,是由来自eBay的架构师Dan Pritchett提出的。 BASE是对CAP中一致性和可用性权衡的结果,其来源于大规模互联网系统 阅读全文
posted @ 2016-06-15 16:20 heoo 阅读(744) 评论(0) 推荐(0) 编辑
摘要: 分片是分布式存储的突出特点。必要性 如果Redis集群的每个数据库都存储集群中的所有数据,那么集群的总数据存储量受限于可用存储内存最小的数据库节点,形成木桶效应。由于Redis中的 所有数据都基于内存存储,这一问题就尤为突出了,尤其是当使用Redis做持久化存储服务时。从容量上,单个Redis服务器 阅读全文
posted @ 2016-06-15 16:20 heoo 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: 背景 随着分布式事务的出现,传统的单机事务模型(ACID)已经无法胜任,尤其是对于一个高访问量、高并发的互联网分布式系统来说。 如果我们要求严格一致性,很可能就需要牺牲掉系统的可用性,反之亦然。但两者都是一个软件系统的刚需。 如何构建一个兼顾可用性和一致性的分布式系统成为了无数工程师探讨的难题。 C 阅读全文
posted @ 2016-06-15 16:19 heoo 阅读(967) 评论(0) 推荐(0) 编辑
摘要:  Moles与Moq(Rhino.Mocks)比较 作用范围 Moq与Rhino.Mocks这类的Mock是对Interface或AbstractClass做Mock, 而Moles是Mock整个CLR(Common Language Runtime),破除Moq等Mock套件的限制,不仅可以对 阅读全文
posted @ 2016-06-15 16:18 heoo 阅读(336) 评论(0) 推荐(0) 编辑