zk请求处理类PrepRequestProcessor有什么作用
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容介绍了"zk请求处理类PrepRequestProcessor有什么作用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大
千家信息网最后更新 2025年01月23日zk请求处理类PrepRequestProcessor有什么作用
本篇内容介绍了"zk请求处理类PrepRequestProcessor有什么作用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
PrepRequestProcessor作为leader第一个请求处理器,可以识别当前客户端请求是否是事务请求,如果是,会进行一系列预处理,创建请求事务头,事务体,会话检测,ACL检查和版本检测
属性
构造方法
方法
提交的请求队列
LinkedBlockingQueue
下一个处理器
private final RequestProcessor nextProcessor;
zk服务
ZooKeeperServer zks;
构造函数
public PrepRequestProcessor(ZooKeeperServer zks, RequestProcessor nextProcessor) { super( "ProcessThread(sid:" + zks.getServerId() + " cport:" + zks.getClientPort() + "):", zks.getZooKeeperServerListener()); this.nextProcessor = nextProcessor; this.zks = zks;}处理请求public void run() { try { while (true) { ServerMetrics.getMetrics().PREP_PROCESSOR_QUEUE_SIZE.add(submittedRequests.size()); //拿出请求信息 Request request = submittedRequests.take(); ServerMetrics.getMetrics().PREP_PROCESSOR_QUEUE_TIME .add(Time.currentElapsedTime() - request.prepQueueStartTime); long traceMask = ZooTrace.CLIENT_REQUEST_TRACE_MASK; if (request.type == OpCode.ping) { traceMask = ZooTrace.CLIENT_PING_TRACE_MASK; } if (LOG.isTraceEnabled()) { ZooTrace.logRequest(LOG, traceMask, 'P', request, ""); } if (Request.requestOfDeath == request) { break; } request.prepStartTime = Time.currentElapsedTime(); pRequest(request); } } catch (RequestProcessorException e) { if (e.getCause() instanceof XidRolloverException) { LOG.info(e.getCause().getMessage()); } handleException(this.getName(), e); } catch (Exception e) { handleException(this.getName(), e); } LOG.info("PrepRequestProcessor exited loop!");}
主要方法通过请求类型,重新处理请求,建立事务请求,不同类型处理方式不同,
pRequest(request);
事务请求:createContainer,create,create2,createTTL,deleteContainer,
delete
非事务请求:...
pRequest2TxnCreate(int type, Request request, Record record, boolean deserialize) throws IOException, KeeperException;
"zk请求处理类PrepRequestProcessor有什么作用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
处理
事务
作用
不同
内容
处理器
方法
更多
知识
类型
检测
实用
学有所成
接下来
主要方
信息
函数
困境
实际
客户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发 cr
手机应用联网控制软件开发
发现dns服务器存在问题
黑龙江智能软件开发成本价
安装系统 服务器
2017网络安全文章
战地五新加坡服务器
网络技术员提成制度
服务器与系统管理员联系
工信部公共互联网络安全威胁
sd数据库查文献
小学网络安全工作责任书
网络安全等保2级
切割机软件开发教程
本科生常用的数据库
有关网络安全的讲座
怎么看网页用的数据库
微信红包软件开发大概多少钱
党员领导干部网络安全行为
锡山区重型软件开发怎么样
观看护苗网络安全课程
数据库分析技术的核心是
公安信息网络安全责任书
处理url时服务器出错
大专软件开发专业怎么样
机顶盒连接服务器就断电
保护学生网络安全给学校请示
做软件开发多少钱一个月
数据库课程思维导图
阿神解说100人服务器第三期