- 博客(416)
- 资源 (53)
- 收藏
- 关注

原创 线上问题排查常用命令
查看内存freefree是查看内存使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。free -h -s 3表示每隔三秒输出一次内存情况,命令如下[1014154@cc69dd4c5-4tdb5 ~]$ free total used free shared buff/cache availableMem...
2020-04-13 16:08:35
2844
1

原创 深入理解JVM - JVM常用命令
jps(JVM Process Status Tool):显示指定系统内所有的HotSpot虚拟机进程jstat(JVM Statistics Monitoring Tool):用户收集HotSpot虚拟机各方面的运行数据jinfo(Configuration Info for Java):实时查看和调整虚拟机各项参数,在JDK9中集成到了jhsdbjmap(Memory Map for ...
2020-01-15 10:59:58
1228
1

原创 为监控而生的多级缓存框架 layering-cache
简介layering-cache是在Spring Cache基础上扩展而来的一个缓存框架,主要目的是在使用注解的时候支持配置过期时间。layering-cache其实是一个两级缓存,一级缓存使用Caffeine作为本地缓存,二级缓存使用redis作为集中式缓存。并且基于redis的Pub/Sub做缓存的删除,所以它是一个适用于分布式环境下的一个缓存系统。支持支持缓存监控统计支持缓存过期时...
2018-10-15 10:06:17
2363
5
转载 解决 macOS Ventura 使用 ssh、git 等无法正常使用的问题
关键词:macOS Ventura、Ventura、SSH、git、Permission denied若移动端访问不佳,请使用 –> GithubPage 版。
2024-07-06 18:12:44
267
原创 【XXL-JOB】执行器架构设计和源码解析
i++) {任务开发:在Spring Bean实例中,开发Job方法;注解配置:为Job方法添加注解 “@XxlJob(value=“自定义jobhandler名称”, init = “JobHandler初始化方法”, destroy = “JobHandler销毁方法”)”,注解value值对应的是调度中心新建任务的JobHandler属性的值。
2024-03-28 22:56:55
1696
原创 【XXL-JOB】调度中心架构设计和源码解析
XXLJOB通过时间环数据结构来解决实时调度问题,减小调度误差XXLJOB通过异步化、多线程等方式来保证系统性能XXLJOB通过集群部署、并发控制、重试和监控告警的等方式来保证系统可用性和可靠性通过类似责任链的方式来解决告警模块扩展性通过提供完整的后台dashboard的方式来解决系统可维护性和可观测性。
2024-03-27 23:31:28
1291
原创 【XXL-JOB】通过Postman调试本地任务
通过这段代码往下跟可以发现底层其实就是使用的HTTP工具完成的服务远程调用。最后拿出来就是上面的脚本。这里的job处理器替换成自己的就行。在XXL-JOB源码。
2024-03-20 15:40:10
3154
1
转载 分布式基础理论 CAP & BASE
分布式系统中,多个节点之前的网络本来是连通的,但是因为某些故障(比如部分节点网络出了问题)某些节点之间不连通了,整个网络就分成了几块区域,这就叫网络分区。在分布式架构中,是无法脱离CAP理论的,因为网络永远不能100%可靠,硬件也会老化,软件可能出现BUG,所以分区容错性(Partition Tolerance)是避不开的,只要是分布式,只要是集群,都面临着选AP或者CP,如果你都想要,那只能对一致性做出一些妥协,也就是引入BASE理论,在业务允许的情况下实现最终一致性。
2024-03-18 19:31:48
104
原创 Gitlab光速发起Merge Request
在我们日常开发过程中需要经常使用到,在使用过程中我们需要来回在开发工具和UI界面之前来回切换,十分麻烦。那有没有一种办法可以时间直接开发开工具中直接发起Merge Request呢?答案是有的。
2024-03-14 17:39:17
2052
1
原创 MySQL 5.5、5.6、5.7的主从复制改进
最先进入队列的事务线程成为leader线程,其他后续进入的成为follower线程,leader线程将会获得这个队列的控制权,就是会获得一个锁,全权负责本次队列中所有事务的落盘操作。但如果业务始终只有一个库,或者数据库压力都集中在一个库上,其他库基本没什么操作,这样的两种情况下,针对库的多线程基本没有意义,还是和以前的单线程复制是一样的速度。在这样的模式下,从机可以同时消费主机的多个事务队列,在同一时间接收到更多的数据传输,有效降低了宕机情况下由于同步延迟导致数据丢失的概率。的落盘(保存到磁盘)效率。
2024-03-03 14:48:55
1193
原创 Mysql事务的两段式提交
为了满足Mysql的事物ACID特性,InnoDB引入了和 日志文件。为了满足主从同步Mysql引入了日志文件。和文件都保存的数据库对数据库的修改,但是和本质上是不一样的:当和数据不一致时就可能导致主从数据不一致,比如:为了避免这种情况,MySQL 引入了两阶段提交的机制。MySQL采用了如下的二阶段提交流程:通过机制,MySQL可以保证在任何时刻,redo log和bin log都是逻辑上一致的。如果MySQL发生崩溃,可以根据恢复数据页的状态,也可以根据恢复SQL语句的执行。
2024-03-03 13:49:33
594
转载 拒绝宕机!一文详解分布式限流方案(附代码实现)
限流是一种对请求或并发数进行限制的关键技术手段,旨在保障系统的正常运行。当服务资源有限、处理能力有限时,限流可以对调用服务的上游请求进行限制,以防止自身服务因资源耗尽而停止服务。阈值:指在单位时间内允许的请求量。例如,将 QPS(每秒请求数)限制为500,表示在1秒内最多接受500次请求。通过设置合适的阈值,可以控制系统的负载,避免过多的请求导致系统崩溃或性能下降。拒绝策略:用于处理超过阈值的请求的策略。常见的拒绝策略包括直接拒绝、排队等待等。
2024-02-29 16:44:47
270
1
原创 数据库分库分表中间件选择
以Sharding-Proxy为例,中间层将自身定义为透明的数据库代理,它提供了一种数据库服务器,该服务器封装了数据库二进制协议以支持异构语言。对DBA友好的是,现在提供的MySQL版本可以使用与MySQL协议兼容的任何类型的终端(例如MySQL Command Client,MySQL Workbench等)。它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容JDBC和各种 ORM 框架。4、性能高,JDBC 直连数据库,无需二次转发。
2024-02-29 11:52:30
2120
转载 Redis 键的淘汰策略
当redis占用的内存超过服务器的为例内存的时候,就会触发系统的swap,这时内存回合磁盘频繁交换,导致redis性能急剧下降,这时对于访问频繁的redis来说,服务相当于不可用状态,为了防止出现这种情况,redis提供了maxmemory参数来控制redis占用的最大内存大小,防止出现swap.但是一旦设置了内存的最大值 ,就可能出现内存使用到达最大值的情况,这时redis的淘汰策略就排上用场了.当reids使用的内存到达设置的最大内存的时候redis的淘汰策略开始执行。
2024-02-28 20:56:02
107
原创 Postman 验签 (Pre-request Script )
通过postman的Pre-request Script 可以实现参数验签。Pre-request Script是基于 Node.js 的强大运行时,它允许我们向请求和集合中添加动态行为。允许我们编写 API 测试、构建可以包含动态参数的请求、在请求之间传递数据等等。参考文档: https://postman.org.cn/writing-scripts/intro-to-scripts/
2023-06-21 20:10:49
730
转载 Kubernetes 部署策略(滚动发布、金色雀发布、蓝绿发布)-转载
发布应用有许多种方法,当发布到开发/测试环境的时候,重建或者滚动更新通常是一个不错的选择。在生产环境,滚动更新或者蓝绿发布比较合适,但是新版本的提前测试是非常有必要的。如果你对新版本的应用不是很有信心的话,那应该使用金丝雀发布,将用户的影响降到最低。最后,如果你的公司需要在特定的用户群体中进行新功能的测试,例如,移动端用户请求路由到版本 A,桌面端用户请求路由到版本 B,那么你就看使用A/B 测试,通过使用 Kubernetes 服务网关的配置,可以根据某些请求参数来确定用户应路由的服务。
2023-04-26 18:52:15
748
原创 Kubernetes 存活、就绪和启动探针
许多长时间运行的应用最终会进入损坏状态,除非重新启动,否则无法被恢复。Kubernetes 提供了存活探针来发现并处理这种情况。在本练习中,你会创建一个 Pod,其中运行一个基于 registry.k8s.io/busybox 镜像的容器。下面是这个 Pod 的配置文件。sleep 30;在这个配置文件中,可以看到 Pod 中只有一个 Container。periodSeconds 字段指定了 kubelet 应该每 5 秒执行一次存活探测。字段告诉 kubelet 在执行第一次探测前应该等待 5 秒。
2023-04-25 21:23:31
1801
原创 Jenkins & Kubernetes
在Kubernetes的master和所有worker节点上加上harbor配置,修改,支持Docker仓库,并重启Docker。
2023-04-25 15:53:42
518
原创 Kubernetes CPU内存资源限定
在 Kubernetes 中创建工作负载时,您可以为 Pod 中的每一个容器指定其所需要的内存(RAM)大小和 CPU 数量。如果这些信息被指定了,Kubernetes 调度器可以更好的决定将 Pod 调度到哪一个节点。对于容器来说,其所需要的资源也将依据其指定的数值得到保证。
2023-04-24 10:10:35
795
原创 Kubernetes 核心对象
Kubernetes 中的所有内容都被抽象为“资源”,如 Pod、Service、Node 等都是资源。“对象”就是“资源”的实例,是持久化的实体。Kubernetes 使用这些实体去表示整个集群的状态。Namespace的主要作用是,将中的资源划分为。default。
2023-04-23 19:23:28
572
原创 Kubernetes入门
也称为 K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统。Kubernetes 核心能力:服务发现和负载均衡Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。存储编排Kubernetes 允许你自动挂载你选择的存储系统,比如本地存储,类似Docker的数据卷。自动部署和回滚。
2023-04-21 18:14:03
645
原创 Jenkins 流水线
pipeline script : 表示直接在jenkins任务中维护脚本,用于初期测试还是比较好的pipeline script from SCM:表示在版本管理工具中去拉取文件,然后执行构建,线上已办采用这种这里我们先选择,然后写一个hello world。
2023-04-18 16:19:12
2501
原创 Jenkins & Harbor
配置参数REMOTE_NAME="origin" # 远程仓库名BRANCH_NAME=$branch # 拉取的分支名# 检查输入参数thenexit 1fi# 判断本地分支是否存在thenelsefi# 执行完毕exit 0。
2023-04-10 19:03:54
516
原创 Jenkins CI、CD入门操作
基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署。
2023-04-07 16:47:55
384
原创 Git Commit Message规范
Commit Message 主要包含三个部分:Header,Body 和 Footer,其中,Header 和Body是必需的,Footer 可以省略。[body]
2023-02-15 14:02:09
1369
原创 Sandbox 入门(打包、安装、启动、调试、日志)
JVM-SANDBOX(沙箱)实现了一种在不重启、不侵入目标JVM应用的AOP解决方案。SANDBOX 入门(打包、安装、启动、调试)
2022-11-09 15:53:18
3396
转载 架构之重构的 12 条军规
如果确定要重构,那么要把目标明确下来,也就是重构的边界条件,怎么才算是“完成”了重构,目标要有数据量化,或者有能够测试的办法。这也是一个需求分析的过程,如果需求不明确,那么规格说明书没法写清楚,负责重构的团队也没有明确的目标,不能以重构的时间或者主观的判断为结束的依据。前几天和一朋友聊天,他最近在负责系统的性能优化,也要做一些重构的事情,开始的时候团队的目标不明确,大家不知道优化到什么程度,所以不敢下手。如果目标是提高 10%,那么可以从细节处着手;如果是提高 50%,那可能要搞大动作才能实现了。...
2022-08-11 09:26:43
310
转载 数据一致性架构
一般来说,强一致性的分布式事务会比单机的本地事务性能下降一个数量级左右,因此在实际应用场景中使用时,需要谨慎评估业务上是否一定要求强一致性事务,可否在业务上做一些取舍和折中,或者改为性能更强一点的最终一致性方案。指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点上。事务的参与方可能不仅是数据库,还包括消息队列、缓存、对象存储等其他异构的数据源,当事务由全局事务管理器进行全局管理时成为全局事务,事务管理器负责管理全局的事务状态和参与的资源,协同资源的一致提交回滚。..
2022-08-02 20:18:05
366
原创 架构基础篇
架构方案设计可以从四个方面考虑,第一非功能性诉求(性能,可靠性,容错性,一致性等),第二研发成本(设计复杂性,实现复杂性,前期人力投入,后期人力投入,短期重构风险,工期要求),第三运维成本(运营工具是否完善,纳入现有运维体系的难度等),第四软硬件成本。物理视图和处理视图的关系处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;如果确实涉及多个复杂度,正确的做法是将主要的复杂度问题列出来,然后根据业务、技术、团队等综合情况进行排序,优先解决当前面临的最主要的复杂度问题。......
2022-07-14 23:29:46
733
汽车电子控制系统实例
2012-08-25
CAN技术规范
2012-08-25
consul_1.7.3_windows\mac\linux.zip
2020-06-02
git-flow-plus-4idea-1.0.7.zip
2020-05-07
ScreenToGif.rar
2020-03-13
logback 中文手册
2017-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人