[关闭]
@yanglfyangl 2018-05-30T11:55:31.000000Z 字数 977 阅读 449

支持引擎之 -- 历史/日志记录引擎

几个点

不是存服务器日志的引擎,而是存业务日志的引擎。

  1. 基本数据存在Mongo中。默认按timestamp来进行分片。
  2. 如果需要快速查询的,放一份到ClickHouse中。(这个后期来做,特别是业务稳定后,数据格式进一步稳定后)
  3. 让开发人员更多的关注业务代码,业务日志逻辑集中在一起。

API

  1. class RecordConfig:{
  2. String mainQueryKey; // 设置主要查询的Key。(这数据将会做为Mongo分片用)
  3. List<String> needQueryKey; // 某些字段如果需要进行查询,最好显示设置一下。
  4. }
  5. class RecordVo:{
  6. String jsonData; //需要将数据存入
  7. }
  8. /*
  9. 主要用于查询列表等等。。。
  10. */
  11. class SimpleQueryVo:{
  12. String sortBy; //排序字段;
  13. String order; // 升序降序;
  14. int pages; // 多少页
  15. int count; // 每页多少条;设置上限为10条;
  16. }
  17. class ComplexQueryVo:{
  18. String queryStr; //查询的语句;
  19. int pages; // 多少页
  20. int count; // 每页多少条,不设置上限;
  21. }
  22. /*
  23. 注:Engine中暂时对外不支持更新。
  24. */
  25. class HistoryEngine:{
  26. void Open(String IP, String port, DBName, Collection);
  27. void init(RecordConfigconfig){};
  28. void close(){};
  29. //支持两种查询方式
  30. void insertLog(String collectionName, RecordVo record);
  31. void insertLog(String collectionName, List<RecordVo> recordlist);
  32. void deleteLog(String collectionName, List<String> logIDlist)
  33. void List<JsonData> queryRecords(SimpleQueryVo query);
  34. //速度可以会比较慢,只建议在后管平台和大数据平台使用。而且未来可以控制能够使用的时间。
  35. void List<JsonData> complexQuery(ComplexQueryVo query);
  36. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注