随笔

随笔

敲得码黛
敲得码黛
2024-04-19 14:55

redis跳表
多线程

0
敲得码黛
敲得码黛
2023-06-07 09:29

JVM

0
敲得码黛
敲得码黛
2023-06-07 09:29

mysql间隙锁的各种场景(insert、update、delete),以及undolog、redolog、binglog的使用方式

1
敲得码黛
敲得码黛
2023-06-07 09:28

redission的实现原理(如何使用redis手写一个redission)

0
敲得码黛
敲得码黛
2023-02-02 11:35

CAS与AQS的应用及其原理?

1
敲得码黛
敲得码黛
2022-12-14 16:57

问题思考:
1、签名算法与数字证书的关系
2、SSL证书的工作原理及CA机构的作用

3
敲得码黛
敲得码黛
2022-11-29 18:16

延时队列、定时任务、分布式任务调度平台的区别是什么?

延时队列:关注的是延迟消息,是基于事件和消息驱动的,一般由消息队列中间件实现,主要面向的痛点是订单超时、红包超时、延时处理等业务需求。

定时任务:定时任务偏向于处理周期任务,虽然也可以使用轮询的方式完成延时队列的功能,但是总体来说不够优雅,因为定时任务解决的业务痛点是需要周期处理的一些任务(例如日报表、月报表、统计等等)

分布式任务调度平台:是基于定时任务的一种扩展平台,其解决的核心痛点是定时任务在集群环境中的协作问题。

针对不同的业务场景,选用最适合的解决方案。

0
敲得码黛
敲得码黛
2022-09-21 16:35

今天接手了一套代码,是运营平台的后台管理系统,其中也涉及到了一些资金相关的功能。不看不知道,一看才发现权限竟然只控制到了菜单级而不是接口级,一个金融型的后台,权限竟然只控制到菜单级别,那么别人完全可以通过接口进行越权访问,于是计划对部分模块进行整改。。
整改目标如下
1:对于查询接口可以控制到菜单级(无须整改)
2:对于新增、修改、删除操作必须控制到接口级(需要整改)
3:对于新增、修改、删除操作的粒度必须划分到功能,不能多个功能共用同一个权限(需要整改)

总结:在开发过程中,不应该单单为了满足业务需求,也更应该注意一些安全上的隐患,还有一些逻辑上的漏洞,程序员还是要严谨一点。

0
敲得码黛
敲得码黛
2022-09-13 15:10

最近公司开发的一个新产品即将上线了,我负责其中的一个模块,开发了很长时间,功能已经错综复杂了。临近上线,有些复杂的功能我仍然无法看到全貌,我觉得这可能会带来很大的问题。。于是我打算在上线前将它们梳理清楚。
1、资金流:超级重要!!!否则将面临资金混乱的情况
2、订单溯源:超级重要!!!否则将面临订单无法进行追溯的问题
3、日志告警:建议添加,产品初期可能会出现各种问题,需要能够及时的发现问题。
为了能够更加直观的了解系统现状,于是我打算通过画图的方式描述系统的一些关键信息,例如架构图、服务链路图(描述各服务之间的依赖关系)、资金流。。。通过架构图,基本上了解了现有的服务以及各服务的基本职责,然后通过服务链路图发现了系统之间的耦合关系。。通过资金流了解到了资金的流向。。

通过这些图,发现了很多的问题,有个别服务耦合严重、资金流对不齐。。同时希望自己可以进一步的提高自己的画图技巧,以便可以清楚的描述更多的系统状况。

0
敲得码黛
敲得码黛
2022-09-12 16:06

系统告警功能引发的思考
最近在开发工作中,遇到了一些会中断用户流程的异常,由于第三方服务不稳定,所以异常还是蛮多的,于是我开始考虑在系统中增加告警功能:当触发到中断用户流程的异常时,可以将错误信息主动推送到开发者。。。
考虑了很多因素,我们决定采用日志监控的做法。。原因有以下几点:
1、通过日志监控异常异常信息对业务没有侵入性
2、通过日志分级可以将异常进行分类处理,例如error级别需要立即处理,而warn级别可以稍后处理
3、通过接入钉钉机器人实现异常推送
如果采用了此方案,那么有一些情况必须要进行要达成共识。
1、开发者团队需要对日志进行分级打印
2、开发团队需要知道在什么情况下打印何种级别的日志(个人建议:中断用户流程的必须打Error日志,不中断用户流程但是需要开发者特别的注意的可以打印warn日志,记录型的日志建议打info级别,参数细节部分建议打印debug级别)

0