最近做一些数据入库的服务,这里做些经验总结:
【获取入库平均速度】
获取要部署环境的入库平均速度(跟具体环境配置如网络带宽、服务器硬件条件有关)一般都是经验值或者需要经过测试。
【确定需要数据库数量】
根据实际需求确定需要几个数据库同时入库,预计70%。这个可能造成查询的时候需要分库查询,然后结果总汇。
【入库服务需要提供数据存储能力】
入库服务获取数据后需要对数据进行存储,然后再处理数据。当服务异常需要保证已经获取的数据不丢失,当服务重启可以恢复数据。
【入库服务可靠性】
入库服务主备部署,当主服务异常的时候可以将业务切换到被服务器上运行。主备服务器都异常的话,需要有个应急的服务来保证业务不中断。可以采用将数据切到另外一个入库服务,两者不在同一个域。
【使用消息队列】
使用消息队列有利于服务的扩展,数据异步的入库解耦了数据获取和数据入库的过程,简化了各个过程的设计。
【入库过程避免使用orm】
orm虽然简化了操作数据库时候程序的编写,但是对数据库的操作只能使用已经封装好的语句。插入数据的时候一般只能一条条的插入,很多操作都受到限制。
大量数据入库处理经验总结
最新推荐文章于 2024-08-21 21:59:29 发布