随笔分类 - golang
1
摘要:以后会开一个板块,摸鱼快报,快速记录这几周开发中雕虫小技。 1. 向开发环境localhost:3000种植cookie 前端使用Create React App脚手架,默认以localhost:3000端口启动; 后端使用golang-gin框架,使用8034端口启动。 登录模块走的是sso,前后
阅读全文
摘要:先重温一下什么叫反向代理,正向代理。 鹅厂二面,nginx回忆录 所谓正向/反向代理取决于代理的是出站请求,还是入站请求。 正向代理: 代理的出站请求, 客户端能感知到代理程序,架构上距离客户端更近。 反向代理: 代理的是入站请求,客户端认为代理程序就是服务器,客户端感知不到代理逻辑,架构上距离服务
阅读全文
摘要:大家好,我是马甲哥, 学习新知识, 我的策略是模仿-->归纳 >举一反三, 在同程倒腾Go语言一年有余,本次记录《闻道Go语言,6月龄必知必会》,形式是同我的主力语言C#做姿势对比。 1. 宏观预览 1.1 常见结构对比 某些不一定完全对标,实现方式,侧重点略点差异。 go语言 C#语言 modul
阅读全文
摘要:先重温一下什么叫反向代理,正向代理。 鹅厂二面,nginx回忆录 所谓正向,反向代理取决于代理的是出站请求,还是入站请求。 正向代理: 代理的出站请求, 客户端能感知到代理程序,架构上距离客户端更近。 反向代理: 代理的是入站请求,客户端认为代理程序就是服务器,客户端感知不到代理逻辑,架构上距离服务
阅读全文
摘要:信道是一个goroutine之间很关键的通信媒介,理解golang的信道很重要,这里记录平时易忘记的、易混淆的点。 ``` func main() { chs := make(chan string, 2) chs 接收;否则,先准备好的一方将会阻塞等待。 - 有缓冲信道 make(chan int
阅读全文
摘要:[定义]: golang的方法(Method)是一个带有receiver的函数Function,Receiver是一个特定的struct类型,当你将函数Function附加到该receiver, 这个方法Method就能获取该receiver的属性和其他方法。 [面向对象]: golang方法Met
阅读全文
摘要:转一个我在知乎上回答的有关raft election timeout/ heartbeat interval 的回答吧。 答:准确来讲: election是timeout,而heartbeat 是interval, 这样就很容易理解了。 heartbeat interval 是leader 安抚fo
阅读全文
摘要:本次将记录[利用etcd选主sdk实践master/slave高可用], 并利用etcdctl原生脚本验证选主sdk的工作原理。 master/slave高可用集群 本文目标 在异地多机房部署节点,slave作为备用实例启动,但不接受业务流量, 监测到master宕机,slave节点自动提升为mas
阅读全文
摘要:传统cpu调度背景 #操作系统原理# 线程切换 行为 时机 代价 go是怎样的思路 将调度维持在用户态 推出用户态runtime代码实现的轻量级线程 go调度策略 常规: 本地队列- 其他队列、全局队列 协作式调度: 基于用户态事件 -- 异步io: 网络: 基于netpoller -- 同步io:
阅读全文
摘要:.NET在这方面,是真的博采众长。
阅读全文
摘要:http是请求-响应模型,发起方一直是客户端,connection:keep-alive的初衷是**为客户端后续的请求重用连接**,
如果我们在某次请求--响应模型中,请求定义了connection:close, 那不再重用这个连接的时机就只有在服务端了,不能等到下次请求再关闭连接,因为可能根本就没下次请求,所以我们在请求-响应这个周期的末端关闭连接是合理的。
阅读全文
摘要:上文讲到使用ioutil.ReadAll读取大的Response Body,出现读取Body超时的问题。 前人引路 Stackoverflow的morganbaz的看法是: 使用iotil.ReadAll去读取go语言里大的Response Body,是非常低效的; 另外如果Response Bod
阅读全文
摘要:## 故障现场 ![](https://files.mdnice.com/user/4236/17943a3f-7903-40f4-b9b6-cfcdc6ae8736.png) 本人负责的`主备集群`,发出的 HttpClient 请求有 30%概率超时, 报`context deadline ex
阅读全文
摘要:上文中我的结论是: HTTP Keep-Alive 是在应用层对TCP连接进行滑动续约复用, 如果客户端/服务器稳定续约,就成了名副其实的长连接。 目前所有的Http网络库都默认开启了HTTP Keep-Alive,今天我们从底层TCP连接和排障角度撕碎HTTP持久连接。 使用go语言倒腾一个htt
阅读全文
摘要:宝物简介 grpcur是一个与grpc服务器交互的命令行工具,可认为是gRPC的curl工具。 grpcurl用于从命令行调用gRPC服务器支持的RPC方法,gRPC使用二进制编码(protobuf), 不能利用常规的curl工具(早期的curl版本还不支持HTTP/2)。 grpcurl工具接受j
阅读全文
摘要:> 前天倒腾了一份[SignalR在react/go技术栈的实践], 步骤和思路大部分是外围框架的应用, 今天趁热打铁, 给一个我总结的SignalR避坑指南。 ## 1.[SignalR 默认协商](https://docs.microsoft.com/en-us/aspnet/core/sign
阅读全文
摘要:哼哧哼哧半年,优化改进了一个运维开发web平台。 本文记录SignalR在react/golang 技术栈的生产小实践。 一. 背景 有个前后端分离的运维开发web平台, 后端会间隔1分钟同步一次数据,现在需要将最新一次同步的时间推送到web前端。 说到[web服务端推送],立马想到SignalR。
阅读全文
摘要:之前有小伙伴问我 async/await语法糖编译后其实是状态机模型,到底什么是状态机? 状态机是一种行为设计模式,它允许对象在其内部状态改变时改变其行为。看起来好像对象改变了它的类。 请仔细理解上面每一个字。 我们以自动售货机为例,为简化演示,我们假设自动售货机只有1种商品, 故自动售货机有ite
阅读全文
1