首页
学习
活动
专区
工具
TVP
发布

一个执拗的后端搬砖工

专栏作者
190
文章
227213
阅读量
34
订阅数
lua/geoIp有些ip无法识别解决方案
openresty+lua+redis+geoIp过滤ip功能上线后,发现有些ip无法识别,导致ip被拦,无法业务接口,从而造成一部分用户流失,其中可能包含"大哥"。
叔牙
2023-02-26
1.3K0
DeferredResult解决了什么问题
Servlet3.0提供了异步处理请求的特性,DeferredResult 是spring基于 Servlet 3.0 对异步请求的支持实现,目的是对于请求提供异步处理方式,释放容器连接,支持更多的并发。或者基于它的超时机制来做一些长轮询相关的事情。
叔牙
2022-09-27
7790
Dubbo服务调用原理
从dubbo的架构设计中,我们可以看出服务启动时,除了本地暴露服务之外会把服务注册到注册中心,那么作为消费端,在服务启动的时候则会向注册中心订阅需要调用的服务,然后在调用的时候通过注册中心拿到的地址做负载后选择合适的服务,然后建立连接并实现调用。
叔牙
2022-03-28
1.2K3
Dubbo服务暴露注册原理
dubbo是java领域应用最广泛的rpc框架之一,服务端启动时把服务注册到注册中心,客户端启动时向注册中心订阅服务,然后通过客户端的负载和路由机器选择对应的服务进行连接调用。
叔牙
2022-03-28
8571
apollo客户端通知原理
Apollo是携程开源的一个分布式配置中心,提供了丰富的能力,其中就包括配置发布动态通知。
叔牙
2022-03-28
3K0
Spring事务原理详解
spring事务开启和使用比较简单,需要有数据源和事务管理器,然后在启动门面类上开启事务,在需要使用事务的地方添加注解就可以了,我们简单做一下回顾。
叔牙
2022-01-04
6063
ConfigurationClassPostProcessor原理详解
从spring官方介绍中,我们可以了解到ConfigurationClassPostProcessor是一个BeanFactoryPostProcessor,用于处理一些配置信息和注解扫描,并且该处理器执行的时候有优先级顺序,优先执行PriorityOrdered,然后执行Ordered,最后执行默认没有优先级的处理器。
叔牙
2022-01-04
1.3K0
@ComponentScan原理分析
这是@ComponentScan的官方介绍,大致意思就是扫描注册bean的一个注解,会扫描对应路径下被@Component标注的类,和xml方式的<context:component-scan>作用相似,常用的方式是basePackages方式。
叔牙
2022-01-04
7530
基于ComponentScan实现接口分环境和机房注册
有这样一个场景,对于同一个业务领域,面向C端用户和B端商家或者管理人员,而C端和B端使用的接口能力不同,举个例子,对于电商场景的FAQ,由商家或者管理人员维护更新,而C端用户只有查看的诉求和能力,并且C端用户和管理人员不在同样的区域,用户可能在欧洲,商家和管理人员在国内,那么如果同一份代码在两个区域部署,当然会解决网络延时问题,但是也带来了资源浪费问题,对于部署在欧洲针对用户开放的服务,管理侧相关接口永远不可能被调用到,对于部署在国内的面向商家和管理侧的服务,C端接口也是基本不可能被调用到,我们都知道服务接口和实现都是承载到应用容器中的,最直接的就是带来内存空耗的资源浪费。
叔牙
2021-12-28
5610
应用接jwt技术方案
对于以上使用场景,考虑了其他的一些登录方案,比如常见的自己手写登录、基于spring security、jwt以及spring security+jwt的解决方案,考虑到开发成本和技术成熟度,决定选择最后一种方案,并且在分析了jwt优缺点的基础上做了一些妥协和改造。
叔牙
2021-12-23
5752
解析csv文件兼容bom头
接上一篇《安装配置Sftp并通过java访问》,由于我们上传的文件是通过程序生成标准的文件csv格式文件,而乙方是通过人肉的方式把外呼结果汇总之后创建txt文件然后修改后缀的方式变成csv文件,这样会导致我们程序解析的时候遇到一些问题,比如bom文件头问题(他们是windows系统,只有windows系统把txt改成csv会出现bom头问题),导致我们程序解析出错,当然我们作为一个有品德有追求的程序员,肯定不会学他们通过有功的方式去解析,那么接下来就通过程序兼容的方式,解析带bom头的csv文件。
叔牙
2021-12-21
1.9K0
云服务器安装Sftp并通过java访问
对接欧洲一些外呼外包公司,特别是一些小国家的业务od公司,没有研发能力或者研发能力比较弱,在跨境电商场景,需要把审单、催签收等一些业务外包给他们,一般情况下是甲方把数据通过接口推送过去,然后乙方拿到业务数据进行外呼(包含ivr),把结果再通过接口回调传给甲方,但是乙方外呼系统是采购别人的,自己没有研发能力,所以数据交互需要通过离线的方式进行,按照对方的要求,需要我们搭建sftp作为数据中转站,我们定时把需要外呼跟进的数据通过文件的方式上传到sftp上,他们下载之后去外呼,然后把外呼跟进结果也以文件的方式上传到sftp服务器,我们定时去下载文件解析数据来做业务跟进。
叔牙
2021-12-21
6.1K0
撩一撩ImportBeanDefinitionRegistrar
ImportBeanDefinitionRegistrar是spring3.1开始引入的一个接口,从官方说明中我们大致知道它是一个用来动态注册bean定义的接口,通过@Import方式引入,和ImportSelector用法类似,通常和EnvironmentAware,BeanFactoryAware,BeanClassLoaderAware,ResourceLoaderAware接口一起使用,并且其执行优先级比这几个接口要低。
叔牙
2021-12-20
2.7K0
一文看懂Openfeign服务调用原理
OpenFeign是Spring Cloud 在Feign的基础上支持了Spring MVC的注解,如@RequesMapping等等。
叔牙
2021-12-20
2.6K0
Netty时间轮
时间轮是一个高性能,低消耗的数据结构,它适合用非准实时,延迟的短平快任务,例如心跳检测。在netty和kafka中都有使用。 比如Netty动辄管理100w+的连接,每一个连接都会有很多超时任务。比如发送超时、心跳检测间隔等,如果每一个定时任务都启动一个Timer,不仅低效,而且会消耗大量的资源。 在Netty中的一个典型应用场景是判断某个连接是否idle,如果idle(如客户端由于网络原因导致到服务器的心跳无法送达),则服务器会主动断开连接,释放资源。得益于Netty NIO的优异性能,基于Netty开发的服务器可以维持大量的长连接,单台8核16G的云主机可以同时维持几十万长连接,及时掐掉不活跃的连接就显得尤其重要。
叔牙
2021-12-11
2.2K1
诡异的JVM堆外内存泄漏
● 报警详情: MEM usage above 90% (current value: 0.9731329333728482) ● 堆外metaspace内存占用高达3GB多 ● 机器内存耗尽,宕机
叔牙
2021-12-06
1.6K0
YGC导致CPU负载过高的排查与解决
在报警群里看到 XXX 服务所在的服务器负载很高, 4 核 16G 的配置,CPU 使用率 >90%
叔牙
2021-12-06
3.8K0
Spring bean生命周期管理
    Spring把bean分为基础组件和自定义业务类型,对于基础组件类型的bean有的是在框架层直接实例化(类似BeanFactoryProcessor或Scanner等),也有一些和普通bean一样交给上下文统一管理,我们今天主要分析普通业务bean的生命周期管理,我们都知道Spring对于bean的管理主要分为类加载或者扫描解析成BeanDefinition,然后实例化前置处理、实例化、实例化后置处理,使用和销毁:
叔牙
2021-09-30
7831
Mybatis原理分析
到目前为止在国内使用最广泛和最流行的持久层框架非Mybatis莫属,但是从最近一次jvm生态报告中,mybatis在java体系的使用率并不高:
叔牙
2021-09-30
7100
TransactionalEventListener使用场景与原理分析
开发中有这样一个场景,客服业务需要接入在线能力,基于其他团队的IM底层能力构建业务层能力,也就是需要先调二方restful服务创建群聊,然后调用本地服务创建会话,并且创建会话依赖于二方服务返回的群聊信息,那么就会出现本地服务异常回滚,但是二方服务已经调用成功的情况,如果不做处理那么下次再尝试创建群聊,用户id已经存在,创建不成功,考虑到异构服务(二方服务可能是java、C++或者其他)或者异构数据(mysql、TiDB等), 分布式事务并不是一个很好的选择,这个时候我们就可以考虑在产生异常时候手动回滚二方服务的方式。
叔牙
2021-09-10
4.9K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档