- 博客(10)
- 收藏
- 关注
原创 手写基于netty实现的高性能RPC框架
基于 Java + netty 的高性能 RPC 框架,用新颖的技术栈从 0 到 1 带大家开发轮子。项目由浅入深,可以学习并实践基于netty的网络服务器、序列化器、基于 nacos 和 ZooKeeper 的注册中心、反射、动态代理、SPI 机制、自定义网络协议、多种设计模式(单例 / 工厂 / 装饰者等)、负载均衡器设计、重试和容错机制、后期会扩展基于Spring Boot Starter 注解驱动开发等,大幅提升架构设计能力。
2024-10-07 11:44:38
694
原创 构建企业级监控大屏 prometheus + grafana
通过拦截器实现 MetricInterceptor.java/*** 自定义指标上报*/@Override// 总计数 + 1// 处理中计数 +1@Overridetry {@Autowired@Override.addPathPatterns("/api/**") //拦截路径//排除路径@Bean。
2024-08-14 18:58:09
929
原创 腾讯微服务框架(TSF)-令牌桶限流的实现方式
限流,也称流量控制。是指系统在面临高并发,或者大流量请求的情况下,限制新的请求对系统的访问,从而保证系统的稳定性。限流会导致部分用户请求处理不及时或者被拒,这就影响了用户体验。所以一般需要在系统稳定和用户体验之间平衡一下。比如我们的交通拥堵,交管部门为了缓解交通拥堵,通常会采用限号(单双号)或者限行(高峰时间段不允许大货车或者外地车牌通行),如果不采取这些手段,势必会造成交通更加拥堵,最终导致我们的交通道路瘫痪。
2024-08-10 16:21:19
1926
原创 大厂面试高频算法题-全排列(回溯算法)
这里递归的前序遍历一般是在进入某个节点之前做的操作,后序遍历一般就是在离开某个节点之后需要做的事情,这里使用逻辑来描述的话,就是“做出选择”和“撤销选择”,其中这个撤销选择向上回归就是一个典型的回溯算法。下面就是解决如何遍历这棵树,我想这个应该不难,本质上是对一个N叉树的for遍历加递归,这是回溯算法的一个基本的框架,其中的前序和后序遍历就是我们在根据问题具体写的处理逻辑了。写 backtrack 函数时,需要维护走过的「路径」和当前可以做的「选择列表」,当触发「结束条件」时,将「路径」记入结果集。
2024-08-09 16:44:20
670
原创 Arthas应用诊断-常用命令介绍
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
2024-08-06 17:47:41
842
原创 搭建企业级日志检索平台-ELK
ELK(Elasticsearch, Logstash, Kibana)是一个目前主流的开源日志监控平台。是一个开源的分布式搜索和分析引擎,可以用于全文检索、结构化检索和分析,它构建在Lucene搜索引擎库之上,是当前使用较为广泛的开源搜索引擎之一。一个用于收集、处理和转发日志数据的数据处理管道。Logstash可以从不同的日志源(如文件、应用程序日志、数据库等)中收集日志数据,并对其进行过滤、解析和转换,然后将其发送到Elasticsearch中进行存储和索引。
2024-08-04 22:07:01
688
原创 Spring 事务传播机制,以及在什么情况下会失效
在Spring框架中,事务(Transaction)是一种用于管理数据库操作的机制,旨在确保数据的一致性、可靠性和完整性。事务可以将一组数据库操作(如插入、更新、删除等)视为一个单独的执行单元,要么全部成功地执行,要么全部回滚。这样可以确保数据库在任何时候都保持一致的状态,即使在发生故障或错误时也能保持数据的完整性。Spring框架通过提供事务管理功能,使开发者能够更轻松地管理事务的边界。Spring主要提供了两种主要的事务管理方式:通过编写代码显式地管理事务的开始、提交和回滚操作。
2024-08-02 18:22:52
1850
原创 Mysql 死锁是怎么产生的,如何解决
是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
2024-08-02 13:19:49
1620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人