后端框架
文章平均质量分 66
Wu_Menghao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SLF4J你一些不知道的附加功能
SLF4J extensionsslf4j官方提供了一些附加功能,这些功能都在slf4j-ext.jar中提供,这些附加功能主要包括:Profiler 分析器:可以阶段性的记录日志,并打印出各个阶段所耗费的时间,可用于性能分析之类的; Extended logger 扩展日志:提供entry和exit方法,可以在方法开始和结束时使用,打印记录使用过扩展日志的方法,以及方法的出入参数; Event Logger 事件日志:提供异步日志支持,通过MDC进行参数传递,实现异部线程之间日志参数的传递,.原创 2021-01-22 18:56:21 · 1435 阅读 · 2 评论 -
采用Cipher DES针对文件加密、解密
由于经常用一些加密或者解密文件的,所以写了一个简单的采用Cipher DES针对文件加密、解密的工具类,记录一下,防止以后忘记了! import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import ...原创 2019-01-15 16:22:12 · 1419 阅读 · 0 评论 -
netty4+protobuf3最佳实践
本文要点:netty4+protobuf3多类型传输实现 优雅的实现消息分发做后台服务经常有这样的流程:2eeae9b5-4a34-4171-b0e8-4f695c29d2d9.png如何优雅的完成这个过程呢?下面分享下基于netty+protobuf的方案:首先要解决的是如何在netty+protobuf中传输多个protobuf协议,这里采取的方案是使用一个...转载 2019-09-23 14:39:17 · 849 阅读 · 0 评论 -
实现简单的Redis分布式锁
lock方法 private boolean lock(String lockKey) { if(redisCache.getObj(lockKey) != null){ return false; } redisCache.set(lockKey,true); return true; }...原创 2019-09-23 10:56:05 · 308 阅读 · 0 评论 -
分布式系统常见负载均衡算法
一、概要随着系统日益庞大、逻辑业务越来越复杂,系统架构由原来的单一系统到垂直系统,发展到现在的分布式系统。分布式系统中,可以做到公共业务模块的高可用,高容错性,高扩展性,然而,当系统越来越复杂时,需要考虑的东西自然也越来越多,要求也越来越高,比如服务路由、负载均衡等。此文将针对负载均衡算法进行讲解,不涉及具体的实现。二、负载均衡算法在分布式系统中,多台服务器同时提供一个服务,并统一到服务配...转载 2019-09-23 09:11:40 · 758 阅读 · 0 评论 -
JDK8函数式接口Function、Consumer、Predicate、Supplier
备注1:观察发现,函数式接口下共有1、三种方法1.1唯一的抽象方法1.2 使用default定义普通方法(默认方法),通过对象调用。实现接口后,因为默认方法不是抽象方法,所以可以不重写,但是如果开发需要,也可以重写 。当然如果接口中的默认方法不能满足某个实现类需要,那么实现类可以覆盖默认方法。签名跟接口default方法一致,但是不能再加default修饰符。3.使用static定义...转载 2019-09-20 16:04:50 · 394 阅读 · 0 评论 -
阿里云消息推送同时推送到iOS和android问题解决
1. SDK.InvalidRegionID :can not find endpoint to access在阿里开发手册中给出的解决方法,产生原因是由于SDK核心包版本过低,升级版本即可解决。相关文档2.同时推送iOS和android官方给出的demo仅设置一次appKey是不行的,只能推送的appKey所对应的一端,双端推送的话必须分两次设置并发送请求...原创 2019-08-16 09:34:39 · 2681 阅读 · 0 评论 -
Springboot的定时任务:@Scheduled @EnableScheduling注解
在我们开发项目过程中,经常需要定时任务来帮助我们来做一些内容, Spring Boot 默认已经帮我们实行了,只需要添加相应的注解就可以实现1、pom 包配置pom 包里面只需要引入 Spring Boot Starter 包即可<dependencies> <dependency> <groupId>org.springf...转载 2019-06-11 16:12:41 · 538 阅读 · 0 评论 -
Quartz集群原理及配置应用
1、Quartz任务调度的基本实现原理 Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现。作为一个优秀的开源调度框架,Quartz具有以下特点: (1)强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求; (2)灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式; (3...转载 2019-06-05 11:13:55 · 1084 阅读 · 0 评论 -
YAML——基本语法
功能[编辑]YAML的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。[4]它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。尽管它比较适合用来表达层次结构式(hierarchical model)的数据结构,不过也有精致的语法可以表示关系性(relational ...原创 2019-01-24 10:59:28 · 10347 阅读 · 0 评论 -
elasticsearch数据备份与sshfs建立共享文件
1.背景: 最近公司为了适应业务的发展,利用elasticsearch搜索引擎搭建了两个节点。为了防止数据丢失的特殊情况,需要定时做数据备份,而由于elasticsearch为两个节点分别在不同的服务器ip,即需要创建共享文件系统,也就是大家都能访问的一个共享文件夹。 (说明:linux系统使用centos 7)2.内容: 1)创建共享文件 执行下面的命令yu...转载 2019-01-22 11:07:02 · 569 阅读 · 0 评论 -
Elasticsearch 集群分配多少分片合理
Elasticsearch 是一个非常通用的平台,支持各种用户实例,并为组织数据和复制策略提供了极大的灵活性。但是,这种灵活性有时会使我们很难在早期确定如何很好地将数据组织成索引和分片,尤其是不熟悉 Elastic Stack。虽然不一定会在首次启动时引起问题,但随着数据量的增长,它们可能会导致性能问题。群集拥有的数据越多,纠正问题也越困难,因为有时可能需要重新索引大量数据。 ...转载 2019-01-19 17:05:59 · 2796 阅读 · 0 评论 -
elasticsearch 服务安全配置
一、目前主要通过插件的形式来控制:常用的插件主要包括:elasticsearch-http-basic,search-guard,shield由于shield是收费的暂时还未研究(研究后统一补充)search-guard主要用于elasticsearch2.x以后的版本(研究后统一补充)elasticsearch-http-basic主要用于elasticsearch1.x的版本...转载 2019-01-09 13:20:00 · 3448 阅读 · 0 评论 -
Java8 Optional 的正确使用方式
1.当我们还在以如下几种方式使用 Optional 时, 就得开始检视自己了调用 isPresent() 方法时 调用 get() 方法时 Optional 类型作为类/实例属性时 Optional 类型作为方法参数时isPresent() 与 obj != null 无任何区别, 我们的生活依然在步步惊心. 而没有 isPresent() 作铺垫的 get() 调用在 Intelli...转载 2018-12-25 10:29:19 · 970 阅读 · 0 评论 -
CentOS 7下简单搭建 Elasticsearch集群
环境说明:服务器(系统版本CentOS 7)elasticsearch版本: elasticsearch-6.2.2 elasticsearch目录: /home/soft/ 192.168.33.10 master 192.168.33.11 master data 192.168.33.12 master data一、创建es运行帐号 【三台机器都统一用户为es...转载 2018-12-20 17:00:42 · 556 阅读 · 0 评论 -
IK Analysis for Elasticsearch 文档 —— 安装 、词典配置、热加载
IK Analysis for ElasticsearchThe IK Analysis plugin integrates Lucene IK analyzer (http://code.google.com/p/ik-analyzer/) into elasticsearch, support customized dictionary.Analyzer: ik_smart , ik_...原创 2018-12-20 16:55:18 · 335 阅读 · 0 评论 -
logstash-input-jdbc配置说明
Logstash由三个组件构造成,分别是input、filter以及output。我们可以吧Logstash三个组件的工作流理解为:input收集数据,filter处理数据,output输出数据。至于怎么收集、去哪收集、怎么处理、处理什么、怎么发生以及发送到哪等等一些列的问题就是我们接下啦要讨论的一个重点。我们今天先讨论input组件的功能和基本插件。前面我们意见介绍过了,input组件是Log...转载 2018-12-17 20:02:20 · 940 阅读 · 0 评论 -
Elasticsearch DSL语句学习
POST /reagent/_delete_by_query{ "query": { "match_all": {} }}DELETE /reagentPUT /reagent{ "settings": { "analysis": { "char_filter": { "line":{原创 2018-12-17 16:34:41 · 697 阅读 · 0 评论 -
ElasticSearch 常用的查询过滤语句
query 和 filter 的区别请看: http://www.cnblogs.com/ghj1976/p/5292740.html Filter DSL term 过滤term主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyzed 的字符串(未经分析的文本数据类型): { "term": { "age": 26 }} ...转载 2018-12-14 08:59:16 · 243 阅读 · 0 评论 -
利用logstash的logstash-input-jdbc插件实现mysql增量导入ES的介绍
参考链接:1, 源码地址,官方介绍2, logstash-input-jdbc使用建议3, 官网介绍例子,使用 logstash-input-jdbc 到 elasticsearch一、安装 elastisearch, logstash参考我的上一篇链接 :centos下 ELK部署文档二、安装logstash-input-jdbc插件logstash-input-jd...转载 2018-12-14 08:46:08 · 707 阅读 · 0 评论 -
elasticsearch-query-tookit一款基于SQL查询elasticsearch编程工具包,支持SQL解析生成DSL,支持JDBC驱动,支持和Spring、MyBatis集成
`elasticsearch-query-tookit`是一款基于SQL查询elasticsearch编程工具包,支持SQL解析生成DSL,支持JDBC驱动,支持和Spring、MyBatis集成,提供Java编程接口可基于此工具包二次开发 只是重新造了个轮子,有兴趣的同学可以相互交流,QQ: 465360798 项目地址:https://github.com/gitchennan/ ...转载 2018-12-13 15:13:56 · 928 阅读 · 0 评论 -
Elasticsearch 安装IK分词器插件
IK分词安装#切换到elasticsearch安装目录bin目录下./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.2/elasticsearch-analysis-ik-6.5.2.zip搜索 { "bool" :...原创 2018-12-13 15:09:40 · 373 阅读 · 0 评论 -
Elasticsearch入门和查询语法分析(ik中文分词)
全文搜索现在已经是很常见的功能了,当然你也可以用mysql加Sphinx实现。但开源的Elasticsearch(简称ES)目前是全文搜索引擎的首选。目前像GitHub、维基百科都使用的是ES,它可以快速的存储,搜索和分析数据。一、安装与启动ES的运行需要依赖java环境,可以在命令行运行 java --version 。如果出现说明已经安装了,否则你就需要安装下java环境...转载 2018-12-13 14:38:44 · 622 阅读 · 0 评论 -
JDK1.8新特性
一、引言 jdk1.8出来已经一段时间了,现在1.9也已经出来了,但是很多公司(我们公司也一样)不太愿意升级到高版本的jdk,主要是有老的项目要维护,还有升级的话配套的框架也要升级,要考虑的细节事情太多。 前段时间去面试,问到了jdk1.8的新特性,博主答得不是很好,今天抽了一段时间把这些都总结一下。二、新特性 1、default关键字 在java里面,我们通常都是认为...转载 2018-12-03 13:53:10 · 205 阅读 · 0 评论 -
事务隔离级别和传播机制
2.事务隔离级别分类事务隔离级别由低往高可分为以下几类:READ UNCOMMITTED读取未提交的数据。这是最不安全的一种级别,查询语句在无锁的情况下运行,并能读取到别的未提交的数据,造成脏读,如果未提交的那个事务数据全部回滚了,而之前读取了这个事务的数据即是脏数据,这种数据不一致性读造成的危害是可想而知的。READ COMMITTED读取已提交的数据。一个事务只能读...原创 2018-12-03 11:55:12 · 381 阅读 · 0 评论 -
Mybatis Update操作返回值问题
后端的数据持久化使用的是 Mybatis ,在做高并发下账户增减余额的时候,打算使用乐观锁来解决这个问题。在获取update操作的返回值时遇到了一个问题,似乎 Mybatis 进行 update 操作得到的 int 返回值并不是影响的行数。这下就尴尬了。一般而言,我们知道当我们使用 Mybatis 在 mapper 接口中定义 insert delete 等操作,定义一个 int 类型的返回值...转载 2018-11-28 15:25:31 · 2892 阅读 · 0 评论 -
redis 消息发布订阅与消息队列
redis可以实现消息的发布订阅,可以用作java中的订阅发布模式纯粹redis的发布订阅 redis客户端1中使用命令 SUBSCRIBE talk 可以订阅通道 talk上的消息 redis客户端2中也同样运行这个命令一起订阅通道 talk redis客户端3使用命令 PUBLISH talk 'test' 可以发现客户端1和2同时受到消息java实现 可以通过spring-r...转载 2018-11-27 13:57:54 · 787 阅读 · 0 评论 -
MybatisPlusConfig
package com.brillilab.dao.config;import javax.sql.DataSource;import org.apache.ibatis.mapping.DatabaseIdProvider;import org.apache.ibatis.plugin.Interceptor;import org.mybatis.spring.boot.autoc...原创 2018-11-06 08:45:58 · 5966 阅读 · 2 评论 -
Hadoop权威指南学习——从Hadoop URL读取数据
一、准备工作 在hadoop-env.sh中配置好 HADOOP_CLASSPATH 变量,值为编译后的.class文件所放置的地方。export HADOOP_CLASSPATH=/usr/software/hadoop/hadoop-2.2.0/classpath二、编写程序import org.apache.hadoop.fs.FsUrlStreamHand...原创 2018-08-29 11:26:15 · 425 阅读 · 0 评论 -
Hadoop的伪集群配置与服务启动
一、伪集群配置 hadoop配置文件都存放在$HADOOP_HOME/etc/hadoop文件夹中1.core-site.xml<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost/&l...原创 2018-08-28 14:50:12 · 353 阅读 · 0 评论 -
hadoop-2.5.0源码编译
转载:hadoop-2.5.0源码编译2016-09-19 09:31:43 0个评论 收藏 我要投稿 第一步:解压hadoop-2.5.0-src.tar.gz至/opt/modules/目录下[qianxin@hadoop-master hadoop-2.5.0]$ tar -zxvf /opt/softwares/hadoop-2.5.0-s...转载 2018-08-28 13:35:35 · 224 阅读 · 0 评论 -
Spring+MyBatisPlus+Ehcache 使用MyBatisPlus二级缓存
1、依赖及版本 <!-- Mybatis Plus 核心库 mybatis通用代码生成器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artif...原创 2018-08-13 10:13:57 · 3506 阅读 · 0 评论 -
Spring整合Apache HttpClient实现RESTful风格接口调用
一、配置文件的编辑写<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="原创 2018-07-13 15:59:00 · 1110 阅读 · 0 评论 -
SSM整合Shiro框架+Redis 实现权限管理
1.Shiro概述Apache Shiro 是一个强大易用的 Java 安全框架Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro 要简单的多。简介Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境...原创 2018-06-07 09:48:11 · 4756 阅读 · 6 评论 -
SSM整合Quartz框架
1.Quartz概述Quartz是一款开源的优秀任务调度框架,易上手使用简单运行环境Quartz 可以运行嵌入在另一个独立式应用程序 Quartz 可以在应用程序服务器(或servlet容器)内被实例化,并且参与XA事务 Quartz 可以作为一个独立的程序运行(其自己的Java虚拟机内),可以通过RMI使用 Quartz 可以被实例化,作为独立的项目集群(负载平衡和故障转移功能...原创 2018-06-07 09:44:03 · 3938 阅读 · 2 评论 -
SSM整合Lucene实现全文检索
1.Lucene概述Lucene是一款使用Java语言编写的全文检索框架Lucene是简单而功能强大的基于Java的搜索库。它可以用于任何应用程序来搜索功能。 Lucene是开源项目。它是可扩展的,高性能的库用于索引和搜索几乎任何类型的文本。 Lucene库提供了所需的任何搜索应用程序的核心业务。索引和搜索。搜索应用程序的工作原理任何搜索应用程序执行一些或全部下列操作:步骤标题描述1获取原始内容任...原创 2018-06-07 09:40:40 · 2668 阅读 · 3 评论 -
Spring JavaMail 如何发送邮件
1.spring配置文件的编写<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns...原创 2018-05-30 19:01:12 · 276 阅读 · 0 评论 -
Shiro框架学习笔记(一)
#Shiro框架学习笔记(一)################################################################################一、sessionValidationScheduler的使session失效执行流程(SessionManeger)##############################################...原创 2018-05-15 13:50:00 · 1380 阅读 · 0 评论 -
Reactor 3 参考文档
Reactor 3 参考文档Stephane Maldini @smaldini Simon Baslé @simonbasle3.2.0.BUILD-SNAPSHOT (译者加)本文档的一些典型的名词如下: Publisher(发布者)、Subscriber(订阅者)、Subscription(订阅 n.)、subscribe(订阅 v.)。 ...转载 2018-09-28 15:56:10 · 6264 阅读 · 0 评论 -
Reactor 2.0 响应式时效性流式数据框架学习
Reactor 介绍 Reactor 是一个基础库,可用它构建时效性流式数据应用,或者有低延迟和容错性要求的微/纳/皮级服务。 简单说,Reactor 是一个轻量级 JVM 基础库,帮助你的服务或应用高效,异步地传递消息。"高效"是指什么?消息从A传递到B时,产生很少的内存垃圾,甚至不产生。 解决消费者处理消息的效率低于生产者时带来的溢出问题。 尽...原创 2018-09-27 16:17:49 · 1283 阅读 · 0 评论
分享