摘要:
介绍 在分布式系统、微服务架构大行其道的今天,服务间互相调用出现失败已经成为常态。如何处理异常,如何保证数据一致性,成为微服务设计过程中,绕不开的一个难题。 在不同的业务场景下,解决方案会有所差异,常见的方式有: 阻塞式重试; 2PC、3PC 传统事务; 使用队列,后台异步处理; TCC 补偿事务; 阅读全文
摘要:
"产生原因" "TIME\_WAIT 状态" "2 MSL 时间" "序列号回绕" "导致问题" "Nginx" "长连接" "参数优化" "复用 TIME\_WAIT 连接" "增加端口数量" "加快回收" "其他" "参考" 产生原因 TCP 连接关闭时,会有 4 次通讯(四次挥手),来确认双方 阅读全文
摘要:
"背景" "排查" "推测" "连接超时" "疑问" "http2" "解决超时" "并发连接数" "服务端限制" "真相" "重试" "解决办法" "问题1" 背景 最新有同事反馈,服务间有调用超时的现象,在业务高峰期发生的概率和次数比较高。从日志中调用关系来看,有2个调用链经常发生超时问题。 问 阅读全文
摘要:
"1\. 介绍" "2\. 服务端" "3\. 协议头部" "4\. 客户端" "5\. 总结" 1. 介绍 接上次的博客,按照约定的划分,还有一层链路层socket。这一层就可以自定义链路层的协议头部(header)了,下面是目前主流的Ethernet 2(以太网)标准的头部: 相比IP和TCP的 阅读全文
摘要:
为了便于后面理解,这里统一称应用数据为 payload,协议头部为 header,套接字为socket。由于平常使用的socket是建立在传输层之上,并且不可以自定义传输层协议头部的socket,约定称之为应用层socket,传输层socket,网络层socket 阅读全文
摘要:
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 参考 这个回复比原贴有意思,也很有迷惑性。作者测试了下,确实如此,于是和小伙伴们讨论深究下。开始以为应该挺简单的,理解后,发现涉及挺多知识点,值得跟大家分享下过程。 阅读全文
摘要:
"1\. WSL是什么" "2\. WSL新特性" "3\. WSL管理配置" "4\. WSL交互" "5\. 解决方案" "5\.1 使用别名" "5\.2 多复制一份" "5\.3 重定向" "5\.4 symlink" "6\. 其他" 阅读全文
摘要:
qt5中的连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧的语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec的对象(包含QWidget)。 connect(sender, SIGNAL (valueChanged(QString,QString)),rece 阅读全文
摘要:
阅读目录:概述DeviceFamily-Type文件夹DeviceFamily-Type扩展InitializeComponent重载结论概述Windows10-UWP(Universal Windows Platform)增加一个新特性设备序列(DeviceFamily)特定视图,它允许开发者为指... 阅读全文
摘要:
阅读目录:概述如何选择System.Net.HttpWindows.Web.HttpHTTP的常用功能修改http头部设置超时使用身份验证凭据使用客户端证书cookie处理概述作为一个Universal Windows Platform (UWP)开发者,如果你尝试使用http与web服务或其他服务... 阅读全文
摘要:
阅读目录:概述toast通知的结构视觉区域(Visual)行为(Actions)特定场景下的Toast通知带多内容的通知带行为的通知(例子1)带行为的通知(例子2)带文本输入框和行为的通知(例子1)带文本输入框和行为的通知(例子2)带下拉框输入和行为的通知提醒通知前后台激活的例子和的Schema的S... 阅读全文
摘要:
阅读目录:实时计算storm简介流式计算归纳总结高容错性实时计算接上篇,离线计算是对已经入库的数据进行计算,在查询时对批量数据进行检索、磁盘读取展示。 而实时计算是在数据产生时就对其进行计算,然后实时展示结果,一般是秒级。 举个例子来说,如果有个大型网站,要实时统计用户的搜索内容,这样就能计算出热点... 阅读全文
摘要:
计算任务分发。 master把需要计算的用户数据,不断的推送消息队列。
程序一致性。 Worker订阅相同的消息队列即可,无需更改程序代码。
任意扩容。 由于程序完全一样,意味着如果想要加快速度,重复部署一份程序到新机器即可。 当然这是理论上的,实际当中会受限于消息队列、存储层(数据库)。
容灾性。 如果5台中某一台程序挂了也不影响,利用Rabbitmq的消息确认机制,重新计算机器崩溃时正在计算的那一条数据即可 阅读全文
摘要:
阅读目录:介绍基础用法调试及安装可选配置多实例支持及相关资料quartz.net上月在公司内部的一次分享,现把PPT及部分交流内容整理成博客。介绍topshelf是创建windows服务的一种方式,相比原生实现ServiceBase、Install.Installer更为简单方便, 我们只需要几行代... 阅读全文
摘要:
阅读目录: 浅谈C#网络编程系列 探索C#系列 Redis系列 缓存设计系列 Net作业调度系列 多线程锁系列 日志系统及SOA系列 按日期从新到旧及其他 Golang系列 Go中http超时问题的排查 Go中链路层套接字的实践 Go中原始套接字的深度实践 Go中string转[]byte的陷阱 探 阅读全文