浅析TTL

1. 什么是TTL

TTl=time to live,表征数据包在网络上的存活时间。这个time的单位一般是“跳数”。

我们进行ping操作的时候使用的ICMP协议,即采用基于TTL的机制来判断该数据包的传输是否正常。

2. 为什么要有TTL

简单来说,为了避免数据包在网路上的传送路径造成死循环或者无休止的投递下去,每个ip数据包都包含乐一个寿命计数器,这个就是数据包的的生存时间TTL,也叫hop count,只要一个路由器处理过这个数据包,它就递减这个数据包的寿命计数,当寿命计数递减到0的时候,路由器就丢弃该包.

TTL在一定程度上反应了一个IP数据包经过的路由器的多......

服务框架的几种服务调用形式

1. 同步调用

同步服务调用是最常用的一种服务调用方式,它的工作原理和使用都非常简单,分布式服务框架默认都需要支持这种调用形式。

它的工作原理如下:客户端发起远程服务调用请求,用户线程完成消息序列化之后,将消息投递到通信框架,然后同步阻塞,等待通信线程发送请求并接收到应答之后,唤醒同步等待的用户线程,用户线程获取到应答之后返回。

它的工作原理图如图:

消费者调用服务端发布的接......

mysql存储过程生成随机测试数据

1. 介绍

有时候我们需要一些模拟数据来进行测试,今天简单记录下如何用存储过程生成一些随机数据。

2. 建表

我们新建一张学生表和教师表如下:

CREATE TABLE student(

id INT NOT NULL AUTO_INCREMENT,

first_name VARCHAR(10) NOT NULL,

last_name VARCHAR(10) NOT NULL,

sex VARCHAR(5) NOT NULL,

score INT NOT NULL,

PRIMARY KEY (`id`)

);

CREATE TABLE teacher(

id INT NOT......

分布式基础知识文章索引

1. 介绍

最近看到一些文章不错,这里推荐下。下面每个标题都对应一片文章,我都对其内容做了简单几句话的总结。大家可以点击查看原文。

2. 分布式系统理论基础 - 选举、多数派和租约

原文地址: 分布式系统理论基础 - 选举、多数派和租约

该文主要理解以下的选举算法:

bully选举算法:最基本的选举算法,序号最大的作为leader。缺点是网络分区的时候可能导致有多个leader。

多数派方法:弥补bully选举算法的缺点,网络分化的时候只有具备多数派节点的部分才可能选出leader,这避免了多leader的产生。

租约:就是判断leader是否挂了的时候,设定......

时钟与分布式系统

1. 逻辑时钟和物理时钟

在分布式场景中,我们需要时间来判断不同节点上事件发生的先后顺序。

物理时钟可以用严格的绝对时间来表明事件的发生顺序,但是在分布式环境中,各个节点由于网络等因素无法做到完全一致的时间。即使使用NTP时间同步,也会有纳秒的误差。在这个误差时间内,可能会发生很多事件,那么这些事件的先后顺序就很难判断了。

Time, Clocks and the Ordering of Events in a Distributed System这篇论文的作者Leslie Lamport 在1978年提出逻辑时钟的概念。在分布式环境中,通过一系列规则来定义逻辑时钟的变化。......