摘要:"背景" "排查" "推测" "连接超时" "疑问" "http2" "解决超时" "并发连接数" "服务端限制" "真相" "重试" "解决办法" "问题1" 背景 最新有同事反馈,服务间有调用超时的现象,在业务高峰期发生的概率和次数比较高。从日志中调用关系来看,有2个调用链经常发生超时问题。 问 阅读全文
posted @ 2019-10-29 08:19 蘑菇先生 阅读 (936) 评论 (8) 编辑
摘要:"1\. 介绍" "2\. 服务端" "3\. 协议头部" "4\. 客户端" "5\. 总结" 1. 介绍 接上次的博客,按照约定的划分,还有一层链路层socket。这一层就可以自定义链路层的协议头部(header)了,下面是目前主流的Ethernet 2(以太网)标准的头部: 相比IP和TCP的 阅读全文
posted @ 2018-07-17 08:45 蘑菇先生 阅读 (637) 评论 (0) 编辑
摘要:为了便于后面理解,这里统一称应用数据为 payload,协议头部为 header,套接字为socket。由于平常使用的socket是建立在传输层之上,并且不可以自定义传输层协议头部的socket,约定称之为应用层socket,传输层socket,网络层socket 阅读全文
posted @ 2018-05-28 08:53 蘑菇先生 阅读 (3589) 评论 (3) 编辑
摘要:1. 背景 2. slice 2.1 内部结构 2.2 覆盖前值 3. string 3.1 重新分配 3.2 二者转换 4. 逃逸分析 4.1 提高性能 4.2 逃到堆上 4.3 逃逸分配 4.4 大小分配 5. 版本差异 6. 结论 6.1 参考 这个回复比原贴有意思,也很有迷惑性。作者测试了下,确实如此,于是和小伙伴们讨论深究下。开始以为应该挺简单的,理解后,发现涉及挺多知识点,值得跟大家分享下过程。 阅读全文
posted @ 2018-05-07 08:44 蘑菇先生 阅读 (11518) 评论 (9) 编辑
摘要:"1\. WSL是什么" "2\. WSL新特性" "3\. WSL管理配置" "4\. WSL交互" "5\. 解决方案"   "5\.1 使用别名"   "5\.2 多复制一份"   "5\.3 重定向"   "5\.4 symlink" "6\. 其他" 阅读全文
posted @ 2018-04-28 22:25 蘑菇先生 阅读 (10808) 评论 (0) 编辑
摘要:qt5中的连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧的语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec的对象(包含QWidget)。 connect(sender, SIGNAL (valueChanged(QString,QString)),rece 阅读全文
posted @ 2016-07-24 18:34 蘑菇先生 阅读 (22578) 评论 (0) 编辑
摘要:阅读目录:概述DeviceFamily-Type文件夹DeviceFamily-Type扩展InitializeComponent重载结论概述Windows10-UWP(Universal Windows Platform)增加一个新特性设备序列(DeviceFamily)特定视图,它允许开发者为指... 阅读全文
posted @ 2015-12-28 08:43 蘑菇先生 阅读 (1822) 评论 (1) 编辑
摘要:阅读目录:概述如何选择System.Net.HttpWindows.Web.HttpHTTP的常用功能修改http头部设置超时使用身份验证凭据使用客户端证书cookie处理概述作为一个Universal Windows Platform (UWP)开发者,如果你尝试使用http与web服务或其他服务... 阅读全文
posted @ 2015-12-27 13:51 蘑菇先生 阅读 (4550) 评论 (1) 编辑
摘要:阅读目录:概述toast通知的结构视觉区域(Visual)行为(Actions)特定场景下的Toast通知带多内容的通知带行为的通知(例子1)带行为的通知(例子2)带文本输入框和行为的通知(例子1)带文本输入框和行为的通知(例子2)带下拉框输入和行为的通知提醒通知前后台激活的例子和的Schema的S... 阅读全文
posted @ 2015-11-23 07:29 蘑菇先生 阅读 (2923) 评论 (4) 编辑
摘要:阅读目录:实时计算storm简介流式计算归纳总结高容错性实时计算接上篇,离线计算是对已经入库的数据进行计算,在查询时对批量数据进行检索、磁盘读取展示。 而实时计算是在数据产生时就对其进行计算,然后实时展示结果,一般是秒级。 举个例子来说,如果有个大型网站,要实时统计用户的搜索内容,这样就能计算出热点... 阅读全文
posted @ 2015-11-16 08:47 蘑菇先生 阅读 (7914) 评论 (4) 编辑
摘要:计算任务分发。 master把需要计算的用户数据,不断的推送消息队列。 程序一致性。 Worker订阅相同的消息队列即可,无需更改程序代码。 任意扩容。 由于程序完全一样,意味着如果想要加快速度,重复部署一份程序到新机器即可。 当然这是理论上的,实际当中会受限于消息队列、存储层(数据库)。 容灾性。 如果5台中某一台程序挂了也不影响,利用Rabbitmq的消息确认机制,重新计算机器崩溃时正在计算的那一条数据即可 阅读全文
posted @ 2015-11-12 19:32 蘑菇先生 阅读 (45745) 评论 (7) 编辑
摘要:阅读目录:介绍基础用法调试及安装可选配置多实例支持及相关资料quartz.net上月在公司内部的一次分享,现把PPT及部分交流内容整理成博客。介绍topshelf是创建windows服务的一种方式,相比原生实现ServiceBase、Install.Installer更为简单方便, 我们只需要几行代... 阅读全文
posted @ 2015-11-10 12:07 蘑菇先生 阅读 (8062) 评论 (4) 编辑
摘要:阅读目录: 浅谈C#网络编程系列 浅谈C#网络编程(二) 浅谈C#网络编程(一) 探索C#系列 探索C#之storm的TimeCacheMap 探索C#之6.0语法糖剖析 探索C#之跳跃表(SkipList) 探索C#之Async、Await剖析 探索C#之布隆过滤器(Bloom filter) 探 阅读全文
posted @ 2015-09-30 20:00 蘑菇先生 阅读 (3675) 评论 (5) 编辑
摘要:异步IO 非阻塞式同步IO 基于回调的异步IO并发 阅读全文
posted @ 2015-09-30 19:15 蘑菇先生 阅读 (3022) 评论 (2) 编辑
摘要:客户端发送数据 通过广域网局域网发送到服务端机器网卡缓冲区上 网卡驱动对CPU发送中断指令 CPU把数据拷贝到内核缓冲区 CPU再把内核缓冲区的数据拷贝用户缓冲区,上面的receive字节数组。 阅读全文
posted @ 2015-09-29 08:34 蘑菇先生 阅读 (10559) 评论 (16) 编辑