Cassandra集群中所有节点都是对等的,所以读/写操作可以发生在集群中的任意节点上,也许这个节点并没有需要读/写的数据,所以这个和用户交互的节点就成了coordinator节点。

单数据中心的写请求:

当客户端发送到coordinator节点上,则这个coordinator节点会吧这个写请求发送到集群内所有拥有目标行副本的节点上(target节点),比如:

这个例子中,客户端发送请求到N10,但N10并没有目标行,所以N10就是coordinator节点,它知道目标行有3个副本R1,R2,R3,依次在N1,N2,N7上,于是它吧写请求发给这3个节点。如果有i个成功响应返回给N10(i取决于consistency level配置的值),则N10认为写操作成功完成,从而返回响应消息给客户端。

多数据中心的写请求:

在多数据中心中,为了优化性能,Cassandra集群会在每一个数据中心找一个coordinator,然后由coordinator负责自己所在的数据中心的多个副本节点的写操作。

比如这个例子中,DC1的coordinator是N10,DC2的coordinator也是N10,则客户端只要发送写请求给这2个coordinator就可以了。

读请求:

还是找coordinator,coordinator会发送给consistency level数量的节点“直接读”请求,用于返回结果给客户端,而发送给其他副本所在的节点“读修复”请求,用于同步数据。

比如这个例子中,如果有3个副本,但是consistency level被设置为2,则coordinator会吧“直接读”请求发送给其中两个节点(比如R1和R3),而在后台,会吧“读修复”请求发送给第三个节点(比如R2)

本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/865657,如需转载请自行联系原作者

Cassandra 处理客户端请求相关推荐

  1. JSP 客户端请求概述

    当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的.您可以查阅HTTP协议来获得更多的信息. 下表列出了浏览器端信息头的一些重要内 ...

  2. SCCM 2007系列教程之二客户端安装之客户端请求安装

    一.客户端安装方法:     客户端请求安装.软件更新点安装. 组策略安装.登录脚本安装.手动安装.升级安装.客户端映像 客户端成功安装客户端之后,它将尝试分配到某个站点,并找到该站点的默认管理点以下 ...

  3. java httpinvoker漏洞_Spring HttpInvoker 服务端安全验证的和客户端请求配置

    1.服务端 服务Java接口 package service; public interface TestService { int add(int i,int j); } 服务的Java实现 pac ...

  4. 解决非浏览器客户端请求nginx无法命中缓存的问题

    为什么80%的码农都做不了架构师?>>>    一个java客户端请求nginx的cache,这个cache是缓存压缩后的图片的,场景是这样的 client  -> nginx ...

  5. Ril分析三——客户端请求和响应处理与modem交互

    Ril与modem的交互 一 客户端的请求处理 客户端请求从EventLoop通过dispatch传递到reference-ril.c中调用onRequest接口. 处理客户端请求: static v ...

  6. asp.net 无法获取客户端请求的真实协议https

    问题: a) 客户端请求的是https,但服务端Request.Url获取的却是http: b) 负载均衡连接协议服务端与客户端协议不一致. 有时候我们需要获取或拼接连接,但是可能会出现客户端使用ht ...

  7. log nginx 客户端请求大小_nginx

    博主会将与Nginx有关的知识点总结到"nginx短篇系列"文章中,如果你对nginx不是特别了解,请按照顺序阅读"nginx短篇系列",以便站在前文的基础上理 ...

  8. listen()和accept()函数:让套接字进入监听状态并响应客户端请求

    对于服务器端程序,使用 bind() 绑定套接字后,还需要使用 listen() 函数让套接字进入被动监听状态,再调用 accept() 函数,就可以随时响应客户端的请求了. listen() 函数 ...

  9. android处理服务器的集合,android集合SSH搭建服务器客户端请求

    android集合SSH搭建服务器客户端请求 (2012-06-14 06:21:53) 标签: android 服务器 杂谈 android集合SSH搭建服务器客户端请求小弟以前是学的J2EE,由于 ...

最新文章

  1. 华为生态链的全方位解读
  2. careercup-高等难度 18.5
  3. bzoj3144: [Hnoi2013]切糕(最小割)
  4. 51. N皇后/52. N皇后 II
  5. 安卓学习笔记25:常用控件 - 下拉列表
  6. DataLoader worker (pid 2287) is killed by signal: Killed. pytorch训练解决方法
  7. 蓝桥杯 ALGO-92 算法训练 前缀表达式
  8. 内存分配-堆-栈-静态区
  9. git制作patch补丁
  10. 笔记本计算机风扇连线,机箱风扇接口怎么接电源线【图文】
  11. 2017年一线城市程序员工资大调查
  12. 服务器带宽上行与下行是什么意思,有什么区别
  13. 搭建自己的在线IDE
  14. 服务器如何 建立远程连接?
  15. 建模师一个月的真实工资是多少
  16. 《Universal Language Model Fine-tuning for Text Classification》翻译
  17. Tableau-帕累托图制作
  18. EDA设计(verilog)—— 七段管时钟
  19. 首席新媒体运营黎想教程:活动运营推广入门全攻略及进阶
  20. java计算机毕业设计珠宝首饰进销存管理系统源码+数据库+系统+lw文档

热门文章

  1. git删除远程分支文件
  2. Android QQ、微信聊天消息界面设计原理与实现
  3. Java学习笔记27
  4. 【Android UI设计与开发】第13期:顶部标题栏(四)自定义ActionBar风格和样式
  5. 高级Android开发面试汇总
  6. ORM-Dapper:Dapper百科
  7. WPF中制作带中国农历的万年历
  8. eachart图表100px大小原因,及处理办法
  9. PAT (Advanced Level) Practise 1004 解题报告
  10. Java多线程1:进程与线程概述