- 博客(232)
- 资源 (8)
- 收藏
- 关注
原创 走近 ElasticSearch (四)——搜索机制与聚合分析
一、前言二、ES Search 的运行机制ES的搜索过程如下:看起来很简单的图,在我们 ES 集群中进行搜索,其实并没有那么简单。1. 搜索过程分解Search 执行的时候实际分两个步骤运作的:查询(Query) 和 获取(Fetch)查询阶段(Query Phase):在此阶段,协调节点(Coordinating Node)将搜索请求路由到索引(index)中的所有分片(shard...
2020-05-30 20:25:18 717
原创 走近 ElasticSearch (三)——Mapping设计与 Search API 介绍
一、前言(知识搬运工走进 ElasticSearch (一)走进 ElasticSearch (二)二、Mapping类似数据库中表结构定义,主要作用如下:定义 Index 下的字段名(Field Name)定义字段的类型,比如数值型、字符串型、布尔型等定义倒排索引相关的配置,比如是否索引、记录 position 等1. 自定义 mapping查看 Mapping api:...
2020-05-30 20:25:10 1210
原创 走近 ElasticSearch (二)——Document概念、倒排索引原理与分词介绍
一、前言(知识搬运工二、Document 介绍1. Document 数据类型Json Object,由字段(Field)组成,常见数据类型如下:字符串: text, keyword数值型: long, integer, shot, byte, double, float,haf_float, scaled_float布尔: boolean日期: date二进制: binary...
2020-05-30 20:25:02 946
原创 走近 ElasticSearch (一)——基本概念与架构设计
前言之前学过很多次ES,都没有做笔记,这次想要系统的做一次笔记。定义与起源它是什么?一个便于检索的数据库更近一步呢?基于 Lucene 的开源搜索引擎。分布式,可拓展,每个字段都能被索引至于起源……一位待业极客男青年与他媳妇的故事……使用场景目前市场上与es相关的产品:1、大多数的站内搜索2、维基百科,使用ES提供全文搜索并高亮关键字3、stackoverflow,结合...
2020-05-30 20:24:53 935
原创 Swagger..Unable to render this definition The provided definition does not specify a valid version
Unable to render this definition The provided definition does not specify a valid version field.Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: “2.0” ...
2020-05-02 22:37:24 20599 2
原创 Springboot异常处理AppErrorController
package com.hyperdai.base;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.beans.factory.annotation.Aut...
2020-05-01 11:18:51 414
原创 广告行业相关词汇
搜索引擎广告(SEA)Search Engine Advertising,广告主根据自己的产品或服务的内容、特点等,确定相关的关键词,撰写广告内容并自主定价投放的广告。当用户搜索到广告主投放的关键词时,相应的广告就会展示信息流广告也称“原生广告”,与内容混排在一起,又称“最不像广告的广告”、“长得最像内容的广告”,一般如不留意在它们周围出现的“推广”、“广告”字样,可能不会发现这是一条广告...
2020-02-29 01:47:02 913
原创 JWT(Json Web Token)工具包:JwtUtil.java
前言原定方案,token 用的DES对称加密,然后为了加上有效期验证,最终改为JWT加密方式了代码Maven依赖:<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9....
2020-01-05 20:12:02 3302
原创 【New】Git协同的一些建议
核心概念three types of of objectscommittreeblobDAG (有向无环图)stage area (index) (暂存区)建议和中心仓储同步时,尽量使用git pull --rebase,而不是git pull,后者会导致merge,而盲目的merge会导致很难看提交的粒度应该比较小,且是独立的功能单元commit message的...
2019-12-13 17:28:34 144
原创 TickNet-ApiGateway的一些思考
前言随着工作室的产品、项目越来越多,运维、开发成本极速增加,也冒出了许许多多的问题。运维上,我们的项目,都是统一从portal机器调用,通过nginx转发到后端应用服务器。开发上,我们需要做用户权限认证、流量监控……我们目前的方案是每个APP自己写权限认证,自己写监控……所以每一位加入工作室的同学,都需要完整的开发一次从用户鉴权到数据返回全链路调试过程。现在细细一品,有好处的地方是,按这种模...
2019-12-02 22:13:17 257
转载 一些字符串哈希算法
unsigned int hash_BPHash(unsigned char *str){ unsigned int hash = 0; while(*str){ hash = (hash << 7) ^ (*str++); } return hash;}unsigned int hash_FNVHash(unsigned char...
2019-10-08 00:22:10 242
原创 MySQL导出数据 用Java读时一行记录的某些列出现换行导致读取到多行数据 问题分析与解决方法
背景数据库导出到文件中的一项记录,出现了多行……根据主键查数据库发现,数据字段中有换行符……但是奇怪的事情是,我用命令:cat data.txt |wc -l查看文本行数时,只有一行可是我拿到自己机器(Mac)用SublineText打开,发现是多行!正文开始关注到ASCII码中的CR(回车符)、LF(换行符)找到问题的原因:为什么会使用命令查询行数是一行,用文本读取器打开是多行这...
2019-08-31 19:16:58 1076
原创 Spring在项目启动时就执行特定方法
如何在项目启动时就执行特定方法方法上加注解@PostConstruct@Compantpublic class InitDemo{ @PostConstruct public void init(){ //项目启动就会执行这个方法 doSomething(); }}2.xml配置init-method<bean id...
2019-08-30 22:59:13 594
原创 [Java] Properties配置文件装载进JavaBean对象工具函数 案例
前言本文所用Properties配置读取使用的commons-configuration2pom.xml引入:<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-configuration2</artifactId> &...
2019-08-28 14:39:11 1038
原创 [JDK工具]虚拟机性能监控与故障处理工具
1 前言不会程序调优的程序员不是一个好程序员。给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等。2 JDK的命令行工具我们熟知的JDK的bin目录中有“java”、“javac”命令。除此...
2019-08-08 15:33:53 180
原创 [Kubernetes]如何通过服务名发现服务? kube-proxy 和 kube-dns 原理解密
前言在这里,你将了解 Kubernetes 集群如何实现通过服务名,进行服务发现,负载均衡,调用后端服务。这里,我们以服务名为ticknet为例,假设我们要访问内部服务ticknet的某个http接口,则,我们的请求链接格式可以是:http://ticknet/get/user/10000目录kube-dns服务发现原理kube-proxy实现负载均衡总结参考1. kube-...
2019-08-02 17:57:56 6476
原创 [JAVA] JVM基础——“反射” 代码案例
代码新建Robot.java文件package com.hyperdai.jvm;/** * @author hyperdai * @create 2019-07-28 16:00 */public class Robot { private String name; public void sayHi(String helloSentence) { ...
2019-07-28 16:24:31 172
原创 [系统调优] Nginx压测QPS 2w+ 的调优实验
实验1. Nginx的配置调优:Nginx进程数编辑nginx配置文件nginx.confworker_processes 3;worker_connections 20480;2.Linux系统参数设置:文件句柄设置如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many files open”的错误提示。如何知道当前进程打开了多少个文件句柄呢?下面一段小...
2019-07-26 11:48:21 4985
原创 微服务通讯协议RPC的dubbo/dubbox、thrift、grpc、motan比较
前言从通讯协议角度考虑,常见的协议有REST APIRPCMQ如何选择RPC框架,要考虑这些:I/O、线程调度模型序列化方式多语言支持服务治理流行的RPC框架DubboMotanThriftGRPC总结...
2019-07-12 22:07:11 798 1
原创 [微信开发][PHP]微信企业号接收消息服务器配置 验证URL有效性 失败处理
前言话不多说,我是看了这些文章解决的https://github.com/sbzhu/weworkapi_phphttps://work.weixin.qq.com/api/doc#10514https://work.weixin.qq.com/api/doc#90000/90139/90968/验证URL函数https://blog.csdn.net/nvzizhou/article/...
2019-07-09 14:46:35 2225
转载 Java Web开发后端常用技术汇总
技术名称及官网Spring FrameworkSpring容器http://projects.spring.io/spring-framework/SpringMVCSpring MVC框架http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvcApache Shiro安...
2019-07-03 20:34:29 2588
原创 【Docker-05】Redis集群初探 —— 主从同步
Redis集群知多少redis目前的集群方案分为以下几种:1.RedisCluster:官方推荐,没有中心节点2.Codis:中间件产品,存在中心节点3.Twemproxy:中间件产品,存在中心节点RedisCluster无中心节点,客户端与redis节点只连,不需要中间代理层数据可以被分片存储管理方便,后续可自行增加或摘除节点主从同步Redis集群中的数据库复制是通过主...
2019-06-23 21:36:30 258
原创 【Docker-04】Mysql集群 热备份数据 —— 不看后悔系列 —— 看了也后悔
前言冷备份:关闭数据库时候的备份方式,通常做法是拷贝数据文件冷备份是最简单的最安全的一种备份方式mysqldump也属于冷备份大型网站无法做到关闭业务备份数据,所以冷备份不是最佳选择当然在之前提到的PXC集群中,我们可以中断某个节点,单独备份数据,再上线。热备份:热备份是在系统运行的状态下备份数据,也是难度最大的备份Mysql常见的热备份有LVM和XtraBackup两种方案...
2019-06-23 21:00:24 420 2
原创 【Docker-03】负载均衡的高可用方案 —— 不看后悔系列
前言通过上一篇文章我们知道,我们的haproxy是单节点的,如果haproxy挂掉,我们的后端Mysql集群就不可用了。所以……总体设计1.虚拟IP —— Linux2.利用Keepalived实现双机热备3.Haproxy双机热备方案动手试试1.安装Keepalived进入容器docker exec -it h1 bash在容器中安装apt-get updatea...
2019-06-23 20:23:54 708
原创 【Docker-02】数据库集群负载均衡 —— 不看后悔系列
前言如果没有安装Mysql集群,先看上一节。为什么要负载均衡?因为:一个人受罪还不如大家一起受罪!(想想就觉得不疼了)这里我以PXC.Mysql集群为例,使用Haproxy做负载均衡,使请求均匀分发给每个节点(一起受罪)为什么Haproxy?看到TCP/IP协议那里,我挺喜欢Nginx,但是不敢用,谁让他出得慢,而Haproxy好歹很早就支持了!1.安装Haproxy镜像doc...
2019-06-23 19:46:12 539
原创 【Docker-01】从「概念->安装->创建Mysql集群」体验
概念别问,问就是百度。Docker下载与安装官网下载:https://www.docker.com/此处留坑:Mac版Docker,禁用不了开机启动。等一个大佬帮忙解决添加远程仓库(国外的镜像下载速度太慢)我用的:https://www.daocloud.io/Mac添加方法:创建Mysql集群我们采用PXC的Mysql集群镜像,不懂先百度PXC。1.查询远程镜像仓库do...
2019-06-23 18:52:42 225
转载 提高生产力,从善用工具开始——Mac版
| 导语 君子生非异也,善假于物也生产力工具生产力: 这里就专指工作内容生产力工具: 就是能高效实现工作的工具三个基本点:生产价值:产出价值高于学习成本和价格成本等折叠时间:就是对生产价值的时间属性具体化, 节省时间是否比学习时间多美学: 安全,精致,简洁,使用起来行云流水目录 ContentsMacVscodeChromeOthersmacmac特点MacO...
2019-06-17 15:44:57 1754
原创 [监控基础]Shell查询 数据库/HTTP接口 数据 写入 HTML文件 发送邮件
数据库版连接数据库,输入查询指令获取数据,写入文件,发送邮件#!/bin/bashtimenow=`date +%Y%m%d%H`filePath='./mail.html'html_input(){echo "<tr><td>$1</td><td>$2</td><td>$3</td>&l...
2019-06-15 15:38:35 685
原创 Nginx负载均衡之Nginx健康检查模块与原生模块的爱恨情仇
前言通过本文,简单了解原生模块和健康检查模块的优缺点然后,希望让我劝你选择健康检查模块Nginx健康检查模块安装安装教程请绕道此处:Nginx使用upstream_check_module模块实现后端节点健康检查功能另外,我的模块正确安装检验方式是:有nginx转发两台服务器,当其中一台服务器挂掉的情况下,nginx可以把情况都转发给健康的服务器。注意:nginx.conf配置里需要加...
2019-06-14 17:38:21 1151
原创 前端分流限流策略、算法
前言高并发场景随处可见,那怎么增加自己对高并发优化的视野呢?希望本文总结能增加一点点你对某些解决方案的兴趣此处“前端”,是相对于“后端”的请求,即后端架构中“请求的入口”为前端。正文限流分析前端组件软负载均衡基础设施(lvs / nginx / haproxy)OpenResty 防刷、限流OpenResty实现限流的几种方式Redis限流实现限流策略限制接口总并发数:按...
2019-06-09 17:08:54 3746 3
原创 【破冰】ElasticSearch 7.x 操作示例
前言想要了解ElasticSearch的朋友可以去:Elastic官网想了解ElastciSearch7的同学可以去:ElasticSearch7.x新特性正文参考ElasticSearch 遇见
2019-05-31 11:01:26 1253
转载 中间件——消息队列
1. 消息队列的应用场景参考网址:消息队列的四种应用场景[消息队列设计思路](https://blog.csdn.net/zl1zl2zl3/article/details/51966826)(1)异步处理用户注册时,可以同时将 发送邮件 和 发送短信 功能放到消息队列中实现。可以提高用户响应时间,提高系统吞吐量。(2)应用解耦用户下单和库存扣账中使用消息,可以防止库存系统出问题后...
2019-05-27 11:12:44 212
原创 Netty的最强FAQ(常见问题与解答)
问题引出默认情况下,Netty服务端起多少线程?何时启动?Netty是如何解决jdk空轮训bug的?Netty如何保证异步串行无锁化问题探究问题1:默认情况下,Netty服务端起多少线程?何时启动?...
2019-05-26 15:29:28 594
原创 封装自己的LogUtils —— 基于Logback&Slf4j
前言正文LogUtils.javapackage com.hyperdai.contest.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * author hyperdai * create 2019-05-24 21:26 */public class LogUtils { pr...
2019-05-25 22:23:18 1669
原创 【破冰】ElasticSearch7.x「新特性」——不完全解读
前言公司ELK系统需要重构,然后我准备尝试把Es6.x升级到Es7.x,翻了许多文档,踩了很多坑,以下是对于新特性的一些解读(理论),主要是从ES6.x-》7.x。当然接下来会推出ES7+Java代码实践(期待)。正文1. 集群连接变化:TransportClient被废弃以至于,es7的java代码,只能使用restclient。然后,个人综合了一下,对于java编程,建议采用 Hig...
2019-05-24 21:15:50 17504 2
转载 单机百万连接调优(Netty Demo)
Netty DemoConstant.java public class Constant { static final int BEGIN_PORT = 8000; static final int N_PORT = 100; }ConnectionCountHandler.javaimport io.netty.channel.Chan...
2019-05-13 17:40:30 1589
原创 如何通过浏览器书签栏嵌入JS脚本
姿势:打开书签过滤器在地址栏插入以下代码,代码的内容自己改javascript:var script=document.createElement('script');script.type='text/javascript';script.src='https://api.xiaohudi.com/configure/js';document.getElementsByTagName...
2019-05-10 15:06:53 2990
原创 Logback的核心API调用,动态输出日志
前言项目碰到了不能读logback配置文件,因为配置文件是第一次启动读的,然后我程序运行时要动态写。比如这种场景:根据不同的业务id,生成不同的日志文件。因为动态场景,无法写配置文件,我们只能通过调用自己输出,然后自己输出还得写文件,为什么不借助logback的api去写文件呢?毕竟别人开源的代码比我们牛逼!写代码之前,从官网看一下logback工作原理(为了让你们感觉我是看懂了原理图,手...
2019-05-09 01:06:55 2377
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人