自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jackl

失意时加倍努力,得意时乘胜追击,每一次努力,都是幸运的伏笔

  • 博客(136)
  • 资源 (25)
  • 收藏
  • 关注

原创 Grafana、M3DB、Prometheus 集成 关于M3DB集成的文章本就不多,快来瞅瞅吧!!!说不定有用呢?

背景:利用Grafana漂亮UI对业务监控,资源监控,绘制个性化大盘,基于Grafana、Prometheus、M3DB 实现自定义监控指标Grafan 不用过多介绍官网网址:https://grafana.com/docs/grafana/latest/installation/docker/docker run -d -p 3000:3000 grafana/grafana至此已经Grafana已经安装成功了,可以访问漂亮的UI界面了接下来先安装存储,M3DB...

2020-12-28 23:21:14 5202 18

原创 互联网大厂、架构设计、稳定性、高可用、必备知识点&技能,进大厂必备!!快来瞧瞧吧

互联网大厂、架构设计、稳定性、高可用、必备知识点&技能,进大厂必备!!快来瞧瞧吧复盘,赋能,沉淀,倒逼,落地,串联,协同,反哺,兼容,包装,重组,履约,响应,量化,发力,布局,联动,细分,梳理,输出,加速,共建,支撑,融合,聚合,解藕,集成,对齐,对标,对焦,抓手,拆解,拉通,抽象,摸索,提炼,打通,打透,吃透,迁移,分发,分层,分装,穿梭,辐射,围绕,复用,渗透,扩展,开拓。漏斗,中台,闭环,打法,拉通,纽带,矩阵,刺激,规模,场景,聚焦,维度,格局,形态,生态,话术,体...

2020-11-26 22:36:20 732 6

原创 Mysql 扩展性设计之数据切分、那么数据切分后会带来哪些问题呢?比如分布式事务、数据的一致性、垂直切分和水平切分应用场景

Mysql 扩展性设计之数据切分、那么数据切分后会带来哪些问题呢?比如分布式事务、数据的一致性、垂直切分和水平切分应用场景前言、什么是数据切分垂直(纵向)切分、水平(横向)切分、他们各自的特点垂直切分水平切分联合使用解决方案垂直切分的具体分析、详解、结合案例具体分析经验之谈结合案例解剖案例背景分析剖析垂直切分的优点垂直切分的缺点不足之处水平切分水平切分的优点水平切分的缺点垂直与水平 相结合(联合使用)联合切分的优点联合切分的缺点数据切分及切分之后的数据整合方案简单介绍中间代理层都有哪些,数据切分与整合的遗留

2020-05-28 23:35:22 1514 19

原创 面试被问mysql扩展性设计相关的点,你知道该如何回答吗

面试被问mysql架构优化,你知道该如何回答吗什么是扩展性横向扩展(Scale Out) 和纵向扩展(Scale Up)区别横向扩展纵向扩展事务相关性最小化原则解决方案敲黑板、化重点数据一致性原则背景解决方案首先其次最后什么是扩展性数据库的扩展主要体现在两个方面,一个是横向扩展(Scale Out),另外一个是纵向扩展(Scale Up)横向扩展(Scale Out) 向外扩展、通过增加节点的方式来提高整体处理能力,通俗点讲就是通过增加机器来增加整体的处理能力纵向扩展(Scale Up)向上扩展、

2020-05-11 20:24:10 1286 18

原创 面试被问mysql性能优化,你知道别人都是怎么回答的吗,看完这篇保你成功!!!

InnoDB多版本InnoDB是一个 多版本存储引擎:它保留有关已更改行的旧版本的信息,以支持诸如并发和回滚之类的事务功能 。该信息以称为回滚段的数据结构存储在表空间中 (在Oracle中类似的数据结构之后)。InnoDB 使用回滚段中的信息来执行事务回滚中所需的撤消操作。它还使用该信息来构建行的早期版本,以实现 一致的读取。在内部,InnoDB向数据库中存储的每一行添加三个字段。6个字节的D...

2020-05-05 23:53:49 3292 16

原创 缓存设计方案 你了解吗 SpringBoot 快速集成实现一级缓存Redis和二级缓存Caffeine 可自定义扩展

项目背景: 在系统初期为了实现业务的快速增长、对系统没有很好的设计、后期想实现缓存,提升应用系统的性能。面临问题:缓存配置混乱、系统微服务化基本上需要实现缓存、序列化方式不统一 研发效率低下、每次需要对缓存配置逐一配置且繁琐 通用能力不支持、例如、分布式锁、通用方法方案设计:Cache Aside 侵入式缓存设计方案 应用程序先从cache取数据,没有得到,...

2020-04-22 21:45:48 3022 17

原创 golang 利用github自定义module 踩坑系列 类似于「springboot starter 一毛一样」

背景: 本人java出身,转行golang,有点类似于springboot starter 。当然好处就不多介绍了,你懂得目标: 自定义module,开源公共代码库。工程结构: 默认创建golib-config-center-client项目之后的样子 遇到的问题: ...

2020-04-12 19:46:34 3109 15

原创 【跨语言通信】你还在为了JAVA调用C而苦恼吗

如果您遇到以下问题,希望能助力你解决他:是否因为java调用c++而痛苦 是否因为根据c++(.h)头文件映射java类而苦恼这里帮你一键搞定,只需要稍微修改几行代码就可以了,快来上手吧第一步:下载jnaerator 此神器 下载地址:https://download.csdn.net/download/u013045746/10981601第二步:请确保.h头文件和d...

2019-02-28 17:45:04 805 10

原创 【可观测之ELK】elk+logback+redis 搭建日志平台

日志平台背景:日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有:根据关键字查询日志详情监控系统的运行状况统计分析,比如接口的调用次数、执行时间、成功率等异常数据自动触发消息通知基于日志的数据挖掘很多团队在日志方面可能遇到的一些问题有:开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力日志数据分散在多个系统,难

2018-02-07 21:29:04 6953 8

原创 在系统架构设计时,【采购】和【秒杀】这两个系统架构,有什么区别,我们应该更关注哪些点

因此,在设计秒杀系统时,需要考虑如何处理高并发请求,以及如何避免系统崩溃或性能下降。事务处理:在秒杀系统中,商品的库存数量是有限的,需要保证库存的准确性和一致性。因此,在设计时需要考虑如何采集、存储和分析采购相关的数据,并提供可视化的报表和指标。在系统架构设计上,采购系统和秒杀系统是两种不同的应用场景,它们在设计上会有一些区别。负载均衡:秒杀系统需要考虑如何进行负载均衡,将请求均匀地分配到不同的服务器上,以避免单点故障和提高系统的可扩展性和可用性。具体设计时还需要根据实际需求和业务场景进行综合考虑。

2023-08-16 15:37:11 144

原创 批量clone gitlab 指定分组下所有仓库代码

通过python脚本,批量clone gitlab仓库指定分组下所有的git仓库

2023-04-03 16:04:50 1616 1

原创 第三十篇:稳定性容量规划&方法

在谈容量规划之前,首先要知道我们的系统处理能力有限的,不可能是无限的,处理能力的限制取决于资源的限制,生活中很多这种例子,例如喝水的水杯,也是有容量限制的,超出容量限制,则溢出,再例如高速公路双向四车道、六车道、八车道等等,那么可以并行的车辆限制这取决于车道数,这里的车道数指的则是资源,那么在建设高速公路时,肯定会做相应的规划是四车道还是六车道合适,结合当下和对未来的预测从而规划和设计,对于我们的系统也是如此,要清楚的了解系统处理能力,资源使用率、容量规划等情况。

2023-01-10 16:44:02 715

原创 第二十九篇:故障处理流程

故障处理流程大致可分为预防、发现、定位、止损几个大阶段,其中发现、定位、止损这三个阶段是处理故障现场的重要阶段,决定了处理故障的处理效率,能否在最短的时间内止损,故障处理效率也和我们的架构设计及基础建设有着密不可分联系;架构设计决定了我们的系统是否面向失败设计,基础建设决定了我们处理故障的效率,是否能够通过基建的可观测性先于用户发现问题、定位故障的根因、做到及时止损。

2022-12-27 16:53:08 2058

原创 第二十八篇:故障发现与处理原则

在复杂的分布式系统中,无法阻止这些故障的发生,我们应该致力于在这些异常行为被触发之前,尽可能多地识别风险。然后,针对性地进行加固,防范,从而避免故障发生时所带来的严重后果。

2022-12-13 10:34:08 583

原创 第二十七篇:稳定性之故障处理【初识故障与传播方式】

在分布式软件系统中,故障的发生时必可避免的,故障处理时每个系统都要面对的现实问题,但是随着系统越来越复杂,故障的发现、定位、处理难度也就随之增大,从可靠性的角度故障可以分为两个方向:主动预防故障发生、防止故障在系统扩散,本章节主要讲述如何防止故障在系统扩散、故障的发现、定位、止损的处理方法。

2022-11-10 15:46:57 1101

原创 第二十六篇:稳定性之流程机制

流程机制旨在于提高工作效率,使流程规范化,上线日是很严肃、很正式的事情,要能够敬畏线上,为了降低发布过程中可能面临的风险,通常情况下良好的上线流程机制来帮助我们少犯错误,约束上线流程,并将整个上线的工作准备更严谨、充分,能够让我们更重视此次上线,因为在上线的过程可能面临很多意想不到的问题,这都将为我们上线带来很多风险。

2022-10-01 22:04:04 1394

原创 第二十五篇:稳定性之灰度发布

随着用户规模逐渐增长、产品的更新频繁,新版的每次上线,各方都要承受极大的压力,一旦产品发布出现事故,可能影响的范围和损失都比较大,为了解决产品发布过程中的风险控制,要有部分的用户参与到新产品中,体验使用观测其真实反馈,如果没有用户的参与,直接面对全量用户,那么风险是可想而知的。

2022-09-12 10:28:23 543

原创 第二十四篇:稳定性之多环境建设

在很多互联网公司依然凌晨才能够上线,上线那天面临各种突发情况,导致通宵上线,这些问题都很常见,经常因测试不周且频繁版本变更,及未经充分验证的代码,在线上直接运行出现故障屡见不鲜,适当的变更有助于减少故障的发生,但是无法杜绝后患,在这种情况,如何降低或减少未经验证的代码出现在线上环境,如何在上线日释放人力并有效改善现状。...

2022-08-31 21:35:19 726

原创 第二十三篇:稳定性之服务SLA

通常我们谈到稳定性,必然能够想到SLA,谈到SLA离不开SLO、SLI这两个,SLI是衡量系统稳定性的指标,SLO是服务等级目标,也是我们设置的稳定性目标,例如3个9、4个9等,那么SLA更多是其实对付费的客户的承诺,多数情况下我们聊的是SLO服务等级目标,通过衡量SLO来判断系统的稳定性。

2022-08-22 22:57:41 1679

原创 第二十二篇:稳定性之服务等级协议

对于跨服务通信,而服务所有者归属不同团队所管理,服务等级协议提供了服务间沟通期望机制,也称之为期望管理,服务等级协议是提供某种级别服务可靠性和性能的承诺,对于业务双方是一种约束,双方在这样的约束下开展后续的工作,服务等级协议还可用于企业与用户之间法律或者合同协议,本章节更多讨论内部之间服务等级协议,如什么是服务等级协议,服务等级协议作用。......

2022-08-09 22:52:40 545

原创 第二十一篇:稳定性之服务分级重要性和价值

服务分级是稳定性建设不可缺少的一环,通过上述章节我们了解到服务分级、服务分级的方法,服务分级目标是为了能够清晰知道我们的服务分布情况,哪些服务一旦出故障是必保的,哪些服务出现故障时可熔断、降级、隔离的,只有通过服务分级通过标签来识别系统的级别,这样在架构设计上不论是关注程度还是资源都需要更倾向高级别的服务,高级别服务的稳定性也是整个系统价值的体现,服务分级的重要性主要体现在以下几方面。......

2022-08-03 22:11:16 365

原创 链表系列之【 链表相交】【环形链表】

链表系列之【 链表相交】【环形链表】

2022-07-26 21:50:11 165

原创 第二十篇:稳定性之服务如何分级

服务如何分级理应是明确产品或者系统为用户提供的最核心价值是什么,什么是附加值,核心价值是为了解决用户最核心的问题,而附加值可能是为用户增加更好的体验。每一个产品或者系统中都有会那么几个点是最最核心的,真正为用户解决痛点问题的,通俗说也就是产品中哪些功能是用户经常用的,不能缺少的,而并非所有的功能用户都是核心的功能,例如在线教育产品,最核心功能肯定是购课、上课、课后报告,其他的都是围绕这些去建设的,丰富提升用户体验;...

2022-07-24 22:22:04 1366

原创 链表系列之【移除链表元素】【反转链表】【两两交换链表中的节点】【删除链表的倒数第 N 个结点】

链表系列之【移除链表元素】【反转链表】【两两交换链表中的节点】【删除链表的倒数第N个结点】

2022-07-19 22:19:08 204

原创 第十九篇:稳定性之服务分级

服务分级是通过识别服务对于业务影响的重要程度,为服务关联标签,通过标签区分出各个服务的重要程度,哪些服务是关键服务和非关键服务,我们系统中的所有服务都必须要有对应的标签,不论什么样的服务,服务分级某种意义是上让我们更清晰和管理服务依赖的方法,只有划分不同的级别服务,这样不论在架构设计还是资源上都会更倾向和关注级别高的服务。如果不能对系统中的服务分级,那么所有服务的级别都是一样的,这样就导致在架构设计时区分不清主次,一视同仁,一旦某个服务出现故障,可能是因为边缘服务,影响整个系统,影响也是非常的恶劣。...

2022-07-16 16:08:18 544

原创 数组系列之移除元素&有序数组的平方&二分查找

数组系列之移除元素&有序数组的平方&二分查找

2022-07-11 21:46:34 137

原创 第十八篇:稳定性之长尾延迟

你知道什么是长尾问题吗,带来的影响有哪些,应该如何去解决它呢

2022-07-10 23:22:01 1616

原创 【二叉树系列】插入&删除&修剪&有序数组转二叉搜索树&二叉搜索树转换为累加树

//450. 删除二叉搜索树中的节点//669. 修剪二叉搜索树//108. 将有序数组转换为二叉搜索树//538. 把二叉搜索树转换为累加树

2022-06-28 23:34:23 210

原创 第十七篇:稳定性之告警体系

告警与可观测性有这密不可分的关系,告警是先于用户发现问题的手段之一,如果没有告警系统,只能通过人工进行定期检查,即便是能够发现问题也不能立马定位到问题出现的原因,而且成本和效率也非常低下。告警用途主要有两个方面,首先是通过监控数据,能够做到先于用户发现问题。告警系统通过对监控数据指标量化,监控数据变化,一旦发现问题之后,可以快速报给相应的工程师,快速处理问题,这样能够提升解决问题的效率,从而提升用户体验,而不用等着用户过来反馈问题,其次是能够通过聚合相关指标快速定位问题,结合可观测中的Log、Metrics

2022-06-25 23:09:04 915

转载 Go实现通过ssh和gorm代理连接内网mysql数据库

Go实现通过ssh和gorm代理连接内网mysql数据库,值得注意的是,如果是服务的话, defer dial.Close() 这个代码要不放在这个位置,而是服务关闭的时候

2022-06-15 15:19:50 1887 2

原创 【二叉树系列】验证二叉搜索树&二叉搜索树的最小绝对差&二叉搜索树中的众数&二叉树的最近公共祖先

二叉搜索树的最小绝对差 二叉搜索树中的众数236. 二叉树的最近公共祖先

2022-06-12 23:27:27 144

原创 第十六篇:稳定性之可观测性

在互联网高速发展的过程中,随着分布式、微服务、容器化架构的流行,互联网已全面进入云原生时代。构建系统的方式由最初的单体大应用演变为分布式架构,一台服务器可能仅存几小时甚至几分钟,这种复杂性大大增加了把系统运行状态可视化的难度。为了应对上述情况,希望能够对系统进行360全方位立体化的监控,于是可观测性概念应运而生,可观测性的提出最早来自于 Google 著名的 SRE 体系和 Apple 工程师 Cindy Sridharan 的博文《Monitoring and Oberservability》也就是说在可

2022-06-06 15:45:00 654

原创 二叉树系列【 从中序与后序遍历序列构造二叉树】【最大二叉树】【合并二叉树】【二叉搜索树中的搜索】

最大二叉树合并二叉树二叉搜索树中的搜索

2022-06-01 06:30:00 106

原创 二叉树系列【 左叶子之和】【找树左下角的值】【路径总和】

找树左下角的值路径总和

2022-05-31 22:26:53 114

原创 二叉树系列【求完全二叉树的节点个数&二叉树所有路径】

完全二叉树的节点个数//完全二叉树的节点个数func countNodes(root *TreeNode) int { if root==nil{ return 0 } return countNodes(root.Left)+countNodes(root.Right)+1}//完全二叉树的节点个数func countNodesV1(root *TreeNode) int { if root==nil{ return 0 } lt:=list.New() lt.

2022-05-17 23:30:00 185

原创 判断是否是对称二叉树、是否相同的树

判断是否是对称二叉树、是否相同的树101. 对称二叉树//101. 对称二叉树func isSymmetricv2(root *TreeNode) bool { if root==nil{ return false } arr:=[]*TreeNode{root,root} for len(arr)>0{ l:=arr[0] r:=arr[1] arr=arr[2:] if l == nil && r == nil { continu.

2022-05-12 23:45:00 120

原创 第十五篇:稳定性之分布式监控

什么是黑/白监控黑盒监控所描述的是监控外部用户可见的系统行为,主要关注的现象,重点在于对正在发生的故障进行监控告警,例如,某某网站打不开了,或者服务挂掉了,无法为用户提供服务。白盒监控所描述的是监控内部暴露出来的关键指标,主要关注的原因,重点也是关注其发生的原因,例如服务挂掉了,是什么原因导致的呢,是内存溢出还是服务过载,这些是导致服务挂掉的原因。两者区别是一个对外,通过外部现象、另一个对内,通过对内究其原因,两者监控维度也不相同:监控维度不同,黑盒更偏向外侧,可以理解通过某个功能或者接口来

2022-05-10 06:15:00 536

原创 N 叉树的前序遍历

递归遍历func preorderV1(root *NodeC) []int { list:=list.New() t(root,list) var a []int for list.Len()>0{ vl:=list.Remove(list.Front()).(int) a=append(a, vl) } return a}func t(root *NodeC, res *list.List) *list.List { if root==nil{ retur

2022-05-10 00:45:00 1164

原创 二叉树基础之层序遍历&二叉树的层平均值&填充每个节点的下一个右侧节点指针&在每个树行中找最大值

二叉树基础之层序遍历//层序遍历/*解题思路:层序遍历,将每一层的节点放入队列中,而这个队列是个临时队列,在每次使用或者遍历之后给删除了,继续进行下一层次的遍历,通过遍历队列的size则就得到节点的数据*/func levelOrder(root *TreeNode) [][]int { var res [][]int st := list.New() if root!=nil{ st.PushBack(root) } var temp []int for st.Len()

2022-05-08 07:15:00 332

原创 二叉树基础之多种方法遍历【非递归】

func Test_Traversal_Ztree(t *testing.T){ head := new(TreeNode) head.Val=5 left:= new(TreeNode) left.Val=4 right:= new(TreeNode) right.Val=6 head.Right=right left01:= new(TreeNode) left01.Val=1 left.Left=left01 right02:= ne.

2022-05-06 06:45:00 281 3

linux 内存清理

linux 内存清理神器,经个人长期验证使用,没有问题,如果你面临linxu服务器内存时不时飙升,供尚用

2019-02-28

jnaerator java调用c的神器

你还在为了JAVA调用C而苦恼,此软件可以帮助你解决你所有的苦恼,请看我的csdn文章

2019-02-28

prometheus+dingding

prometheus通过webhook推送告警至钉钉,免编译打包,直接可用

2019-02-20

redis 定时检测服务是否正常

crontab redis 定时检测服务是否正常,删除临时文件、并启动redis服务

2018-02-23

logstash 定时检测及服务启动

crontab logstash 定时检测及服务启动 解决logstash服务频繁宕机

2018-02-23

java实现大转盘抽奖

java实现大转盘抽奖,大转盘代码,好好分析,很有用,各位一起加油~

2017-10-19

android 反编工具 apktool

强烈推荐此工具,xml文件也一起反编译出来了,之前用其他的一次只能反编译一个xml文件,class文件反编译之后后缀变成smali,直接用editplus就能打开,非常好使

2017-09-08

Elasticsearch之中文分词器插件es-ik(基于es2.4.0版本)

Elasticsearch之中文分词器插件es-ik(基于es2.4.0版本)

2017-08-18

elasticsearch demo java

elasticsearch demo java

2017-08-17

把java工程打成jar包后,转化成exe可执行文件。附带详细说明,教你使用

把java工程打成jar包后,转化成exe可执行文件。附带详细说明,教你使用

2017-08-14

Git-For-Windows客户端-2.11.0-64-bit

Git Windows客户端,直接在官网下载是不是特别慢,想吐?是不是还要梯子才能快速下载?现在不用了,直接下载安装使用。

2017-08-01

jquery.i18n.properties-1.0.9.js

jquery.i18n.properties-1.0.9.js, jQuery.i18n.properties实现前端国际化

2017-07-08

simplest_ffmpeg_audio_player

FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。 该播放器代码十分简单,但是几乎包含了使用FFMPEG播放一个音频所有必备的API,并且使用SDL播放解码出来的音频。十分适合FFmpeg的初学者。 使用了2014.5.6版本的FFmpeg类库

2017-06-22

用于上传文件使用,提供文件操作类,方便文件的操作

用于上传文件使用,提供文件操作类,方便文件的操作

2017-06-22

zookeeper 可视化界面zkui 程序

考虑到 有些用户不想安装maven 或者 mvn clean install 太慢了,毕竟不是国内,这里给大家提供下jar和配置文件。

2017-05-20

mod_fcgid.so

mod_fcgid.so

2017-04-29

dubbo zookeeper

springmvc+spring+mybatis+dubbo+zookeeper+maven 服务端和消费端实例

2017-04-28

visualvm 中文版

可以使用VisualVM生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、 执行内存和CPU分析,同时它还支持在MBeans上进行浏览和操作。

2017-04-26

dubbo-2.8.4.jar

dubbo-2.8.4.jar dubbox

2017-04-25

Redis-x64-3.2.100

Redis-x64 服务端

2017-04-20

apache-jmeter-2.13

apache-jmeter-2.13 压力测试

2017-04-20

springside

springside

2017-04-19

org.apache.poi jar包

可以解决import.org.apache.poi.*;

2017-04-08

Java媒体框架JMF 音视频处理最新类包(共4个jar包)

JMF,意为Java媒体框架(JMF)。该核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。

2016-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除