- Keeping the read-model of history data and orders of each wallet.
Input (v1, Lykke.Service.PostProcessing events; RabbitMQ, protobuf):
- CashInProcessedEvent, CashOutProcessedEvent, CashTransferProcessedEvent, ExecutionProcessedEvent, OrderPlacedEvent, OrderCancelledEvent.
Input (v2, Lykke.Service.BlockchainCashinDetector; RabbitMQ, messagepack):
- CashinCompletedEvent.
Input (v3, Lykke.Service.BlockchainCashoutProcessor; RabbitMQ, messagepack):
- CashoutCompletedEvent.
Input (v4, bitcoinservice; RabbitMQ, messagepack):
- CashinCompletedEvent, CashoutCompletedEvent.
Input (v5, "tx-handler.ethereum.commands" context; RabbitMQ, messagepack):
- SaveEthInHistoryCommand, ProcessEthCoinEventCommand, ProcessHotWalletErc20EventCommand.
Output (HTTP):
- get order by id;
- get orders by wallet id;
- get history by wallet id;
Image | Resources | Default instances number | Max instances |
---|---|---|---|
Lykke.Service.History | C2-R2 | 1 | 2* |
* Service can be scaled by changing prefetch and batch settings (table below, measured on ExecutionProcessedEvent)
Prefetch | Batch | 1 replica (ops) | 2 replicas (ops) |
---|---|---|---|
200 | 100 | 500 | 700 |
500 | 100 | 650 | 750 |
2000 | 500 | 2100 | 3500 |
10000 | 1000 | 3200 | 4400 |
- PostgreSQL (data);
- Azure Table Storage (logs);
- RabbitMQ (Cqrs);
Core team