摘要:
阅读目录背景虚拟桶(virtual buckets)实现总结背景关于数据分片讨论最多的是一致性hash,然而它并不是分布式设计中的银弹百试百灵。 在数据稳定性要求比较高的场景下它的缺点是不能容忍的。比如在Redis分布式缓存设计中,使用一致性Hash进行key分片存储,通过虚拟节点最大化降低添加或删... 阅读全文
摘要:
关于Redis高可用方案,看到较多的是keepalived、zookeeper方案。 keepalived是主备模式,意味着总有一台浪费着。zookeeper工作量成本偏高。 本文主要介绍下使用官方sentinel做redis高可用方案的设计。阅读目录:Redis Sentinel故障转移消息接收的... 阅读全文
摘要:
MapReduce近几年比较热的分布式计算编程模型,以C#为例简单介绍下MapReduce分布式计算。阅读目录背景 Map实现 Reduce实现支持分布式总结背景某平行世界程序猿小张接到Boss一项任务,统计用户反馈内容中的单词出现次数,以便分析用户主要习惯。文本如下: const s... 阅读全文
摘要:
阅读目录:使用场景算法原理虚拟节点代码示例使用场景以Redis为例,当系统需要缓存的内容超过单机内存大小时,例如要缓存100G数据,单机内存仅有16G时。这时候就需要考虑进行缓存数据分片,也即是把100G的数据拆分成多块小于单机内存的数据。例如以10G为单位,拆分10份,存储到多台机器节点上。 但是... 阅读全文
摘要:
阅读目录发布订阅模型 Redis中的发布订阅客户端编程示例0.3版本Hredis发布订阅模型在应用级其作用是为了减少依赖关系,通常也叫观察者模式。主要是把耦合点单独抽离出来作为第三方,隔离易变化的发送方和接收方。发送方:只负责向第三方发送消息。(杂志社把读者杂志交给邮局)接收方:被动接收消息。(1:... 阅读全文
摘要:
接上篇c#实现redis客户端(一),重新整理些了下。阅读目录:项目说明Hredis设计图单元测试场景总结项目说明背景:因为有地方要用,而又没找到对sentinel良好支持的Net客户端,所以就简单重写了个。目标:尽可能的简单,轻量级,不进行过度的封装,使用方便。代码说明: 1. 与Redis... 阅读全文
摘要:
这是楼主在知乎的回答,博客园补发下。0:Launchy 神器级别。桌面再不会出现快捷图标了。比如快速打开群聊天:1:Everything 神器级别。秒全盘搜索:2:vimium 仙器级别。 几乎不用鼠标:3:clover 仙器级别。 再也不用担心N个窗口了:4:MarkdowdPad2 仙器级别。 ... 阅读全文
摘要:
接上篇探索c#之尾递归编译器优化累加器传递模式(APS)CPS函数CPS变换CPS尾递归总结累加器传递模式(Accumulator passing style)尾递归优化在于使堆栈可以不用保存上一次的返回地址/状态值,从而把递归函数当成一个普通的函数调用。递归实际上是依赖上次的值,去求下次的值。 如... 阅读全文
摘要:
1、探索c#之函数创建和闭包2、探索c#之尾递归编译器优化3、探索c#之不可变数据类型4、 探索c#之递归APS和CPS5、探索c#之一致性Hash详解6、探索c#之微型MapReduce7、探索c#之虚拟桶分片8、探索c#之布隆过滤器(Bloom filter)9、探索c#之Async、Await... 阅读全文
摘要:
阅读目录:不可变对象自定义不可变集合Net提供的不可变集合不可变优点不可变对象缺点不可变对象不可变(immutable): 即对象一旦被创建初始化后,它们的值就不能被改变,之后的每次改变都会产生一个新对象。var str="mushroomsir";str.Substring(0, 6)c#中的st... 阅读全文
摘要:
视频PPT代码已共享在百度云盘
携程在SOA架构的探索.pdf
携程在SOA架构的探索.mp3
08年支付宝的SOA实践(程立)_标清.flv
HSF介绍.pptx
淘宝分布式服务框架HSF.pdf
HSF&ConfigServer.pptx
淘宝支付宝的SOA实践.pptx 阅读全文
摘要:
C#/64位/Release是有JIT编译器进行尾递归优化的(非C#编译器优化)。
C#/32位或C#/Debug模式中JIT是不进行优化的。
简单的尾递归优化成while循环,
复杂的尾递归,F#编译会生成IL指令Tail进行优化 阅读全文
摘要:
阅读目录:动态创建函数匿名函数不足之处理解c#中的闭包闭包的优点动态创建函数大多数同学,都或多或少的使用过。回顾下c#中动态创建函数的进化:C# 1.0中: public delegate string DynamicFunction(string name); public static Dy... 阅读全文
摘要:
阅读目录:
现有系统
新架构
2.1 逻辑架构图
2.2 解释说明
系统实施
3.1 SOA管理中心
3.2 发布服务
3.3 订阅服务
3.4 采蘑菇示例
设计目标
4.1 尽可能少的侵入
4.2 服务自治&&水平扩展
4.3 系统升级降级
常见问题
5.1 ClientApi VS ServiceApi
5.2 聚合服务
5.3 服务分级
总结心得 阅读全文
摘要:
阅读目录 1. 介绍 2. 基本使用 3. 自动分割映射(Flattening) 4. 自定义字段映射(Projection) 5. 验证配置(Configuration validation) 介绍 AutoMapper是一个轻量级的类库,主要功能是把一个对象转换成另外一个对象,而避免我们每次都手 阅读全文