win10搭建openvpn以及使用 2020注定是一个不平凡的年代,全国都沉浸在抗击新冠状病毒的紧张生活中。本来七天的春节,硬生生的无限期延迟,高铁、航班、汽运等等暂停导致人员不能回归,企业没法开工。所以我们希望尤其是互联网公司,能在公司网络中开启vpn,让很多没法及到岗的小伙伴也能在家里开展一些工作。所以我研究了一下如何搭建vpn网络,ok我们还是直接进入正题。网络拓扑公司电脑ip段192.168.0.0公司vpn服务分...
TaskDecorator解决父子线程间传递上下文数据 一般同步编程模型中我们使用ThreadLocal即可,但是在异步编程模型中(可能有同学有疑问,为什么不用InheritThreadLocal?看这篇记一次线上采坑实录)会导致上下文失效。但是spring 4.3给出了好的方案,利用TaskDecorator。看这个名称大概就能猜出是一个装饰器设计原理我们分析下线程池的源码@Override protected ExecutorService initializeExecutor( ThreadFactory threadFact.
nginx配置多个路径转发到同一个服务的表达式 老忘记,正则表达式不熟唉 location ~ ^/(javascripts|vizportal|views|vizql|img)/.*$ { proxy_pass http://192.168.1.100; }例如访问127.0.0.1/javascripts/aa/b.js 127.0.0.1/vizportal/1/b.js 127.0.0.1/views/f/b.js 127.0.0.1/vizql/x/b.js 12...
InheritThreadLocal引发的生产bug 之所以使用可继承的threadlocal,想必也很容易猜到,原来是需要在父子线程中传递上下文。场景线上AB测试技术实施应用注册时设置A/B状态到注册中心的metaData 扩展ribbon的负载均衡策略,当前应用的A/B状态符合注册中心的路由地址时即可匹配路由 在应用的filter中增加AB上下文状态设置 zuul网关代理应用接口,同时在请求头中透传A/B状态集成测试风风火火进行了大半月,没暴露任何故障。翻车现场B环境的数据跑到了A正式环境。通过一顿操作,定位到是在..
浅谈openfeign中hystrix的超时策略 最近在深入研究openfeign,所以做一下简单备注。默认hystrix采用的线程隔离策略,里面有一个配置超时时间的配置项#这里容易被key给误导,实际上他在信号量模式中也会生效,不过需要把依赖版本升级到1.5+即可hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=60000超时原理一般我们常规做法都是在future里面通过get(timeout,timeUnit)来干,道理也很简单,..
数据库密文存储-mybatis自动加解密插件 因为涉及到个人隐私信息的字段防止泄露,首要任务就是加密,所以需要在源头-数据库直接加密。 mvn依赖 <dependency> <groupId>com.lmx</groupId> <artifactId>common-util</artifactId> <version>{lastVersion}</version> </dep...
汉堡推送平台1.0发布hanbo-push 汉堡推送汉堡推送是一个分布式推送/IM系统,底层协议采用tcp同时适配websocket,适用于安卓和web平台,ios目前未支持。传送门准备工作java8redis3, mysql5.5 ,zookeeper3启动应用配置ngx,部署webUI参考各module的readme,分别启动server,admin,webproxy登录后台新建应用初始化设备,同时启动模拟客...
elasticsearch实战-复合查询(复杂sql的es转换实现) 海量订单数据用搜索引擎来实现检索基础篇请查看这里demo展示了bool查询构建的嵌套查询,涉及and/or/between/limit等单纯的过滤建议使用filter方法,must也可以只不过性能略低(需要计算打分)。 public PageResponse<List<OrderNewDto>> getOrderNewList(OrderQ...
elasticsearch应用与实战 满足中文、拼音、首字母数字等检索用户信息。准备工作安装es,logstash,es-head(可以不安装,只是一个集群监控系统)注意版本兼容,我都用的5版本。添加拼音分词、中文分词插件(手动把jar放到如下位置即可)创建索引例子只对用户名做了中文和拼音的分词检索PUT /org{ "settings" : { "analysis" : {...
VUE实现的三级联动通用组件 业务上有共性的功能模块,可以提炼为单独的组件,用的时候只需要声明和引入即可。组件代码<template> <div class="el-form-item el-form-item--mini"> <el-form-item :prop="areaItemName.areaProvince...
证券交易-撮合引擎demo 全真模拟交易所集合竞价,盘中连续竞价的模型。撮合引擎DEMO请移步这里功能报单(买、卖) 撤单 撮合(按价格,时间,交易量等策略匹配) 发布10档行情(买卖5档) 推送成交信息 控制台输入买卖订单信息灵活拉涨或者拉跌...
spring+apollo动态获取yaml格式的配置 默认spring装载的都是.properties格式的配置文件,但是有时我们需要定义list或者map类型的配置,那么yaml就具有优势。以下演示利用apollo来完成自动更新ip白名单的功能1.重写配置工厂public class YmlPropertySourceFactory extends DefaultPropertySourceFactory { public...
servlet容器-请求响应日志跟踪工具 往往我们记录http请求响应日志时,都习惯性用log.info等方式,随着业务代码量增加,代码可读性非常糟糕。这时我们可以借助servlet拦截器帮助我们来实现统一日志跟踪直接上代码package com.lmx.demo.filter;import com.google.common.base.Charsets;import com.google.common.base....