[高性能] - 缓存架构

    对于交易系统来说,低延时是核心业务的基本要求。因此需要对业务进行分级,还需要对数据按质量要求进行分类,主要包含两个维度:重要性,延时要求,数据质量。共包含以下三种场景:

    1. 重要 + 延时性要求高 

实时行情(可容忍部分丢失):

交易链路(不可丢失,做市,自营(手工单),量化(电子单),RFT/RFQ,订单管理):

报价引擎

实时风控

权限

    2. 重要 + 延时性要求低

历史行情(可部分丢失):

参考数据():

交易对手():

事后风控

监控数据

日志

    3. 不重要 + 延时性要求高

    4. 不重要 + 延时性要求低

1. 缓存场景

对于

1.1 权限

因为粒度细导致数据量大,而且容易产生hotKey,由于消息级别的权限设置,导致对延时性要求极高,一般要求在0.5ms以内。

所以会区分有无权限要求的消息。

1.2 市场参考数据

这些数据通常变化的频率比较低,从数秒到数年不等,数据量相对较小,但访问的时候要求延时性也极高,通常是0.5ms。这些数据如:债券估值,债券合约,收益率曲线,利率曲线,交易行情,交易对手方等。

对于交易频繁的产品,会造成hotKey问题,对于交易行情还容易造成bigKey问题。

2. 缓存过期策略

可以指定过期计算的开始时间,或者指定存储对象中的某个字段。

你可能感兴趣的:(区块链)