摘要:
背景介绍 目前开发的产品架构采用微服务架构,微服务之间通信的消息格式则使用的proto3标准协议格式。 proto介绍 全称Protocol Buffers是Google公司开发的一种数据描述语言,是一种类似 XML但更灵活和高效的结构化数据存储格式,可用于结构化数据的序列化,适用于数据存储、RPC 阅读全文
摘要:
第一章 MySQL 的灵活性体现在很多方面,但其中最与众不同的特性是它的存储引擎架构:将查询处理以及其他系统任务和数据的存储/提取相分离。这种设计使得可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。 MySQL 架构整体上分为三层:第一层处理连接、权限等;第二层包含所有核心的功能,例如 阅读全文
摘要:
背景 缓存是软件开发中一个非常有用的概念,数据库缓存更是在项目中必然会遇到的场景。而缓存一致性的保证,针对不同的要求,选择恰到好处的一致性方案。 缓存是什么 存储的速度是有区别的。缓存就是把低速存储的结果,临时保存在高速存储的技术。 如图所示,金字塔上层的存储,可以作为下层存储的缓存。 数据存储和访 阅读全文
摘要:
什么是DoS攻击 DoS 攻击,又叫拒绝服务攻击,按照字面意思就是服务因为遭到攻击而被拒绝,这种情况往往伴随着大量的流量。 流量就是人们请求某个网站,网站会相应的返回人们请求的数据,这种行为产生的名词就可以看成是流量。 有益的流量,不仅可以帮助人们搜索到想要的信息,还能对网站本身带来直接或者间接收益 阅读全文
摘要:
第三次的ack包丢失就是说在client端接收到syn + ack之后,向server发送的ack包,由于各种原因server没有收到。这时client, server分别会进行怎样的处理? Server 端 第三次的ACK在网络中丢失,那么Server 端该TCP连接的状态为SYN_RECV,此时 阅读全文
摘要:
DNS(Domain Name System)使用UDP(User Datagram Protocol)而不是TCP(Transmission Control Protocol)的主要原因是出于性能和效率的考虑,有以下几点: 小型请求和快速响应:DNS查询通常是小型请求,仅需要几个字节的数据传输。U 阅读全文
摘要:
channel是引用类型,需要实用make来创建channel,如下 make(chan Type, [buffer]) chan Type 通道的类型buffer 是可选参数,代表通道缓冲区的大小(省略则代表无缓冲) 使用make创建channel,第一个参数是channel类型。size表示缓冲 阅读全文
摘要:
1. 什么是websocket WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议) 它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的 Websocket是一个持久化的协议 2. websocket的原理 websock 阅读全文
摘要:
1)var 变量声明多用于全局变量 var name type // var 变量名 数据类型 定义一个 type 类型的变量 name, 并分配内存空间给 name 赋 type 类型的零值。 var name *type 定义一个 type 类型的指针变量 name, 指针变量不分配内存空间,零 阅读全文
摘要:
1.工作位置: 在OSI七层模型中,TCP和UDP工作在传输层,使源端主机和目标主机上提供端到端的会话,也就是常说的端口号,因为ip协议可能分组经过不同的路由路径传输,因此主机的ip层不保证顺序,也不保证一定收到,因此在传输层就需要做到一些事情: 提供端到端的数据传递 顺序保证 可靠性保证 2.TC 阅读全文