
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
程序里有一个应用场景使用到了rabbitmq——当财务确认收到企业的打款金额后,系统会把企业订单生成用户付款单。由于订单记录数据量大,改为通过mq来异步实现。即财务确认收款操作后,将企业订单数据放入mq,另一端监听mq消息队列,将收到的企业订单加工转换成用户付款单,并做持久化。本地开发环境与测试环境共用一套rabbitmq。当项目部署到测试环境后,QA测试过程中,总是“莫名其妙”的发现所保...
靠谱的程序员具有注重实效的偏执,对于重复多行的代码,总会想办法消除重复。我们zhongtai-channel里在调用服务商接口发起签约前,使用了mq进行异步处理。即:zhongtai-channel签约RPCAPI接收到上游的请求后,先同步持久化保存签约请求流水,然后将签约数据放入rabbitmq消息队列,等待程序里的消费者方法消费消息队列中的消息,调用服务商对接Service发起HTTP...
今天上线。同时上线两个系统服务。这两个服务之间通过http接口调用。找运维小哥更新了好几版。我从xshell里忽然看到有http请求502异常。502是网关异常,通常是由nginx返回(使用nginx反向代理的情况),见下面截图。告诉小组内后,大家赶紧排查。找到配置的url后,用postman发post请求发现是通的。然后,让运维在服务器上curl这个url,发现也是通的。...
p img { border: 1px solid rgba(51, 153, 204, 1) }h3 { margin: 30px 0 10px; padding: 10px 20px 10px 16px; border-left: 4px solid rgba(51, 153, 204, 1); border-bottom: 1px solid rgba(51, 153, 204, 1);..
死锁通常是2个及以上线程共同竞争同一资源而造成的一种互相等待的僵局。我们看下图所示场景: 线程1执行的事务先更新资源1,然后更新资源2;而线程2涉及到的事务先更新资源2,然后更新资源1。这种情况下,很容易出现你等我我等你,导致死锁。我用Oracle数据库来模拟这种场景的死锁。●service类如下PayAccountServiceMock类, up方法和up2方法,这2个方法使用了s...
从一种较重的“互斥锁”模式,升级为一种更轻量的“无锁编程”模式,这一次并发控制策略的升级CASE,也许证明我还停留在初级编程阶段。当然,此前的项目中也有使用 ConcurrentHashMap,只恨书到用时方恨少。下班后消停了,我又在琢磨并发调用的问题,因为我知道 synchronized 锁的粒度比较粗,会影响性能。代码完成后,考虑到Mybatisplus调用及java反射机制的性能损耗,我使用
清理类型触发条件清理范围是否立即生效惰性清理调用get()等方法只检查被访问的key是定时清理定时任务触发(需手动调用所有过期key是容量清理达到缓存容量上限最近最少使用的过期项是TimedCache的自动清理机制不会立即自动清理:默认只有惰性清理需要手动启动定时清理:通过方法清理策略可配置:可以根据业务需求选择清理频率最佳实践:在创建TimedCache后立即调用,以确保过期数据会被及时清理,避
本文关键词:个人所得(个人收入);劳务报酬所得;互联网平台劳务报酬所得;个人所得税(本文简称“个税”);本文主要讲新规下互联网平台从业人员的劳务报酬所得的计算方法。
优化策略核心思想适用场景利用主键排序利用自增ID与时间的强相关性,避免新建索引。按时间顺序获取最新或最旧记录。游标分页记录位置而非页码,跳过OFFSET。无限滚动、只能顺序翻页的场景。延迟关联先通过索引定位主键,再回表,减少无效IO。深分页且排序字段有索引的场景。数据库优化乃至程序优化,转换思路有时比一味增加资源更有效。在面对性能问题时,先深入理解业务逻辑(如数据生成规律)和数据库原理(如索引机制
/*我在中国万网的虚拟主机在9月份停掉了,当时没有备份数据库,数据库是sqlserver2000的。这两天,几经周折后,万网给我提供了一个数据库文件。 但是,没有日志文件。这让我在附加数据库时出现了一些问题。下面是从网上找到的资料,与遇到类似问题的各位共享*/ 由于种种原因,我们如果当时仅仅备份了mdf文件,而无法得到日志文件,那么恢复起来就是一件很麻烦的事情了。【同一数据库







