heartbeat

万字长文:etcd 问题、调优、监控

两盒软妹~` 提交于 2021-02-17 19:19:16
etcd 原理解析:读《etcd 技术内幕》这篇文章主要是原理性的内容,本文主要是实践角度,谈谈平时用到的一些操作和监控 高可用 etcd 是基于 raft算法的分布式键值数据库,生来就为集群化而设计的,由于Raft算法在做决策时需要超半数节点的投票,所以etcd集群一般推荐奇数节点,如3、5或者7个节点构成一个集群。 以上是etcd集群部署的基础概念,但是还需要注意以下问题: 选主过程 etcd 是高可用的,允许部分机器故障,以标准的3 节点etcd 集群,最大容忍1台机器宕机,下面以最简单的leader宕机来演示raft 的投票逻辑,以实际的运行日志来验证并理解。更多的场景可以看之前的原理解析 场景:正常运行的三台etcd:100、101、102。当前任期为 7,leader 为 101机器。现在使101 宕机 宕机前:101 为 leader,3 个 member 宕机后:102 成为新 leader,2 个 member 过程: 将 101 机器的 etcd 停止,此时只剩 2 台,但总数为 3 101停止etcd 的运行 102(91d63231b87fadda) 收到消息,发现101(8a4bb0af2f19bd46)心跳超时,于是发起了新一轮选举,任期为 7+1=8 91 d63231b87fadda [term 7 ] received MsgTimeoutNow

Research Guide for Video Frame Interpolation with Deep Learning

纵饮孤独 提交于 2021-02-10 18:47:40
Research Guide for Video Frame Interpolation with Deep Learning This blog is from: https://heartbeat.fritz.ai/research-guide-for-video-frame-interpolation-with-deep-learning-519ab2eb3dda In this research guide, we’ll look at deep learning papers aimed at synthesizing video frames within an existing video. This could be in between video frames, known as interpolation, or after them, known as extrapolation . The better part of this guide will cover interpolation. Interpolation is useful in software editing tools as well as in generating video animations. It can also be used to generate clear

Heartbeat implementation with Thread.Sleep()

不羁岁月 提交于 2021-02-07 04:00:47
问题 in my application I have an "heartbeat" functionality that is currently implemented in a long running thread in the following way (pseudocode): while (shouldBeRunning) { Thread.Sleep(smallInterval); if (DateTime.UtcNow - lastHeartbeat > heartbeatInterval) { sendHeartbeat(); lastHeartbeat = DateTime.UtcNow; } } Now, it happens that when my application is going through some intensive CPU time (several minutes of heavy calculations in which the CPU is > 90% occupied), the heartbeats get delayed,

Heartbeat implementation with Thread.Sleep()

夙愿已清 提交于 2021-02-07 03:59:41
问题 in my application I have an "heartbeat" functionality that is currently implemented in a long running thread in the following way (pseudocode): while (shouldBeRunning) { Thread.Sleep(smallInterval); if (DateTime.UtcNow - lastHeartbeat > heartbeatInterval) { sendHeartbeat(); lastHeartbeat = DateTime.UtcNow; } } Now, it happens that when my application is going through some intensive CPU time (several minutes of heavy calculations in which the CPU is > 90% occupied), the heartbeats get delayed,

mycat之schema.xml理解

心已入冬 提交于 2021-02-03 13:34:19
<?xml version=\"1.0\"?> <!DOCTYPE mycat:schema SYSTEM \"schema.dtd\"> <mycat:schema xmlns:mycat=\"http://org.opencloudb/\"> <schema name=\"mycat\" checkSQLschema=\"false\" sqlMaxLimit=\"100\"> <!-- auto sharding by id ( long ) --> <table name=\"students\" dataNode=\"dn1,dn2,dn3,dn4\" rule=\"rule1\" /> <table name=\"log_test\" dataNode=\"dn1,dn2,dn3,dn4\" rule=\"rule2\" /> <!-- global table is auto cloned to all defined data nodes ,so can join with any table whose sharding node is in the same data node --> <!--<table name=\"company\" primaryKey=\"ID\" type=\"global\" dataNode=\"dn1,dn2,dn3\" />

MyCat配置文件详解(二):schema.xml代码详细解读!

戏子无情 提交于 2021-02-03 11:55:44
目录 一、schema 标签 1.属性 2.子标签table 二、dataNode 标签 三、dataHost 标签 1.属性 2.子标签heartbeat 3.子标签writeHost、readHost schema.xml 作为MyCat中最重要的配置文件之一 , 涵盖了MyCat的 逻辑库 、 表 、 分片规则 、 分片节点 及 数据源 的配置。 一、schema 标签 < schema name = "ITCAST" checkSQLschema = "false" sqlMaxLimit = "100" > < table name = "TB_TEST" dataNode = "dn1,dn2,dn3" rule = "auto-sharding-long" / > < / schema > schema 标签 用于定义 MyCat实例中的逻辑库 , 一个MyCat实例中, 可以有多个逻辑库 , 可以通过 schema 标签来划分不同的逻辑库。MyCat中的逻辑库的概念 , 等同于MySQL中的 database概念 , 需要操作某个逻辑库下的表时, 也需要切换逻辑库: use ITCAST ; 1.属性 schema 标签 的属性如下 : name 指定逻辑库的库名 , 可以自己定义任何字符串 ; checkSQLschema 取值为 true / false ;

Hadoop之HDFS

放肆的年华 提交于 2021-01-31 05:31:12
微信公众号: 北风中独行的蜗牛 HDFS 全称 Hadoop Distributed File System - Hadoop分布式文件系统,是Hadoop项目的核心子项目,对海量数据进行进行存储与管理 HDFS存储块为128M 现在HDFS的block的默认大小为128M。寻址时间指的是在HDFS中,找到目标block的时间。如果block越大,寻址时间就越短,因为NameNode中存储的元数据就越少,但是明显传输时间会就变大,反之,寻址时间就越长。通常MapReduce中每一个任务只会处理一个块,如果block太大也会影响任务的执行时间。经过前人的研究,寻址时间平均为10ms比较合适,就是查找block的时间为10ms,寻址时间为传输时间的1%,也就是10/0.01=1S,现在磁盘的读取速率大概为100M/s,所以每秒大概为100M,取2的指数级,即为128M。如果磁盘的读取速率 为200M/s, 则block的大小为256M。Block的大小 在hdfs-site.xml 中设置,name为dfs.blocksize 机架感知 数据块的存储涉及到一个概念,叫做机架感知。意思是同一个数据的备份,会放到不同机架的不同节点上,防止数据的丢失。通常冗余的数据为3,放数据的策略是第一个block放到与client同一个机器的DataNode节点上,如果Client不在集群范围

python爬虫:bilibili弹幕爬取+词云生成

五迷三道 提交于 2021-01-12 19:20:04
如果你懒得看下边的文字,我录了一个完整的教学视频在b站上。 我的B站教学 :https://www.bilibili.com/video/av75377135?p=2 工作原理 b站是提供弹幕接口的,所以我们的整体操作进行如下: 1. 到B站获取cid 2. 将cid与网站固定格式进行链接 3. 用python请求网页 4. 进行简单的单词处理 5. 生成词云 接下来我们就按照刚才说的顺序进行详细解释 操作顺序 1.到B站获取cid 首先点进一个视频网页,点击F12-network获取监测页面,然后一定要点击 播放视频 ,我们就会在监测页面中看到一个叫 heartbeat 的XHR脚本,点开任意一个即可。 点击之后我们需要看Headers,里边包括了我们想知道的信息。往下滚动就会发现cid,这个id是唯一的,也就是说下次抓取的时候还可以用这个id。 2.将cid与网站固定格式进行链接 我们拿到cid之后就可以去检查一下是否可以获取弹幕了。获取的固定xml格式是: https://comment.bilibili.com/视频的cid.xml 例如在这里我们的页面就是: 'https://comment.bilibili.com/94198756.xml' 我们把这个链接用网页的方式打开,就能看到如下内容: 这样我们就确定可以爬取了。 3.用python请求网页 因为是开源的

DRBD项目实施之NFS高可用架构(NFS+Heartbeat+Drbd)

£可爱£侵袭症+ 提交于 2021-01-11 03:40:50
由于目前线上的两台NFS服务器,一台为主,一台为备。主到备的数据同步,靠rsync来做。由于数据偏重于图片业务,并且还是千万级的碎图片。在目前的业务框架下,NFS服务是存在单点的,并且数据的同步也不能做完全实时性,从而导致不能确保一致性。因此,出于对业务在线率和数据安全的保障,目前需要一套新的架构来解决 NFS 服务单点和数据实时同步的问题。 然后,就没有然后了。 下面是一个丑到爆的新方案架构图,已经在公司测试环境的部署,并且进行了不完全充分的测试。 架构拓扑 : 简单描述: 两台 NFS 服务器,通过 em1 网卡与内网的其他业务服务器进行通信,em2网卡主要负责两台 NFS 服务器之间心跳通信,em3网卡主要负责drbd数据同步的传输。 前面的2台图片服务器通过 NFS 集群提供出来的一个VIP 192.168.0.219 来使用 NFS 集群服务。 一、项目基础设施及信息介绍 1、设备信息 现有的两台 NFS 存储服务器的硬件配置信息: CPU: Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz MEM: 16G Raid: RAID 1 Disk: SSD 200G x 2 网卡:集成的 4 个千兆网卡 Link is up at 1000 Mbps, full duplex 前端两台静态图片服务器硬件配置信息: 略 2、网络 浮动 VIP

Solon rpc 之 SocketD 协议

主宰稳场 提交于 2021-01-09 22:31:13
Solon rpc 之 SocketD 协议 Solon rpc 之 SocketD 协议 - 概述 Solon rpc 之 SocketD 协议 - 消息上报模式 Solon rpc 之 SocketD 协议 - 消息应答模式 Solon rpc 之 SocketD 协议 - 消息订阅模式 SocketD 是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,SocketD可以是RSocket等其他类似协议的替代方案。它的消息协议规范具有异步,背压的双向,多路复用,断线重连,基于消息等特性。暂时只提供Java实现,目前做为Solon rpc的sockte通道协议。 本案以简单的消息上报模式为例演示:(就是你问我答) 包依赖 <dependency> <groupId>org.noear</groupId> <artifactId>solon.boot.socketd.smartsocket</artifactId> <version>1.2.18</version> </dependency> 服务端 //启动服务端 public class ServerApp { public static void main(String[] args) { //启动Solon容器(SocketD bean&plugin 由solon容器管理)