java – Hazelcast分区计数和线程并发
在“17.4.1.分区感知操作”下的Master Hazelcast电子书中,它指出:
假设我在一个17节点集群上有默认的271个分区,每个集群有16个分区线程.在集群中分配分区,这意味着所有分区都有一个与之关联的线程,每个线程只有1个分区(对我来说似乎是最佳情况). 忽略备份和近缓存,当我创建一个IMap实例时,这是否意味着我只能在整个集群的每个映射分区上执行1个并发的put / get操作?更进一步,如果我附加一个MapStore,这是否意味着我只能对我的后端数据库运行271个并发操作,因为没有办法制作异步MapStore? 我之所以提出这个问题,是因为我有一个高度并发的Web应用程序,而且我最近将数据存储区切换为与Hazelcast IMap一起运行.应用程序接受数千个并发连接,几乎每个请求至少执行分布式映射的get操作.我看到很多这些错误: com.hazelcast.core.OperationTimeoutException:20000毫秒无响应.中止调用!调用{serviceName =’hz:impl:mapService’,op = com.hazelcast.map.impl.operation.GetOperation {identityHash = 1003806362,serviceName =’hz:impl:mapService’,partitionId = 244,replicaIndex = 0,callId = 55212219,invocationTime = 1462913274676(2016年5月10日星期二20:47:54),waitTimeout = -1,callTimeout = 10000,name = …,name = …},tryCount = 250,tryPauseMillis = 500,invokeCount = 1,target = Address [10.0.2.221]:5701,backupsExpected = 0,backupsCompleted = 0,connection = Connection [/10.0.2.219:5701 – > /10.0.2.221:14565],endpoint =地址[10.0.2.221]:5701,alive = true,type = MEMBER}未收到任何回复! backup-expected:0 backup-completed:0 这可能只是由于MapStore在尝试从数据库中获取时阻塞了分区线程吗?我还应该注意到虽然它表示没有响应20000毫秒,但20秒还没有过去. 我在Java 8上运行Hazelcast 3.6.2. 最佳答案
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – 如何在我的数据库中检索最后插入的值?
- java-ee – 使用maven-surefire-plugin或maven-failsafe-pl
- java – JTabbedPane:在选项卡中显示任务进度
- Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务
- 如何在super.xxx()之后使用Javassist插入代码
- java – 使用HttpURLConnection下载html时的奇怪行为
- Java中多态性的实现方式
- java – 在运行时将新方法和属性注入到类中
- Spring Boot JDBC 连接数据库示例
- java – 如何读取文件夹inputstream中的文件