会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
蘑菇先生
技术笔记。
博客园
首页
订阅
管理
2020年10月9日
分布式系统中的事务问题
摘要: 介绍 在分布式系统、微服务架构大行其道的今天,服务间互相调用出现失败已经成为常态。如何处理异常,如何保证数据一致性,成为微服务设计过程中,绕不开的一个难题。 在不同的业务场景下,解决方案会有所差异,常见的方式有: 阻塞式重试; 2PC、3PC 传统事务; 使用队列,后台异步处理; TCC 补偿事务;
阅读全文
posted @ 2020-10-09 20:17 蘑菇先生
阅读(1617)
评论(0)
推荐(0)
2020年4月13日
time_wait 原理分析和优化
摘要: "产生原因" "TIME\_WAIT 状态" "2 MSL 时间" "序列号回绕" "导致问题" "Nginx" "长连接" "参数优化" "复用 TIME\_WAIT 连接" "增加端口数量" "加快回收" "其他" "参考" 产生原因 TCP 连接关闭时,会有 4 次通讯(四次挥手),来确认双方
阅读全文
posted @ 2020-04-13 08:45 蘑菇先生
阅读(4126)
评论(4)
推荐(0)
2019年10月29日
Go中http超时问题的排查
摘要: "背景" "排查" "推测" "连接超时" "疑问" "http2" "解决超时" "并发连接数" "服务端限制" "真相" "重试" "解决办法" "问题1" 背景 最新有同事反馈,服务间有调用超时的现象,在业务高峰期发生的概率和次数比较高。从日志中调用关系来看,有2个调用链经常发生超时问题。 问
阅读全文
posted @ 2019-10-29 08:19 蘑菇先生
阅读(9982)
评论(8)
推荐(5)
2018年7月17日
Go中链路层套接字的实践
摘要: "1\. 介绍" "2\. 服务端" "3\. 协议头部" "4\. 客户端" "5\. 总结" 1. 介绍 接上次的博客,按照约定的划分,还有一层链路层socket。这一层就可以自定义链路层的协议头部(header)了,下面是目前主流的Ethernet 2(以太网)标准的头部: 相比IP和TCP的
阅读全文
posted @ 2018-07-17 08:45 蘑菇先生
阅读(2358)
评论(0)
推荐(1)
2018年5月28日
Go中原始套接字的深度实践
摘要: 为了便于后面理解,这里统一称应用数据为 payload,协议头部为 header,套接字为socket。由于平常使用的socket是建立在传输层之上,并且不可以自定义传输层协议头部的socket,约定称之为应用层socket,传输层socket,网络层socket
阅读全文
posted @ 2018-05-28 08:53 蘑菇先生
阅读(14295)
评论(5)
推荐(10)
2018年5月7日
Go中string转[]byte的陷阱
摘要: 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 蘑菇先生
阅读(32072)
评论(14)
推荐(7)
2018年4月28日
WSL与Windows交互实践
摘要: "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 蘑菇先生
阅读(24557)
评论(2)
推荐(5)
2016年7月24日
qt5中信号和槽的新语法
摘要: qt5中的连接 有下列几种方式可以连接到信号上 旧语法 qt5将继续支持旧的语法去连接,在QObject对象上定义信号和槽函数,及任何继承QObjec的对象(包含QWidget)。 connect(sender, SIGNAL (valueChanged(QString,QString)),rece
阅读全文
posted @ 2016-07-24 18:34 蘑菇先生
阅读(27510)
评论(0)
推荐(2)
2015年12月28日
Windows10-UWP中设备序列显示不同XAML的三种方式[3]
摘要: 阅读目录:概述DeviceFamily-Type文件夹DeviceFamily-Type扩展InitializeComponent重载结论概述Windows10-UWP(Universal Windows Platform)增加一个新特性设备序列(DeviceFamily)特定视图,它允许开发者为指...
阅读全文
posted @ 2015-12-28 08:43 蘑菇先生
阅读(2370)
评论(1)
推荐(5)
2015年12月27日
揭秘Windows10 UWP中的httpclient接口[2]
摘要: 阅读目录:概述如何选择System.Net.HttpWindows.Web.HttpHTTP的常用功能修改http头部设置超时使用身份验证凭据使用客户端证书cookie处理概述作为一个Universal Windows Platform (UWP)开发者,如果你尝试使用http与web服务或其他服务...
阅读全文
posted @ 2015-12-27 13:51 蘑菇先生
阅读(5699)
评论(1)
推荐(10)
2015年11月23日
Windows10自适应和交互式toast通知[1]
摘要: 阅读目录:概述toast通知的结构视觉区域(Visual)行为(Actions)特定场景下的Toast通知带多内容的通知带行为的通知(例子1)带行为的通知(例子2)带文本输入框和行为的通知(例子1)带文本输入框和行为的通知(例子2)带下拉框输入和行为的通知提醒通知前后台激活的例子和的Schema的S...
阅读全文
posted @ 2015-11-23 07:29 蘑菇先生
阅读(5188)
评论(4)
推荐(7)
2015年11月16日
浅谈分布式计算的开发与实现(二)
摘要: 阅读目录:实时计算storm简介流式计算归纳总结高容错性实时计算接上篇,离线计算是对已经入库的数据进行计算,在查询时对批量数据进行检索、磁盘读取展示。 而实时计算是在数据产生时就对其进行计算,然后实时展示结果,一般是秒级。 举个例子来说,如果有个大型网站,要实时统计用户的搜索内容,这样就能计算出热点...
阅读全文
posted @ 2015-11-16 08:47 蘑菇先生
阅读(9565)
评论(4)
推荐(15)
2015年11月12日
浅谈分布式计算的开发与实现(一)
摘要: 计算任务分发。 master把需要计算的用户数据,不断的推送消息队列。 程序一致性。 Worker订阅相同的消息队列即可,无需更改程序代码。 任意扩容。 由于程序完全一样,意味着如果想要加快速度,重复部署一份程序到新机器即可。 当然这是理论上的,实际当中会受限于消息队列、存储层(数据库)。 容灾性。 如果5台中某一台程序挂了也不影响,利用Rabbitmq的消息确认机制,重新计算机器崩溃时正在计算的那一条数据即可
阅读全文
posted @ 2015-11-12 19:32 蘑菇先生
阅读(58497)
评论(5)
推荐(23)
2015年11月10日
topshelf和quartz内部分享
摘要: 阅读目录:介绍基础用法调试及安装可选配置多实例支持及相关资料quartz.net上月在公司内部的一次分享,现把PPT及部分交流内容整理成博客。介绍topshelf是创建windows服务的一种方式,相比原生实现ServiceBase、Install.Installer更为简单方便, 我们只需要几行代...
阅读全文
posted @ 2015-11-10 12:07 蘑菇先生
阅读(10114)
评论(4)
推荐(14)
2015年9月30日
博客目录导读
摘要: 阅读目录: 浅谈C#网络编程系列 探索C#系列 Redis系列 缓存设计系列 Net作业调度系列 多线程锁系列 日志系统及SOA系列 按日期从新到旧及其他 Golang系列 Go中http超时问题的排查 Go中链路层套接字的实践 Go中原始套接字的深度实践 Go中string转[]byte的陷阱 探
阅读全文
posted @ 2015-09-30 20:00 蘑菇先生
阅读(4835)
评论(6)
推荐(10)
下一页
公告