摘要:最简单粗暴也是实践中最常用的应对方案就是:升级机器、加机器(所以架构的时候要考虑好水平扩展) 大多数应用都是读大于写,解决方案很简单:加缓存+读写分离 对于写大于读的方案,见 (关系型)数据库优化总结 Nginx:能轻松的处理c100k问题,内存越大,能处理的并发量越高 Redis: https:/ 阅读全文
posted @ 2021-08-01 17:59 林锅 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Gossip protocol 也叫 Epidemic Protocol (流行病协议),实际上它还有很多别名,比如:“流言算法”、“疫情传播算法”等。 这个协议的作用就像其名字表示的意思一样,非常容易理解,它的方式其实在我们日常生活中也很常见,比如电脑病毒的传播,森林大火,细胞扩散等等。 Goss 阅读全文
posted @ 2021-07-18 17:06 林锅 阅读(7) 评论(0) 推荐(0) 编辑
摘要:在 HTTP/2 的规范中定义了许多帧类型,每个帧类型由唯一的 8 位类型代码标识。每种帧类型在建立和管理整个连接或单个 stream 流中起到不同的作用。 特定的帧类型的传输可以改变连接的状态。如果端点无法维持连接状态的同步视图,则无法在连接内继续成功通信。因此,重要的是端点必须共享的理解状态,在 阅读全文
posted @ 2021-06-14 18:13 林锅 阅读(41) 评论(0) 推荐(0) 编辑
摘要:HTTP 的基本优化 影响一个 HTTP 网络请求的因素主要有两个:带宽和延迟。 带宽:如果说我们还停留在拨号上网的阶段,带宽可能会成为一个比较严重影响请求的问题,但是现在网络基础建设已经使得带宽得到极大的提升,我们不再会担心由带宽而影响网速,那么就只剩下延迟了。 延迟: 浏览器阻塞(HOL blo 阅读全文
posted @ 2021-06-14 15:47 林锅 阅读(24) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-05-20 18:31 林锅 阅读(5) 评论(0) 推荐(0) 编辑
摘要:go-micro 支持很多通信协议:http、tcp、grpc等,支持的编码方式也很多有json、protobuf、bytes、jsonrpc等。也可以根据自己的需要实现通信协议和编码方式。go-micro 默认的通信协议是http,默认的编码方式是protobuf。 主要代码定义如下: // Cl 阅读全文
posted @ 2021-05-10 16:00 林锅 阅读(50) 评论(0) 推荐(0) 编辑
摘要:go-micro 支持很多通信协议:http、tcp、grpc等,支持的编码方式也很多有json、protobuf、bytes、jsonrpc等。也可以根据自己的需要实现通信协议和编码方式。go-micro 默认的通信协议是http,默认的编码方式是protobuf。 主要代码定义如下: type 阅读全文
posted @ 2021-05-10 11:27 林锅 阅读(45) 评论(0) 推荐(0) 编辑
摘要:broker是用于消息的订阅和发布,即异步处理,不过通常会使用队列方式替代,很少使用go-micro的broker 默认是http方式 // Broker is an interface used for asynchronous messaging. type Broker interface { 阅读全文
posted @ 2021-04-20 17:28 林锅 阅读(88) 评论(0) 推荐(0) 编辑
摘要:transport 用于服务之间的通信,自定义了socket接口,封装了Send、Recv、Close接口,可以有HTTP、NATS、RPC等实现,默认使用http type Message struct { Header map[string]string Body []byte } type S 阅读全文
posted @ 2021-04-20 15:37 林锅 阅读(75) 评论(0) 推荐(0) 编辑
摘要:codec 用于各种信息的加解密,具体接口如下: // Codec encodes/decodes various types of messages used within go-micro. // ReadHeader and ReadBody are called in pairs to re 阅读全文
posted @ 2021-04-19 17:34 林锅 阅读(37) 评论(0) 推荐(0) 编辑