[源码分析] Dynomite 分布式存储引擎 之 DynoJedisClient(1) 目录 [源码分析] Dynomite 分布式存储引擎 之 DynoJedisClient(1) 0x00 摘要 0x01 背景概念 1.1 Amazon Dynamo 1.2 NetFlix Dynomite 0x02 Netflix选型思路 0x03 基础知识 3.1 Data Center 3.2 Rack 3.2 Rings and Tokens 0x04 需求 & 思路 0x05 使用 0x06 配…
[源码分析] Dynomite 分布式存储引擎 之 DynoJedisClient(2) 目录 [源码分析] Dynomite 分布式存储引擎 之 DynoJedisClient(2) 0x00 摘要 0x02 需求 & 思路 0x3 自动发现 2.1 线程 2.2 update操作 2.3 发现 2.3.1 HostsUpdater 2.3.2 HostStatusTracker 2.3.3 HostSupplier 0x04 错误处理 & 负载均衡 4.1 重试策略 4.1.1 策略分…
Nmap提供了强大的脚本引擎(NSE),以支持通过Lua编程来扩展Nmap的功能.目前脚本库已经包含300多个常用的Lua脚本,辅助完成Nmap的主机发现.端口扫描.服务侦测.操作系统侦测四个基本功能,并补充了其他扫描能力:如执行HTTP服务详细的探测.暴力破解简单密码.检查常见的漏洞信息等等.如果用户需要对特定的应用做更深入的探究,可以按照NSE脚本格式编写Lua脚本来增强Nmap的扫描能力. 1简单引入 1.1 实现原理 NSE(Nmap Scripting Engine)是Nmap最为强大…
分析完leveldb以后,接下来的时间准备队tair的源码进行阅读和分析.我们刚刚分析完了leveldb而在tair中leveldb是其几大存储引擎之一,所以我们这里首先从tair对leveldb的使用和修改来窥探在这个分布式的存储引擎中是如何将area和bucket持久化到存储,并且方便bucket和area的处理的. 我们首先来看tair中key的结构,我们以大致梳理存储和查询一个KV的流程来确认key的处理.tair_client_api::put直接调用tair_client_impl:…
一直想分析下mysql的源码,开始的时候不知道从哪下手,先从csv的文件存储开始吧,这个还是比较简单的.我是用的是mysql5.7.16版本的源码. csv源码文件在mysql源码的mysql-5.7.16\storage\csv文件夹下,这里面除了一个make文件,剩下的四个文件就是csv的存储读取代码. transparent_file.h/cc文件比较简单,只定义了一个Transparent_file类,目的是从指定的文件中读取数据到缓存中. class Transparent_file…
这次是逆雪寒对模板引擎实现的分析: 1 /* 函数 template函数是在global.func.php 里面定义的. 在前面的phpcms 的首页 index.php 里就见到了. 用法: include template() 用法很熟, 呵呵其实和 dz 的模板引擎一样的用法. 但DZ的模板引擎比 PHPCMS 的简单很多,因为没有用到模板的标签技术. 大家有空可以研究下DZ的模板引擎. 这里不说. 好分析下下面这个 模板的主要函数吧. 他的作用是返回编译好的模板文件路径. 也就是把模板…
引擎是sqlalchemy的核心,不管是 sql core 还是orm的使用都需要依赖引擎的创建,为此我们研究下,引擎是如何创建的. from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://root:x@127.0.0.1/test', echo=True, # 设置为True,则输出sql语句 pool_size=5, # 数据库连接池初始化的容量 max_overflow=10, # 连接池最大…
jQuery 2.0.3 源码分析Sizzle引擎 - 解析原理 声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢! 先来回答博友的提问: 如何解析 div > p + div.aaron input[type="checkbox"] 顺便在深入理解下解析的原理: HTML结构 <div id="text"> <p> <input type="text" /> </p>…
title: quartz源码分析--执行引擎和线程模型 date: 2017-09-09 23:14:48 categories: quartz tags: [quartz, 源码分析] --- --- [TOC] 软件版本:quartz-2.2.3 序 上一篇介绍了quartz的启动过程,这篇主要介绍quartz的执线程模型,众所周知,quartz并没有采用定时器去完成定时任务,而是通过线程去完成.为了简化对quartz线程模型的理解,就暂用下理解方式吧 类名 SimpleThreadPoo…
基于源码版本号 0.67 , [Seaweedfs以前旧版叫Weedfs]. Seaweedfs 是一个非常优秀的由 golang 开发的分布式存储开源项目, 虽然在我刚开始关注的时候它在 github.com 上面只有 star 50+, 但是我觉得这个项目是一个几千 star 量级的优秀开源项目. Seaweedfs 的设计原理是基于 Facebook 的一篇图片存储系统的论文 Facebook-Haystack, 论文很长,但是其实原理就几句话,可以看看 Facebook图片存储系统Hay…