java
文章平均质量分 60
皮特猫.
1
展开
-
aop统一日志输出controller出入参及部分参数
aop统一日志输出controller出入参及部分参数/** * @author cy c * @date 2022/5/19 16:28 * 统一日志处理 */@Component@Aspectpublic class LogStdOut { private static final Logger logger = LoggerFactory.getLogger(LogStdOut.class); private final ObjectMapper objec.原创 2022-05-20 18:15:48 · 422 阅读 · 0 评论 -
恶俗评论敏感词过滤 (可直接拿去用,动态热更新)
恶俗评论敏感词过滤,可直接拿去用,动态热更新过滤算法敏感词库加载及初始化敏感词库的动态热更新bean配置yml配置依赖过滤算法主要是实现一个前缀树的数据结构,项目启动时读取敏感词库并进行预处理化,保存到前缀树中,空间换时间,其中,filter方法为过滤方法。/** * @author cy c * @date 2022/5/17 16:49 */@Componentpublic class SensitiveFilter { private static final Logge原创 2022-05-20 17:58:02 · 915 阅读 · 1 评论 -
redis缓存一致性延时双删代码实现
1、自定义注解/***@author caoyue*延时双删**/@Retention(RetentionPolicy.RUNTIME)@Documented@Target(ElementType.METHOD)public @interface ClearCache { boolean open() default true;}2、刪除逻辑/** * @author caoyue * @date 2022/4/11 9:55 */@Componen原创 2022-05-05 16:04:54 · 2159 阅读 · 0 评论 -
Springboot整合kafka,支持动态调试,参数比较全,包括调优项
只是一个模板,酌情修改依赖:<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency>配置文件内容(部分为自定义):spring: kafka: producer: #消息发送失败重试次数,默认是int最大值 retri原创 2021-09-09 22:20:05 · 1670 阅读 · 0 评论 -
docker安装rocketmq4.6.1(精简版)
一、创建文件mkdir -p /usr/local/rocketmq/server/logs/ /usr/local/rocketmq/server/store/ /usr/local/rocketmq/broker/logs/ /usr/local/rocketmq/broker/store/ /usr/local/rocketmq/broker/conf/cd /usr/local/rocketmq/broker/conf/vim broker.conf内容如下:# 所属集群名称,如果节点原创 2021-09-08 09:58:00 · 505 阅读 · 0 评论 -
一致性hash KetamaHash代码实现(分布式路由算法)及原理分析
KetamaHash代码实现一致性hash(分布式路由算法)及原理分析一致性hash是什么一致性hash作为常见的分布式路由算法,可以很好的实现服务端的负载均衡。用户在请求时通过分布式路由算法打到不同的服务器上,可以保证用户粘性的同时有很好的伸缩性,服务器的增删节点并不会造成大规模的数据移动。一致性hash原理一句话,散列函数,hash越剧烈,散列分布越均衡,这就是一致性hash的本质。简单的hash路由:hash(key)%节点数这种硬hash的方式存在很多问题,如果对节点进行增删,会导致原创 2021-09-06 15:16:32 · 919 阅读 · 0 评论 -
logstash配置不同类型日志写到不同索引
前言日志统一规范化方便开发人员查看日志和排查问题,在进行容器化部署时,例如k8s内的日志查询,通常是用于运维层面进行查看日志的,而开发人员需要一套属于自己的日志工具。方案一:普罗米修斯那套,包括洛基(日志收集),Grafana可视化。比较轻量级而且与k8s兼容友好,在此不介绍,自行百度方案二:有钱上收费,类似阿里的sls等方案三:elk,这里介绍elk一、项目开发日志规范首先保证以下几点:1、日志格式json,方便格式化2、运维层面日志清洗阶段3、logstash基于jv原创 2021-09-02 16:24:42 · 4927 阅读 · 7 评论 -
springcloud gateway网关集成abtest(灰度发布、多版本发布)
在大型分布式电商平台中,网关是重中之重,负责所有服务的分发和流量的控制等核心操作,而灰度发布又为企业的商业决策提供数据依据。那么如何通过网关来集成灰度发布呢?下面分步骤介绍,全程干货。原创 2021-08-26 15:08:30 · 2225 阅读 · 17 评论 -
es搜索建议相关(建议词过滤,前缀、中缀匹配等)
目录一、搜索建议介绍文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、搜索建议介绍es中提供了几种suggest搜索建议方式Term Suggester:补全纠错,用户输入错误的情况下返回一个正确的建议 Phrase Suggester:短语自动补全 Completion Suggester:完全补全,fst结构 Context Suggester:根据上下文补全,通常用于对第三种方式的过滤操作对于中文而言,es..原创 2021-08-02 23:31:16 · 7074 阅读 · 10 评论 -
elasticsearch搜索分数自定义以及相关度计算相关
elasticsearch搜索分数自定义以及相关度计算相关一、es通过其score字段对搜索结果进行排序在进行业务开发时通常其默认的分数计算是不符合预期的。最简单的方法是通过boost字段来对每一个字段进行权重设置,来体现该字段的重要性。boost字段会导致分数的计算公式发生改变,boost默认为1例如:GET productinfo/_search{ "_source": ["spuTitle","classifyName"], "query": { "bool": {原创 2021-07-30 15:24:04 · 4481 阅读 · 3 评论 -
nio简单例子
缓冲区底层就是数组用于存储不同的数据类型(boolean除外) //ByteBuffer //CharBuffer //ShortBuffer //IntBuffer //LongBuffer //FloatBuffer //DoubleBuffer/** 上述缓冲区通过allocate方法获取缓冲区* 缓冲区存取数据两个方法是put和get* private int mark = -1;* private int position = 0原创 2021-04-10 09:53:30 · 169 阅读 · 0 评论 -
FutureTask源码解析(详细)
FutureTask源码解析(详细)首先futuretask实现了Runablefuture接口,此接口声明了run方法,而Runablefuture接口继承了runable和future接口,future接口定义了某些方法比如get获取结果 private volatile int state;//线程执行的状态 private static final int NEW = 0;//创建新线程 private static final int COMPLETIN原创 2021-04-10 09:43:04 · 384 阅读 · 0 评论