
架构设计
文章平均质量分 65
mydeman
积极,认真,负责,热情,善于沟通
展开
-
Elasticsearch上手——Python API的简单使用
尝试通过Python API操作Elasticsearch原创 2017-02-01 14:23:16 · 29738 阅读 · 4 评论 -
量化交易系统任务框架的演化之路(5)用Kafka实现分布式计算任务框架
在之前的几篇文章中,都是基于单服务器系统讲解了任务框架的逐步演化,包含了效率、依赖关系、可管理性等几个方面的内容。可是随着量化系统的中因子、信号、数据预处理、日志监控等需求的不断增多,并且大家都知道量化交易系统,是对响应时间有要求的,尤其是对分钟级别甚至tick级别信号的检测等,那么这个时候,单机系统已经无法适应实际需求了,为了提高效率就要考虑通过分布式来提高效率。 在进行下一步之前,我们应该明...原创 2018-06-14 13:24:35 · 1619 阅读 · 0 评论 -
量化交易系统任务框架的演化之路(3)基于多状态的任务依赖解决
在量化交易系统任务框架的演化之路(2)状态管理中为任务引入了一个状态,解决了任务的重入问题,那么还有一个悬而未决的问题:如何解决任务之间的依赖关系?那么今天就来看看如何基于多状态解决任务直接的依赖关系。 假定有两个每天执行一次的任务A和B,任务B要在任务A的执行完毕后才能启动。在设计时,应该考虑到:对于任务A来讲,任务B应该是透明,也就是说任务A不应该知道任务B的存在,这样即使任务B失效了...原创 2018-05-28 22:50:13 · 818 阅读 · 0 评论 -
量化交易系统任务框架的演化之路(2)状态管理
在上一篇文章(量化交易系统任务框架的演化之路(1)定时任务)的结尾提了三个问题,今天就来第一版的解决方案。 之前的实现方案中,所有任务都是无状态、无管理的,人工干预就比较麻烦。其实解决这个问题的方法很简单,那就是增加一个“状态”,看一下这个流程图:Created with Raphaël 2.1.2开始启动running == trueset running = true执行任务执行完毕se...原创 2018-05-25 13:47:41 · 2026 阅读 · 0 评论 -
量化交易系统任务框架的演化之路(1)定时任务
一个完善的量化交易系统不但包含了最基本的选股、择时、回测等基本的任务,而且还包含了众多了独立的任务模块,这些任务模块被设计成可插拔的独立任务。本系列文章将会分别讲解几种不同的实现这些任务模块的技术。定时任务定时执行是一种普遍采用的技术,容易理解也方便实现,很多开发框架都为快速的设定定时任务提供支持。那么接下来我们就具体来看看实现定时任务的技术手段。技术实现系统任务在...原创 2018-05-17 17:11:54 · 2382 阅读 · 2 评论 -
使用MongoDB存储Docker日志(续)
在上一篇文章《使用MongoDB存储Docker日志》中完成了Docker + Fluentd + MongoDB的基本配置。但是在实际的使用过程中,却发现Docker生成的日志并不会立即写入到MongoDB中,有大概1分钟左右的延迟。查阅Fluentd的文档得知,有一个flush参数可以控制日志的写入频率,默认的是60s。更改flush_interval参数就可以提高写入频率,具体更改如下:原创 2018-01-19 22:54:45 · 1140 阅读 · 0 评论 -
空间换时间,轻松提高性能100倍
空间换时间的最常用场景就是缓存,为了提高性能可以设置不同类型的缓存原创 2017-02-24 13:04:24 · 2840 阅读 · 0 评论 -
Elasticsearch上手——熟悉基本操作
通过Kibana提供的工具熟悉创建Index、索引文档、搜索文档的基本操作和命令。原创 2017-01-26 23:11:20 · 5298 阅读 · 1 评论 -
Elasticsearch上手——结合Kibana的安装配置
在使用之前,第一步就是要完成安装。Kibana作为一个有力的工具,大大方便了elasticsearch的使用,因此一同安装。原创 2017-01-26 14:34:35 · 11798 阅读 · 3 评论 -
Elasticsearch上手——几个基本概念
Elasticsearch的说明文档中,基本概念(Basic Concepts)一节中提到了一些术语,但是刚开始阅读时,有些一头雾水,结合实践经验,回过头来尝试重新理解一下。原创 2017-01-26 12:05:48 · 1205 阅读 · 0 评论 -
Elasticsearch上手 - 遇到的问题
记录在使用Elasticsearch时遇到一些问题。原创 2017-02-26 11:26:37 · 14332 阅读 · 1 评论 -
一次查询性能提高40倍的经历
随着系统的持续增大,性能的优化随处可见。这里就通过一个实例,看下优化的过程。数据库为MongoDB,数据量为800万左右,原创 2017-02-08 23:44:57 · 3240 阅读 · 0 评论 -
Elasticsearch——利用Parent-Child关系解决大数据场景下的实时查询
在大数据的应用场景,经常会遇到数据字段无法确定的问题,还要在这些数据上进行多重筛选。Elasticsearch作为一个良好的解决方案,不仅可以完美满足查询需求,也可以满足大数据量下的实时性要求原创 2017-02-07 23:58:33 · 10095 阅读 · 0 评论 -
量化交易系统任务框架的演化之路(4)用Push方式解决任务之间的依赖
在上一篇文章《量化交易系统任务框架的演化之路(3)基于多状态的任务依赖解决》中提供了一种利用数据库作为状态数据交换媒介的解决方案,通过这种方法,实现了依赖和被依赖的任务之间解耦,但是问题也十分明显,就是轮询被依赖任务的状态的做法会带来无谓的计算资源的浪费,一旦任务过多,无论是对数据库还是对任务系统本身都会造成一定压力。我们称把这种方法称为Pull,也就是拉取的思路;那么与之对应的就是推送(Push...原创 2018-06-07 17:11:01 · 797 阅读 · 0 评论