java - Java 应用程序的生产级 Cassandra 客户端配置
问题描述
我的应用程序在生产环境中每秒运行超过 100 个事务。我想知道应该使用配置来实现这一点。
在非 Prod 环境中,我使用具有 DCAwareLoadBalancingPolocy 且一致性级别为 LOCAL_QUORUM 的集群。
所有剩余的配置都保留为默认值。
默认配置是否足够,或者我需要指定所有连接选项,如池选项、套接字选项、一致性级别等,
PS:Cassandra 版本 3 请建议如何扩展它。
解决方案
Java 驱动程序的默认值非常好,尤其是对于那种负载。您需要使用默认的 DCAware/TokenAware 负载平衡策略。您可以调整连接池以允许每个连接有更多的“进行中”请求。每个应用程序只需要Session
该类的单个实例,以避免打开过多的集群连接。真正的性能提升来自使用异步操作,并且具有较低的一致性级别,例如,LOCAL_ONE
(但这是特定于应用程序的)。
推荐阅读
- mysql - MYSQL 函数 str_to_date 的日期时间值不正确
- python - Pytube 直接将视频下载到 s3 存储桶位置
- c# - 如何将单选按钮绑定到控制器,以便动态呈现 getRequest 字符串?
- square - 如何从 Square Order API 获取总销售额?
- dropdown - select2 下拉关闭在更改值时延迟。选择值后如何立即关闭
- sublimetext3 - 修改选项卡中 SublimeREPL 的标题
- delphi - 如何将 Frame Label1.caption 更改为 Form1.button1.click
- reactjs - 反应国旗与打字稿项目反应
- html - 使用CSS悬停另一个div时如何显示一个div?
- r - 如何确定 ggplot 面板的宽度和 y 轴标签的小数位数?