提高并发能力的一些思考

  • Post author:
  • Post category:其他


现在大多数的开发环境下面提高并发一般的采用的方案对应的是:

1.分片方式:现在比较流行的框架,比如mongodb,es,hbase等大多数采用的是分片的方式提高并发处理的能力的。

2.分区:常见的在数据库层面的话,可能使用的比较多的是mysql,oracle的分区操作,kafka的分区操作

3.slot插槽:redis就是使用插槽的思路来提高并发处理能力的。

其他的该并发的处理思路后续会进行补充的。上面的三种是高并发环境下面的一些完善的解决方案的。flink也是使用到了slot的概念的。

正式基于上面的一些方案,对应的就可以体现出来较高的并发处理能力的。

那么改如何在生产的环境中,将这些设计的思路体现出来了,怎么可能根据需要得到对应的插槽的设计的准则了

我在生产和一些测试环境中,对应操作是这样的。

1.根据主机内存来做,内存一般的选择的是特定的规模的,比如8G,16G等,一般的是特定的,可以使用物理内存的一般来用于redis的内存的分配操作实现的。这样的话,整体的分配是这样的 总数=总的内存需要的数量/单个节点能够提供的内存

考虑到主从的话,对应的节点数需要扩增一倍的。比如 redis就可以使用这样的方式来实现的。

2.需要根据对应的主机的磁盘或者是物理空间来做的,因为实际的生产的过程中,主机适合的内存或者是磁盘是有规律的。我们可以根据最终的存储的空间的大小来指定的。



版权声明:本文为qq_33409840原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。