摘要:
先重温一下什么叫反向代理,正向代理。 鹅厂二面,nginx回忆录 所谓正向,反向代理取决于代理的是出站请求,还是入站请求。 正向代理: 代理的出站请求, 客户端能感知到代理程序,架构上距离客户端更近。 反向代理: 代理的是入站请求,客户端认为代理程序就是服务器,客户端感知不到代理逻辑,架构上距离服务 阅读全文
摘要:
之前两次signalr、 websocket实时推送相关: .NET WebSockets 核心原理初体验 SignalR 从开发到生产部署避坑指南 tag: 浏览器 >nginx--> server 其中提到nginx默认不会为客户端转发Upgrade、Connection标头, 因为为了让被代理 阅读全文
摘要:
信道是一个goroutine之间很关键的通信媒介,理解golang的信道很重要,这里记录平时易忘记的、易混淆的点。 ``` func main() { chs := make(chan string, 2) chs 接收;否则,先准备好的一方将会阻塞等待。 - 有缓冲信道 make(chan int 阅读全文
摘要:
C# ConfigurationManager使用记录 最近一个祖传代码是使用.NET Fx写就的,我在使用控制台程序获取配置时有些折腾。 下面记录一些管理配置文件的姿势: ConfigurationManager用于在客户机应用程序中获取配置信息; 对于web项目,请使用WebConfigurat 阅读全文
摘要:
[定义]: 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 阅读全文
摘要:
先谈一下我对Span的看法, span是指向任意连续内存空间的类型安全、内存安全的视图。 如果你了解【滑动窗口】, 对Span的操作还可以理解为 针对连续内存空间的 滑动窗口。 Span和Memory都是包装了可以在pipeline上使用的结构化数据的内存缓冲器,他们被设计用于在pipeline中高 阅读全文
摘要:
自动故障转移是服务高可用的一种实现方式。mongodb,redis哨兵集群、 etcd都具备某种程度的故障转移能力。 今天记录利用etcd选举sdk实践 服务自动故障转移 服务以leader、follower多节点启动,日常leader接受所有业务流量,follower作为备用实例,不接受业务流量; 阅读全文
摘要:
回顾一下前文《三分钟掌握共享内存模型和 Actor模型》 Actor vs CSP模型 传统多线程的的共享内存(ShareMemory)模型使用lock,condition等同步原语来强行规定进程的执行顺序。 Actor模型,是基于消息传递的并发模型,强调的是Actor这个工作实体,每个Actor自 阅读全文
摘要:
如题, 说到轻量级用户态线程,就要从操作系统的调度模型这个大背景 开始聊了。 1. 大背景:常规资源调度模型 调度说白了就是: 下马、换人、再上马跑, 资源就是马。 操作系统分为用户态和内核态(或者叫用户空间和内核空间), 内核态是一种特殊的调度程序,统筹有限的计算机硬件资源,例如协调CPU资源、分 阅读全文