
微服务系统架构设计
文章平均质量分 92
hashcon
做自媒体技术分享很久了,大家的抬爱与支持让我很开心很感激,但是个人本来做这些也并不是为了收益,只是为了个人学习与传播知识帮助更多的人,所以我将全网所有账号全部收益,持续捐给各种公益项目,也算不辜负大家的抬爱,也是回报祖国对我的一番培养。
曾任职于顺丰,华为,网易等公司,从Java小白,成长为资深开发与项目组首席架构师。喜欢源码与开源,曾贡献 MyCat1.6 核心源码,贡献过druid,Spring Cloud,dubbox,Apache RocketMQ,Apache Bookeeper 等多开源项目。
展开
-
为什么我建议需要定期重建数据量大但是性能关键的表
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~本文是“为什么我建议”系列第三篇,本系列中会针对一些在高并发场景下,我对于组内后台开发的一些开发建议以及开发规范的要求进行说明和分析解读,相信能让各位在面对高并发业务的时候避开一些坑。往期回顾:为什么我建议在复杂但是性能关键的表上所有查询都加上 force index为什么我.原创 2022-05-02 09:41:55 · 1007 阅读 · 0 评论 -
为什么我建议线上高并发量的日志输出的时候不能带有代码位置
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个github 仓库提交 issue,谢谢支持~本文是“为什么我建议”系列第二篇,本系列中会针对一些在高并发场景下,我对于组内后台开发的一些开发建议以及开发规范的要求进行说明和分析解读,相信能让各位在面对高并发业务的时候避开一些坑。往期回顾:为什么我建议在复杂但是性能关键的表上所有查询都加上 force index在...原创 2022-03-26 08:32:59 · 501 阅读 · 1 评论 -
The art of multipropcessor programming 读书笔记-3. 自旋锁与争用(1)
本系列是 The art of multipropcessor programming 的读书笔记,在原版图书的基础上,结合 OpenJDK 11 以上的版本的代码进行理解和实现。并根据个人的查资料以及理解的经历,给各位想更深入理解的人分享一些个人的资料自旋锁与争用1. 再论 TAS 与 TTAS 的自旋锁在前面的章节我们实现了 TASLock 与 TTASLock 自旋锁,由于 compareAndSet 都会导致互连线上的广播,这样会导致所有线程的延迟,包括没有等待锁的线程。更糟糕的一点是,c.原创 2021-11-05 08:57:13 · 173 阅读 · 0 评论 -
近期业务大量突增微服务性能优化总结-4.增加对于同步微服务的 HTTP 请求等待队列的监控
最近,业务增长的很迅猛,对于我们后台这块也是一个不小的挑战,这次遇到的核心业务接口的性能瓶颈,并不是单独的一个问题导致的,而是几个问题揉在一起:我们解决一个之后,发上线,之后发现还有另一个的性能瓶颈问题。这也是我经验不足,导致没能一下子定位解决;而我又对我们后台整个团队有着固执的自尊,不想通过大量水平扩容这种方式挺过压力高峰,导致线上连续几晚都出现了不同程度的问题,肯定对于我们的业务增长是有影响的。这也是我不成熟和要反思的地方。这系列文章主要记录下我们针对这次业务增长,对于我们后台微服务系统做的通用技术优化原创 2021-11-04 08:39:47 · 613 阅读 · 0 评论 -
近期业务大量突增微服务性能优化总结-3.针对 x86 云环境改进异步日志等待策略
最近,业务增长的很迅猛,对于我们后台这块也是一个不小的挑战,这次遇到的核心业务接口的性能瓶颈,并不是单独的一个问题导致的,而是几个问题揉在一起:我们解决一个之后,发上线,之后发现还有另一个的性能瓶颈问题。这也是我经验不足,导致没能一下子定位解决;而我又对我们后台整个团队有着固执的自尊,不想通过大量水平扩容这种方式挺过压力高峰,导致线上连续几晚都出现了不同程度的问题,肯定对于我们的业务增长是有影响的。这也是我不成熟和要反思的地方。这系列文章主要记录下我们针对这次业务增长,对于我们后台微服务系统做的通用技术优化原创 2021-11-03 09:19:28 · 317 阅读 · 0 评论 -
近期业务大量突增微服务性能优化总结-2.开发日志输出异常堆栈的过滤插件
最近,业务增长的很迅猛,对于我们后台这块也是一个不小的挑战,这次遇到的核心业务接口的性能瓶颈,并不是单独的一个问题导致的,而是几个问题揉在一起:我们解决一个之后,发上线,之后发现还有另一个的性能瓶颈问题。这也是我经验不足,导致没能一下子定位解决;而我又对我们后台整个团队有着固执的自尊,不想通过大量水平扩容这种方式挺过压力高峰,导致线上连续几晚都出现了不同程度的问题,肯定对于我们的业务增长是有影响的。这也是我不成熟和要反思的地方。这系列文章主要记录下我们针对这次业务增长,对于我们后台微服务系统做的通用技术优化原创 2021-11-02 09:32:33 · 1113 阅读 · 0 评论 -
近期业务大量突增微服务性能优化总结-1.改进客户端负载均衡算法
最近,业务增长的很迅猛,对于我们后台这块也是一个不小的挑战,这次遇到的核心业务接口的性能瓶颈,并不是单独的一个问题导致的,而是几个问题揉在一起:我们解决一个之后,发上线,之后发现还有另一个的性能瓶颈问题。这也是我经验不足,导致没能一下子定位解决;而我又对我们后台整个团队有着固执的自尊,不想通过大量水平扩容这种方式挺过压力高峰,导致线上连续几晚都出现了不同程度的问题,肯定对于我们的业务增长是有影响的。这也是我不成熟和要反思的地方。这系列文章主要记录下我们针对这次业务增长,对于我们后台微服务系统做的通用技术优化原创 2021-11-01 09:18:48 · 561 阅读 · 0 评论 -
在被线上大量日志输出导致性能瓶颈毒打了很多次之后总结出的经验
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WxuaWLGb-1635326195436)(https://zhxhash-blog.oss-cn-beijing.aliyuncs.com/%E5%9C%A8%E8%A2%AB%E7%BA%BF%E4%B8%8A%E5%A4%A7%E9%87%8F%E6%97%A5%E5%BF%97%E8%BE%93%E5%87%BA%E5%AF%BC%E8%87%B4%E6%80%A7%E8%83%BD%E7%93%B6%E9%A2%88原创 2021-10-27 17:17:53 · 2525 阅读 · 0 评论 -
微服务系统架构设计系列 - RateLimiter - 1. 限流器简介与一般算法
Key TakeAways限流器是一种防御性的编程实现方式,防止一个大型的分布式系统在不可预知的大流量到来的时候导致系统大规模故障。限流器可以设置在服务端,主要为了限制资源的使用。放在客户端主要考虑调用压力更加均匀。一般限流器有五种算法,分别是:令牌桶,漏斗桶,固定窗口,滑动日志(指的其实是广义上的滑动窗口),滑动窗口(这里指的是滑动日志+固定窗口结合的一种算法)。什么是限流器?限流器是一种限制某种操作在一定时间内的执行次数(例如每秒钟5次)或者执行量(例如每秒钟1G大小的数据)的机制。哪里会用原创 2020-12-10 18:56:40 · 23230 阅读 · 3 评论