实战
碧海潮声吹玉箫
这个作者很懒,什么都没留下…
展开
-
es7使用短语匹配实现精准搜索
2222222原创 2022-09-27 10:59:27 · 809 阅读 · 0 评论 -
InheritThreadLocal引发的生产bug
之所以使用可继承的threadlocal,想必也很容易猜到,原来是需要在父子线程中传递上下文。场景线上AB测试技术实施应用注册时设置A/B状态到注册中心的metaData 扩展ribbon的负载均衡策略,当前应用的A/B状态符合注册中心的路由地址时即可匹配路由 在应用的filter中增加AB上下文状态设置 zuul网关代理应用接口,同时在请求头中透传A/B状态集成测试风风火火进行了大半月,没暴露任何故障。翻车现场B环境的数据跑到了A正式环境。通过一顿操作,定位到是在..原创 2020-07-26 19:36:56 · 966 阅读 · 0 评论 -
浅谈openfeign中hystrix的超时策略
最近在深入研究openfeign,所以做一下简单备注。默认hystrix采用的线程隔离策略,里面有一个配置超时时间的配置项#这里容易被key给误导,实际上他在信号量模式中也会生效,不过需要把依赖版本升级到1.5+即可hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=60000超时原理一般我们常规做法都是在future里面通过get(timeout,timeUnit)来干,道理也很简单,..原创 2020-07-26 19:23:35 · 1191 阅读 · 0 评论 -
数据库密文存储-mybatis自动加解密插件
因为涉及到个人隐私信息的字段防止泄露,首要任务就是加密,所以需要在源头-数据库直接加密。 mvn依赖 <dependency> <groupId>com.lmx</groupId> <artifactId>common-util</artifactId> <version>{lastVersion}</version> </dep...原创 2020-07-17 13:57:21 · 1528 阅读 · 2 评论 -
nacos+ribbon自定义ab测试路由策略
在这里插入代码片原创 2020-03-30 22:28:21 · 2467 阅读 · 0 评论 -
elasticsearch实战-复合查询(复杂sql的es转换实现)
海量订单数据用搜索引擎来实现检索基础篇请查看这里demo展示了bool查询构建的嵌套查询,涉及and/or/between/limit等单纯的过滤建议使用filter方法,must也可以只不过性能略低(需要计算打分)。 public PageResponse<List<OrderNewDto>> getOrderNewList(OrderQ...原创 2020-01-20 12:28:16 · 3474 阅读 · 0 评论 -
elasticsearch应用与实战
满足中文、拼音、首字母数字等检索用户信息。准备工作安装es,logstash,es-head(可以不安装,只是一个集群监控系统)注意版本兼容,我都用的5版本。添加拼音分词、中文分词插件(手动把jar放到如下位置即可)创建索引例子只对用户名做了中文和拼音的分词检索PUT /org{ "settings" : { "analysis" : {...原创 2020-01-07 17:25:08 · 1435 阅读 · 0 评论 -
spring+apollo动态获取yaml格式的配置
默认spring装载的都是.properties格式的配置文件,但是有时我们需要定义list或者map类型的配置,那么yaml就具有优势。以下演示利用apollo来完成自动更新ip白名单的功能1.重写配置工厂public class YmlPropertySourceFactory extends DefaultPropertySourceFactory { public...原创 2019-09-27 13:44:26 · 6648 阅读 · 0 评论 -
servlet容器-请求响应日志跟踪工具
往往我们记录http请求响应日志时,都习惯性用log.info等方式,随着业务代码量增加,代码可读性非常糟糕。这时我们可以借助servlet拦截器帮助我们来实现统一日志跟踪直接上代码package com.lmx.demo.filter;import com.google.common.base.Charsets;import com.google.common.base....原创 2019-09-27 10:32:43 · 1446 阅读 · 0 评论 -
【国产开源】兼容redis协议的内存数据库
背景hanboDB是一个高性能、高可用、低延迟的内存数据库,服务端源码请移步这里编写目的加深对底层网络传输,文件存储,文件索引的认知,同时也巩固自身的知识点。协议特征兼容redis原生协议set getlpush rpush lrange blpop brpop llenhset hget hgetall hscanpub subselect keys scan...原创 2017-12-21 13:30:21 · 3429 阅读 · 12 评论 -
RabbitMQ高可用之镜像队列和实战应用篇
部署单节点requirement rabbitmq:3.7.15,Erlang:22.0安装node1(种子节点)在windows安装并且启动node2 在centerOS7安装并且启动rabbit1 rabbit2需要在各环境配置好hosts(即主机名和ip的映射),用于集群服务发现开启web管理后台rabbitmq-plugins enable rabbitmq_manageme...原创 2019-06-12 14:31:18 · 2052 阅读 · 0 评论 -
webmagic+selenium实现自动登录,点赞,评论
spider爬虫程序,基于chromedriver模拟网页事件爬虫源码请戳准备工具chromedriver、chrome浏览器,一定要版本对应。chromedriver版本 支持的Chrome版本v2.46 v71-73v2.45 v70-72v2.44 v69-71v2.43 v69-71v2.42 v68-70v2.41 v67-69v2.40 v66-68v2.39...原创 2019-08-20 17:12:50 · 2052 阅读 · 3 评论 -
feign高级用法
feign为我们带来简洁风格rest客户端的同时也带来了一些麻烦,因为稍微对他不了解就可能走弯路。依赖<dependency> <groupId>com.netflix.feign</groupId> <artifactId>feign-core</artifactId> ...原创 2019-09-27 10:07:29 · 1782 阅读 · 0 评论 -
hibernate显示完整sql语句的插件
hibernate打印的sql默认是带占位符的,即使添加属性后可以展示参数,但是很不直观,不能copy出来直接用,需要一个一个拼接好。p6spy就可以做到 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy<...原创 2019-09-27 10:20:54 · 2178 阅读 · 0 评论 -
mysql组复制之单主模式部署和实现动态选主的jdbc客户端
直接进入正题下载mysql5.7+,进入安装目录[root@localhost mysql]# cd /usr/local/mysql[root@localhost mysql]# ll总用量 48drwxr-xr-x. 2 mysql mysql 4096 11月 2 09:59 bin-rw-r--r--. 1 mysql mysql 17987 11月 2 09:59...原创 2018-11-12 09:51:37 · 1049 阅读 · 0 评论