摘要:
1. OSI开放系统互联 定义了网络框架,以层为单位实现协议,同时控制权逐层传递。 OSI实际并没有落地,TCP/IP 5层协议栈是目前主流的落地实现。 1.1. TCP/IP 5层协议栈 TCP/IP协议栈不止是传输层tcp/网络层ip, 还包括应用层等,这是一个协议簇,只是因为TCP/IP很具代 阅读全文
摘要:
前言 现代计算机基于计算、存储和调度的体系, 于是现代架构都是围绕这三大话题不断演进。 在基础架构部, 也是主要为了解决这三个难题,为业务事业部提供透明的、高可用、可快速伸缩的 三大能力, 我们组主要负责 [流量调度] 这个话题,下面是一些宏观的技术笔记。 在单体结构, 流量调度是直观且无感的(DN 阅读全文
摘要:
从其他语言转到Go语言,往往会有路径依赖;Go语言核心数据结构比较随意的设计风格,初学者往往会陷入很多坑位。 https://go.dev/doc/effective_go golang官方出的快速指南,值得深度。 1. 核心数据结构 值类型包括:所有integer、所有float、bool、str 阅读全文
摘要:
以后会开一个板块,摸鱼快报,快速记录这几周开发中雕虫小技。 1. 向开发环境localhost:3000种植cookie 前端使用Create React App脚手架,默认以localhost:3000端口启动; 后端使用golang-gin框架,使用8034端口启动。 登录模块走的是sso,前后 阅读全文
摘要:
本文的知识点其实由golang知名的for循环陷阱发散而来, 对应到我的主力语言C#, 其实牵涉到闭包、foreach。为了便于理解,我重新组织了语言,以倒叙结构行文。 先给大家提炼出一个C#题:观察for、foreach闭包的差异 左边输出 5个5; 右边输出0,1,2,3,4, 答对的可以不用看 阅读全文
摘要:
先重温一下什么叫反向代理,正向代理。 鹅厂二面,nginx回忆录 所谓正向/反向代理取决于代理的是出站请求,还是入站请求。 正向代理: 代理的出站请求, 客户端能感知到代理程序,架构上距离客户端更近。 反向代理: 代理的是入站请求,客户端认为代理程序就是服务器,客户端感知不到代理逻辑,架构上距离服务 阅读全文
摘要:
学习新知识,我的策略是模仿-->归纳 >举一反三, 本次记录入局Golang,6月龄必知必会,形式是同我的主力语言C#做对比。 1. 宏观预览 1.1 常见结构对比 go语言 C#语言 module assemble package go get github.com/thoas/go-funk n 阅读全文
摘要:
两将军问题,又被称为两将军悖论、两军问题, 是一个经典的计算机思想实验。 首先, 为避免混淆,我们需要认识到两将军问题虽然与拜占庭将军问题相关,但两者不是一个东西。拜占庭将军问题是一个更通用的两将军问题版本, 通常在分布式系统故障容错、区块链中广泛讨论。 1.双将军问题 两支军队,驻扎在两个山头,准 阅读全文

摘要:
早期跟着别人人云亦云 阅读全文
摘要:
好久不见,马甲哥封闭居家半个月,记录之前遇到的一件小事。 ConcurrentDictionary<TKey,TValue>绝大部分api都是线程安全且原子性的, 唯二的例外是接收工厂委托的api:AddOrUpdate、GetOrAdd,这两个api的全过程不是原子性的,需要引起重视。 All t 阅读全文