0%

DHCP协议

DHCP (Dynamic Host Configuration Protocol) 提供了即插即用的连网方式,用户不再需要去手动配置 IP 地址等信息,其配置的内容不仅是 IP 地址,还包括子网掩码、网关 IP 地址

工作过程:

  • 客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67,源地址为 0.0.0.0:68,被放入 UDP 中,该报文被广播到同一个子网的所有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继代理
  • DHCP 服务器收到 Discover 报文之后,发送 Offer 报文给客户端,该报文包含了客户端所需要的信息。因为客户端可能收到多个 DHCP 服务器提供的信息,因此客户端需要进行选择
  • 如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报文给该 DHCP 服务器
  • DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息

电子邮件协议

一个电子邮件系统由三部分组成:用户代理、邮件服务器以及邮件协议。

邮件协议包含发送协议和读取协议,发送协议常用 SMTP,读取协议常用 POP3 和 IMAP。

SMTP协议

SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。MIME 并没有改动或者取代 SMTP,而是增加邮件主体的结构,定义了非 ASCII 码的编码规则

POP3协议

POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除。

IMAP协议

IMAP 协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被删除。IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。

分布式表连接问题

Mycat提供了几种方式来解决表连接问题

使用全局表

全局表是一种冗余的表,每个节点都是全量的数据,有以下特性

  • 全局表的插入、更新操作会实时在所有节点上执行,保持各个分片的数据一致性
  • 全局表的查询操作,只从一个节点获取
  • 全局表可以跟任何一个表进行join操作

在配置表的时候加上global就是全局表

1
<table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3">
阅读全文 »

密码错误重试导致数据库超慢

有同事把项目的数据库密码配错了,导致其他所有连接该数据库的项目全部连接都获取缓慢了,一个页面加载要花费十几秒。排查mysql连接发现很多connect命令的连接

1
show full PROCESSLIST

由于连接的host全是我们服务器的ip,所以一开始想到的是服务器是不是被黑了,然后频繁的尝试破解数据库密码

赶紧查了一下是哪个进程在连接数据库

1
netstat -anp | grep 3306

结果发现pid是我们自己的项目,拉下来代码一看,密码配置的不对

阅读全文 »

HBase协处理器

协处理器允许用户在region服务器上运行自己的代码,实现了相当于触发器的功能。如可以使用协处理器在进行hbase操作时将数据同步到es

协处理器提供了两类协处理器observer和endpoint

  • observer 这一类协处理器与触发器类似,在一些特定事件发生时被执行。包含接口如下
    • RegionObserver 可以使用这种处理器处理数据修改事件,与表的region联系紧密
    • MasterObserver 可以用作管理或DDL类型的操作,属于集群级事件
    • WALObserver 提供控制WAL的钩子函数
  • endpoint 通过添加一些远程过程调用来动态扩展RPC协议,可以理解为类似于存储过程

小示例

阅读全文 »