摘要:
异步IO
非阻塞式同步IO
基于回调的异步IO并发 阅读全文
摘要:
客户端发送数据
通过广域网局域网发送到服务端机器网卡缓冲区上
网卡驱动对CPU发送中断指令
CPU把数据拷贝到内核缓冲区
CPU再把内核缓冲区的数据拷贝用户缓冲区,上面的receive字节数组。 阅读全文
摘要:
阅读目录:概述算法介绍清理线程获取、插入、删除总结概述最近在看storm,发现其中的TimeCacheMap算法设计颇为高效,就简单分享介绍下。 思考一下如果需要一个带过期淘汰的缓存容器,我们通常会使用定时器或线程去扫描容器,以便判断是否过期从而删除。但这样性能并不友好,在数据量较大时O(n)检查是... 阅读全文
摘要:
最近在看storm的源码,就学习分享下clojure语法。阅读目录:概述变量运算符流程控制总结概述clojure是一种运行在JVM上的Lisp方言,属于函数式编程范式,它和java可以方便的互相调用,这样开发的程序可以很好的结合java和clojure的优点(storm),这跟Net中C#和F#的角... 阅读全文
摘要:
这是上月在公司内部的一次分享,现把PPT及交流内容整理成博客。
阅读目录:
高可用
数据同步
分布式
分布式集群时代
总结 阅读全文
摘要:
安全性: 互斥,在任何时候,只有一个客户端能持有锁。
活跃性A:没有死锁,即使客户端在持有锁的时候崩溃,最后也会有其他客户端能获得锁,超时机制。
活跃性B:故障容忍,只有大多数Redis节点时存活的,客户端仍可以获得锁和释放锁。 阅读全文
摘要:
性能相关的数据指标
内存使用率used_memory
命令处理总数total_commands_processed
延迟时间
内存碎片率
回收key 阅读全文
摘要:
把静态成员导入,但扩展方法比较特殊、排除在外。这时static是c# 6.0的新功能。
等同于把扩展方法的命名空间导入,所以在集合上可以打点可以调扩展方法。这是之前就有的功能,而不是把扩展方法转成成单纯的静态方法导入使用。 阅读全文
摘要:
阅读目录: 介绍 为了防止网站意外暴增的流量比如活动、秒杀、攻击等,导致整个系统瘫痪,在前后端接口服务处进行流量限制是非常有必要的。本篇主要介绍下Net限流框架WebApiThrottle的使用。 WebApiThrottle是一个专门为webApi限制请求频率而设计的,支持寄宿OWIN上的中间件的 阅读全文
摘要:
比如有些数据需要通过日期范围查询,这是个很常见的场景。
使用Sorted Sets当存储的数据结构,添加key时把日期进行简单的转码。
一年有365天,在score中预留三位来存储天份,通过DayOfYear计算出一年第多少天: 阅读全文
摘要:
阅读目录:介绍进程缓存通信方式速度对比总结介绍之前有童鞋问到关于首次为空的问题,这里简单补充下:一般来说并发量小、缓存数据量小的网站让用户自行触发页面让其缓存即可。大点网站都会多台部署,用负载均衡路由。常见的策略是在每台机器发布应用时,节点从负载均衡节点集合中移除,发布结束后,首次访问通过人工或自动... 阅读全文
摘要:
阅读目录:基本介绍使用配置部署实例面板属性基本介绍Opserver是Stack Exchange的一个开源监控系统,基于Net、MVC开发,所以Net程序员可以轻松基于它二次开发。它主要监控:serversSQL clusters/instancesrediselastic searchexcept... 阅读全文
摘要:
举个例子,楼主逛完街要回张江玉兰香苑,如果从人民广场做公交车回去,要经历非常多站: 阅读全文
摘要:
Async,主线程A逻辑->异步任务线程B逻辑->主线程C逻辑。
注意:这3个步骤是有可能会使用同一个线程的,也可能会使用2个,甚至3个线程。
1. net4.5的async,抛去语法糖就是Net4.0的Task+状态机。
2. net4.0的Task, 退化到3.5即是(Thread、ThreadPool)+实现的等待、取消等API操作。 阅读全文
摘要:
提高缓存命中率,使用计数改进Bloom filter。 阅读全文