首页 文章 精选 留言 我的

精选列表

搜索[HTTP/2],共10000篇文章
优秀的个人博客,低调大师

HBase2.0 procedureV2原理简析

总体流程图 就绪区: 这部分的核心实现类是MasterProcedureScheduler,主要的作用就是对Procedure进行调度; 从排队的角度看,可以认为存在三层队列调度; type队列: type包含meta、server、table,,三者之间存在优先级:meta>server>table,这里需要注意的是,所谓type队列是逻辑上来说的,worker在获取任务时会按优先级依次进行尝试; entity队列: 上述每种类型都对应一个FairQueue,该队列中的元素代表与某个实体相关的一组proc,这里称为proc队列,worker获取任务时,是从entity队列中获取的,所以只有存在于entity队列中的proc队列才有运行机会; proc队列: 这个队列中存放的就是具体的proc了,队列内部元素数量和锁状态的变化,决定了其是否存在于entity队列中,也即是否有运行机会,以下时机会对此产生影响; 将proc队列放入entity队列的时机: 往proc队列里面添加proc; worker执行完一个proc; 将proc队列从entity队列删除的时机: worker获取并尝试执行一个proc; 以上说的是时机,具体是否放入或删除,需要看锁需求和锁状态,基本上就是读写锁的逻辑; 执行区: 每个proc都定义了一组state,worker从初始状态开始,依次执行状态对应的动作直到结束,或者因故挂起等待; 等待区: proc可能会由于一些执行条件不满足,而处于等待状态,主要有以下几种情况; 等待锁: 每个proc队列都会对应一个LockAndQueue,对于正在等待锁的proc,会暂时放在其里面的队列中; 等待某事件: 处于此类等待中的proc会放在一些ProcedureEvent中,具体实例会放在与之相关的实体中,主要有以下三种; region rit:RegionStateNode meta assign/load:AssignmentManager master initialized:HMaster 等待子proc完成: 处于此类等待中的proc没有进行特殊的保存,当subProc运行完成,会根据childrenCountDown判断它是否是最后一个,如果是的话,则根据其携带的parentProcId从ProcedureExecutor的procedures中获取parentProc,将其唤醒; 回滚区: 不存在parentProc的proc都会对应一个RootProcedureState,内部通过一个subprocStack来保存已执行的proc及其状态,回滚时按顺序执行rollBack,这里值得注意的是,同一个proc如果已经被执行了多个步骤,那么在stack中会有多个引用变量指向它; 持久区: 当前的实现类是WALProcedureStore,数据存放在hdfs的MasterProcWALs目录;由于这部分的实现与region的写入过程比较相似,在社区比较新的版本中,已经改为RegionProcedureStore,数据组织上跟region类似,只是目录为MasterProcs;

优秀的个人博客,低调大师

【附录】2.疫情期间高效远程办公实战

疫情期间高效远程办公实战 经过2020年的新冠病毒疫情的影响,很多公司纷纷加入远程办公行列,可是并不是所有公司都那么顺利。部分公司在远程办公中出现效率低下,人员偷懒,工沟通交流困难等问题。 我们公司在疫情期间也提前开启了远程办公,但是并没有出现太多的问题,而且做到高效办公,这里就为大家分享一下我们的远程办公经验。 决策 公司研发部门人员较多,如何所有人都全部同时进行远程办公,可能会出现人员管理问题,而且去年规划的项目又特别多,事情多了就更加不好管理。 所以经过一直讨论商量,在前期就暂时只安排一些重要岗位人员,在平时工作业务能力强,自觉性比较高的人员进行远程办公,然后根据办公情况,进行动态调整。 选择远程办公人员 项目经理 管理组长 自觉性积极性强的人员 选择远程项目 我们的项目较多,这个时候就需要对项目进行一个筛选,首先砍掉那些在家里不太方便进行的项目,这部分项目的人员也就暂时不用远程办公,然后砍掉部分不紧急不重要的项目,而优先处理公司特殊时期的紧急重要需求。经过这样筛选后,最后就是剩下的就是我们需要做的项目。 这样很好的保证了远程办公所有项目的可行性,能让我们根据项目来合理进行人员的安排。 角色变更 即使经过上面两个变更,我们的项目人员前期也是存在不足的情况,那这该怎么办? 技术部大部分管理人员都是一些原来业务能力非常强的人,这个时候,他们摇身一变,直接成为了项目中的业务人员,参与到详细的业务开发中。 当然这也的变更,所有人都是没有异议的,大家都知道在这个非常时期,需要有所担当,也理解公司的一些适当调整。 远程通信 因为公司常用通讯工具就是qq,于是我们的远程通信工具就使用企业qq语音群聊。qq语音群聊的在我们几十个人的情况都没有什么问题,当然,我们也不会把几十个人都拉入进行群聊,会变得比较混乱,我们都是几个人的小语音群聊进行沟通。 远程协作 因为之前敏捷开发打下的牢固基础,tapd依然是我们的远程协作平台工具。 开发模式 疫情期间,依然按照我们敏捷开发方式进行。 疫情期间要求 所有人在上班期间都需要开上语音,或者随时能接入语音。 早上准时在群里面开语音晨会 不定时进行语音会议沟通 相关核心业务人员工作期间一直保持在语音会议中 其他工作模式保持和以前一样 稳定加入 当我们的远程工作模式在一周顺利高效进行后,我们开始逐渐重启其他项目,采用这样一套规则,其他人很快融入到项目中,在远程办公一个多月中,都非常的稳定。 总结 疫情期间虽然我们部分项目停止了,但是开发效率比平时还要高效。 业务上,由于几乎都是业务强的人参与,在沟通上,执行上,效率都都非常高。远程通信上,在以前沟通还要跑来跑出,现在语音沟通甚至更加方便,直接说话,及时回复。协作模式上,以前敏捷开发打下的牢固基础,让项目一如既往稳定高效迭代。 当我们的远程模式稍微固定后,就开始重启项目,让其他公司人员也参与到远程办公中,即保质又保量。 而且这次疫情期间,也更加凸显一些人的管理能力,业务能力与沟通能力。

优秀的个人博客,低调大师

【送书】最后2天,组合专栏送图书!!!

又是一年双11,剁手也得先囤课!话不多收,这是我们的双十一福利 ↓↓ 活动时间 2019年11月11日9:00——2019年11月15日24:00,嗨购111小时! 一. 买组合专栏,免费送图书 活动详情: 活动期间,凡订阅组合专栏者(不含补差价用户),可免费领取技术图书一本,限量50本,先到先得。 领取方式? ①成功订阅任一组合专栏②选定图书,书单在此>>>③扫码回复小助手【组合】 组合专栏: 《IT人必备的主流技术》《从虚拟化到容器云的实战之路》《由点及面学Linux》请添加链接描述《一线DBA的进阶指南》《从零到 一 搞定Python》《网络工程师的看家本领》《新时代网工高薪必备技能》《大牛带你解决运维典型难题》《网络工程师高手养成记》《自动化运维必备实战秘籍》 二. 全场拼团,111小时 活动详情: 活动期间,51CTO订阅专栏,全场拼团价。(原价51元,拼团只要39元) 更多福利? ①生成分享海报>>>https://blog.51cto.com/distribution/summary②邀请朋友拼团,可得现金 三. 进读者群,天降福利 活动详情: 活动期间,51CTO订阅专栏读者群内,将每天不定时发放随机福利。(参与用户至少曾经订阅过一个专栏) 福利有啥? ①纸质图书(非任选)②15元专栏专属优惠券③博文上首页增粉(仅要求原创,至少2000字,不含广告) 进群流程? 扫码回复小助手【进群】

优秀的个人博客,低调大师

Visual Studio 2019 v16.4 Preview 2 发布

Visual Studio 2019 v16.4 的第二个预览版本发布了,更新内容如下: 将选项卡更改为垂直布局 垂直选项卡实现是深入改善文档管理体验的第一步,以下是这一项新功能外观的示例: 容器工具窗口 目前为止,此功能仅作为 Visual Studio Marketplace 中的扩展提供。经过大量的使用和审查,开发团队将功能引入了 IDE 本身。通过此新工具窗口,可以列出,检查,停止,启动和删除本地计算机上的 Docker 镜像和容器。此外,还可以查看正在运行的容器中的文件夹和文件,并打开终端窗口。最后,可以查看、传输和搜索容器日志。 调试器中的引脚属性 使用新的 Pinnable Properties 工具,在调试时通过对象的属性来识别对象变得更加容易和容易发现。简而言之,将鼠标悬停在要在“监视”、“自动”和“本地”窗口的调试器窗口中显示的属性上,单击该图钉图标,然后就可以立即在显示屏顶部看到你要查找的信息。 终端窗口更新 新版本增加了创建多个终端实例,并自动为计算机上可用的 Developer Command Prompt,Developer PowerShell 和任何 WSL 发行版创建配置文件。自动配置文件创建将在首次启动时或通过配置文件还原按钮进行。 CMake 项目概述页面 新版本为 CMake 项目添加了概述页面,以帮助跨平台开发。这些页面是动态的,可帮助你安装 Linux 工作负载,连接到远程 Linux 系统或 Windows Linux 子系统(WSL),以及将 Linux 或 WSL 配置添加到 CMake 项目。如果你刚刚开始在 Visual Studio 中进行 Linux 开发,那么建议你尝试对 WSL 的本机支持。 此外,导航功能已添加到启动下拉菜单中,以便 CMake 项目显示你最近使用的目标。借助从​​该位置进行过滤的功能,查找所需内容也变得更加简单。 为 C++ 启用符号搜索 开发团队通过添加对 C++ 的符号搜索支持来继续扩展搜索功能。现在能够在搜索控件中搜索其他文件中的类型。在键入搜索查询的每个字母时,还将动态优化结果。可以通过位于 Visual Studio 顶部中心的搜索框中的单个搜索快捷方式(Ctrl + Q)来访问代码搜索,也可以仅通过单击“代码”组来查看与代码相关的结果。 .NET 工具 现在可以直接通过错误列表配置代码样式规则的严重性级别。将光标置于错误、警告或建议上,右键单击并选择设置严重性。接下来,选择要为该规则配置的严重性级别。这将使用规则的新严重性更新现有的 EditorConfig。它也适用于第三方分析。 更多详情可查看发布公告。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册