wangdiqi Blog

没有尽头,何来终点。

WebRTC 学习

WebRTC 学习

基础知识 协议 在 WebRTC 中, RTP/RTCP 只是众多协议中的比较重要的两个,还有 SRTP/SRTCP、DTLS、STUN/TURN 协议等 WebRTC 的 RTCDataChannel 使用的传输协议为 SCTP (Stream Control Transport Protocol) SDP //////////////////// 会话描述 // v=(prot...

MQ 学习

MQ 学习

基础知识 协议和标准 JMS AMQP MQTT 和 OpenMessaging 没有任何一种协议和标准可以一统江湖 开源应用 rabbitMQ rocketMQ kafka 消息中间件性能测试 openmessaging-benchmark

抓包工具

network

“Let’s go” wireshark 捕获过滤器 用于减少抓取的报文体积 使用BPF语法,功能相对有限 点击 捕获(capture)-> 选项(Option) 网卡设备/流量/捕获过滤器 输出 指定缓存文件 / 选项(显示、名称解析、自动停止抓包条件) 面板 BPF 语法 primitives原语:由名称或数字,以及描述它的多个限定词组成 ...

golang

golang

“Let’s go” 基础名词 GOROOT:Go 语言安装根目录的路径,也就是 GO 语言的安装路径。 GOPATH:若干工作区目录的路径。是我们自己定义的工作空间。 GOBIN:GO 程序生成的可执行文件(executable file)的路径。 常用命令 # option # -a 不但目标代码包总是会被编译,依赖的代码包也总会被编译,及时是标准库中的代码包也一样 # ...

iptables

network tools

“Let’s go” 基础名词知识 网卡(Network Interface) 回环设备(Loopback Device) 路由表(Routing Table) iptables规则 网桥(Bridge),工作在数据链路层,主要功能是根据MAC地址学习来将数据包转发到网桥的不同端口(Port)上 Veth Pair 常用命令 # 网桥管理工具 brctl show # ...

dig

network tools

“Let’s go” # 显示详细信息 dig wangdiqi.github.com # 简化显示信息 dig +short wangdiqi.github.com # 向指定的dns服务器查询 dig @8.8.8.8 wangdiqi.github.com # 显示整个分级查询过程 dig +trace wangdiqi.github.com # 查看每一级域名的NS记录 d...

k8s

k8s

“Let’s go” 计算、存储、网络 集群管理、服务发现、容器编排 云原生 松耦合的微服务:通过轻量级协议(例如HTTP)进行通信。 无状态且可规模化部署:将状态存储在数据库或其它外部实体中。无论是集群内还是跨集群的实例都可以访问并同事处理请求。 故障的容忍性和弹性:应用程序跨多个物理数据中心部署,自由启动、关闭和迁移 云计算 基础架构即服务(Infrastruct...

java8

java

“Let’s go” legacy class 问题 替代 HashTable 单线程 HashMap 多线程 ConcurrentHashMap 替代Stack Deque 替代Vector ArrayList

CS Architecture

architecture

“Let’s go” 常用的一些耗时知识 内存和L1、L2缓存 访问L2 cache 大概是 L1 cache的10几倍左右 访问一次内存是访问L2 cache的20倍,是访问L1 cache耗时的200倍 编写对cache友好的程序是至关重要的 分支预测 因为现代CPU内部采用流水线方式来处理机器指令,因此在if指令未执行完时,后续指令已经被加到了流水线中,此时CPU需要...

CS Architecture

architecture

“Let’s go” 常用的一些耗时知识 内存和L1、L2缓存 访问L2 cache 大概是 L1 cache的10几倍左右 访问一次内存是访问L2 cache的20倍,是访问L1 cache耗时的200倍 编写对cache友好的程序是至关重要的 分支预测 因为现代CPU内部采用流水线方式来处理机器指令,因此在if指令未执行完时,后续指令已经被加到了流水线中,此时CPU需要...