以前做过的项目对性能的要求都不是很高,最近刚换了工作,现在公司项目分煤炭行业和药监行业,煤炭行业的数据采集和药监行业的销售数据实时传输性能压力都特别大,特点都是数据量大,并发量大,执行频率高,这就需要合理地使用线程和线程池,把系统资源合理有效地利用起来,否则,只是考虑集群来解决性能问题,一是浪费系统资源,二是集群节点过多本身就存在难于管理的问题。还有缓存,很多实时数据不能够利用缓存技术,而性能很大一部分压力就来源于生产活动过程中的实时数据采集。
所以对于实时数据采集,我们更多首先应该考虑多线程技术:
1、线程池线程数量;
2、哪些功能(哪些地方)应该使用单独线程执行;
3、通讯,端口对应线程,例如iocp模型,实际上也是多线程的概念。