Russ Xia Blog

身处寒夜,把握星光。

TCP如何保证可靠传输和流量控制

流量控制与滑动窗口以及拥塞控制

流量控制与滑动窗口 虽然发送方的发送窗口是根据接受方的接受窗口指定的,但是发送方的窗口,并不一定等于接收方的接受窗口 网络传送窗口值存在一定的时间滞后,且这个过程中发送方可能依然在用老的窗口发送数据。 发送方可能发生拥塞,此时发送方可能会适当减小自己的发送窗口 对于不按序达到的TCP报文如何处理,TCP并没有明确规定。 ...

TCP/UDP相关基础知识小结

OSI模型,TCP/UDP协议对比,常见的TCP攻击

OSI七层模型、TCP/IP四层协议、五层协议 对于通信系统的分层,通常有三种分层模型: OSI七层模型 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP四层模型(4层):网络接口层、 网际层、运输层、 应用层。 五层模型 (5层):物理层、数据链路层、网络层、运输层、 应用层。 ...

由MateSpace空间不足引发的FullGC

线上MateSpace引发的FullGC问题排查记录

问题背景 测试环境和预发环境:JDK版本均为1.8,使用的GC算法均为CMS,但是具体的JVM参数有所差异,预发的JVM配置更小(环境问题搞死人呀)。 开发一个的一个功能,普通的业务功能,只是多了文件流的处理,但是量级也不算太大,在测试环境没有任何异常。 部署到预发环境,开始比较正常,但是系统出现504,业务日志出现MQ心跳检查超时,以及MateSpace OOM的异常。检查gc...

MySQL中的EXPLAIN

EXPLAIN命令作用及其参数解释

MySQL中的EXPLAIN EXPLAIN : query Execution plan,平常工作中,我们会借助 EXPLAIN 命令分析SELECT语句的执行计划,查看使用到的索引,扫描的行数,来优化我们的查询。 EXPLAIN 包含的信息大致有select_type,table,partitions(5.7),type,key,extra等十余列,下面将会对其中出现的某些列,进行具...

Dubbo中的知识点总结

Dubbo的基础知识:线程模型、协议、序列化方式、负载均衡策略、集群容错模式等等

所有内容,以Dubbo官方的2.7.5 release版本为基础。 Dubbo中的同步调用/异步调用 Dubbo框架中的默认缺省协议:Dubbo协议(DubboProtocol)采用的是单一长连接,底层默认使用的是Netty的NIO异步通信。这种协议适用于小数据量大并发的服务调用。基于这种机制,Dubbo主要提供了以下几种调用方式: one way(客户端发送消息后,不需要接受响...

给GitHub Pages配置域名和https

GitHub Pages配置https,以及自定义域名配置

给GitHub Pages配置域名和https 一直都想买个域名供自己的博客使用,最近终于下定决心剁手了。在这里记录下给GitHub Pages配置域名和https的过程,以供参考。 可以参考github上的文档: https://help.github.com/en/github/working-with-github-pages/configuring-a-custom-domain...

MySQL与B-Tree和B+Tree

二叉树和平衡二叉树,B-Tree和B+Tree

MySQL与B-Tree和B+Tree MySQL支持多种存储引擎,如InnoDB,MyISAM,Memory等等。其中InnoDB支持事物安全(ACID),支持行锁定和外键,因而成为了MySQL默认的存储引擎。(MyISAM是在MySQL 5.5.5 之前的默认引擎) InnoDB是支持事物安全的存储引擎,支持行锁定和外键,支持 B-Tree/Hash/FullText 索引类型...

个人常用的效率软件及说明

个人常用的效率软件及说明

个人常用的效率软件及说明 俗话说,工欲善其事,必先利其器。好的工具可以帮助我们提升工作和学习。废话不多说,今天就说一说我的一些常用的工具,以及一些相关配置和快捷键。 iTerm2 + oh-my-zsh 这一套组合,对于开发来说,有多么方便,那就不用多说了。下面说说一些可能会遇到的一些小问题,和一些很值得试一试的插件。 安装oh-my-zsh以后,bash_profile不生效 ....

Surge3配置vmess协议

Surge3 For Mac(v3.3.1)配置vmess协议

Surge3(3.3.1)配置vmess协议 关于Surge,神兵利器,这里就不多赘述了。以前Surge是不支持vmess协议的,因为某些特殊原因,不得不使用V2rayU+vmess作为主要工具,Surge+SSR作为备用工具,凑合了一段时间。听说最近Surge3.3.1(Beta)支持了vmess协议,直接开始尝试下。 Surge For Mac,配置vmess 截止到目前(2019...

JDBC字符集乱码问题

线上JDBC字符集乱码问题排查记录

JDBC字符集乱码问题 问题背景 数据库:mysql 5.7 datasource数据源:druid Connector/J: 5.1.38 公司线上报警,发现抛出 UncategorizedSQLException 异常,看到异常栈的信息,基本可以断定是字符集设置的问题。 Cause: java.sql.SQLException: Incorrect string...