自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 微服务组件Microcmpt1.0正式发布

微服务组件Microcmpt1.0正式发布了,欢迎使用,链接:https://microcmpt.github.io/

2018-05-30 16:05:18 480

原创 自定义spring mvc和feign对应的protostuff消息转换器

一、自定义spring mvc protostuff消息转换器1.protostuff是一个序列化和反序列化的高性能类型,它比json字节数少,且快,适合做rpc调用2.自定义protostuff消息转换器,代码如下: public class ProtostuffHttpMessageConverter extends AbstractHttpMessageConverter<Object> { /** * 避免每次序列化都重新申请Buffer空间

2021-12-24 16:30:08 764

原创 Swagger自动配置的实现

1、在讲如何实现swagger自动配置之前,我先讲一下,我们平常使用swagger的时候通常是怎么配置的,如下面的代码块: @Bean @Order(value = 1) public Docket groupRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select()

2021-09-24 16:33:43 1975

原创 filebeat收集日志到es实践

1、环境操作系统:windows10elasticsearch:7.14.1filebeat:7.14.1elasticsearch-head:5.0.02、安装2.1.安装elasticsearch官网下载地址:Download Elasticsearch Free | Get Started Now | Elastic | Elastic,你可以根据操作系统选择自己需要的版本,由于本次实践采用的是windows10 64位操作系统,所以选择下载了windows版本的es,将下

2021-09-24 16:18:53 7648

原创 SQL性能分析工具SOAR介绍及实践

1.什么是soar?SOAR(SQL Optimizer And Rewriter) 是一个对 SQL 进行优化和改写的自动化工具。 由小米人工智能与云平台的数据库团队开发与维护。2.它有哪些功能特点?跨平台支持(支持 Linux, Mac 环境,Windows 环境理论上也支持,不过未全面测试) 目前只支持MySQL 语法族协议的SQL优化 支持基于启发式算法的语句优化 支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT) 支持 EXPLAIN 信

2020-10-12 10:57:22 3963

原创 轻松解决feign.codec.EncodeException: Could not write request: no suitable HttpMessageConverter found for

问题:使用feign client访问其他服务时,报错:feign.codec.EncodeException: Could not write request: no suitable HttpMessageConverter found for request type [com.example.demo.feignclient.DTO] and content type [applicati...

2019-06-13 15:46:28 38826 3

原创 jenkins自动打包发布

1、准备linux系统:centosjenkins:jenkins-2.156-1.1.noarch.rpmmaven:apache-maven-3.6.1-bin.tar.gzjava:jdk-8u211-linux-x64.tar.gz2、安装jenkins执行如下shell命令rpm -ih jenkins-2.156-1.1.noarch.rpm备注:je...

2019-04-24 16:56:39 922

原创 Spring Boot应用使用docker封装

一、准备运行系统:centos7 64位 docker-ce(社区版):18.09.3二、安装docker和搭建私有镜像仓库1、搭建docker第一步:更新yum包yum update第二步:移除原有的旧的docker程序yum remove docker \ docker-client \ d...

2019-03-24 16:14:57 582

原创 在idea上开发MapReduce应用

一、开发前准备hadoop:2.8.5winutils:2.8.3①在开发mapreduce之前,你需要在vmware安装hadoop,hadoop版本根据你安装的版本决定②在windows上运行MapReduce程序,需要下载winutils,下载地址:https://github.com/steveloughran/winutils③将winutils解压到对应的目录下,将...

2018-12-16 12:25:24 4924

原创 Spring data redis故障转移

假设生产环境中有3台redis服务器,3台redis服务器不是以cluster的方式部署,而是以单节点的方式部署在各自的服务器中,3台服务器无任何交互。现在要求第一台服务器发生网路闪断或者服务器宕机,转移到第二台服务器以此类推,如果其他服务器重新提供服务,需要能够重新加入redis服务器列表中。为了实现如上要求,现在将代码和配置文件贴在下面:1、redis.properties配置文件,用于记录三...

2018-03-24 08:15:45 480

原创 Spring beancopier复制实现

在Java EE项目中有的时候需要在Bo,Vo,Po之间进行复制,如果类中的属性少的话,我们还可以自己通过最简单的set方式赋值,但如果属性多了,比如一个类中有100个属性,难道你需要一步一步的set吗?那岂不是要疯了?所以,我们需要想着用其他的方式解决这个问题,通过不断地研究,写出了下面的解决方案。使用Spring 的BeanCopier解决不同类之间的深度复制,下面贴出代码,供大家参考:1.B...

2018-03-24 08:11:39 5605 2

原创 领域驱动设计架构

一、领域驱动设计架构领域驱动设计架构分成接口层(interfaces)、应用层(Applications)、领域层(Domain)以及基础设施层(Infrastructure)。下图描述这四者的简略图:图一:领域驱动设计风格的架构草图四者的详细架构图: 图二:领域驱动设计参考架构传统的三层构图: 图三:传统三层架构图说明:   作为参照,下图展示了传统TransactionScript风格的

2018-01-08 16:39:37 5075

原创 配置文件与配置中心实现人工开关降级

第二章 配置文件与配置中心实现人工开关降级通过监控发现生产环境中一些服务的问题,需要将这些服务暂时摘除掉。有的时候,比如:服务调用量大,需要同步转异步;数据库存在,但是查询速度慢,这时需要暂停服务,立即修复;新开发的功能上线进行灰度测试,不确定新的功能是否有影响,一旦有影响就直接切回老的版本。配置可以存放在配置文件,redis/zookeeper或者数据库等。1.配置文件实现开关配置配置文件:swi

2018-01-04 14:08:44 1064

原创 Redis Sharding(分片)技术学习

1.redis cluster介绍redis cluster在3.0版本或者以上版本提供,采用sharding技术。Sharding采用slot(槽)的概念,一共分成16384个槽。对于每个进入Redis的键值对,根据key进行散列,分配到这16384个slot中的某一个中。使用的hash算法也比较简单,就是CRC16后16384取模。Redis集群中的每个node(节点)负责分摊这16384个sl

2018-01-03 13:37:59 4315

原创 Elasticsearch+Logstash+Kibana配置手册

Elasticsearch+Logstash+Kibana配置1.elasticsearch配置修改config/elasticsearch.yml,修改节点名和主机ip地址:node.name: edu-zk-01network.host: 0.0.0.02.logstash配置2.1.修改config/logstash.yml文件http.host: "本机ip"2.2.在logstash的安

2018-01-02 10:47:53 610

原创 Java面试题

网上找的一个比较全的面试题,讲得很不错,强力推荐!

2017-12-29 16:53:54 227

原创 Elasticsearch+Logstash+Kibana安装X-Pack手册

Elasticsearch+Logstash+Kibana安装X-PackX-Pack是一个Elastic Stack的扩展,将安全、警报、监控、报告、图形和机器学习功能包含在一个易于安装的软件包中。1.elasticsearch安装X-Pack在elasticsearch中安装x-pack步骤如下:1.1.下载x-packa.下载地址: https://artifacts.elastic.co/d

2017-12-29 14:10:23 1657

原创 ELK搭建和配置手册

ELK搭建和配置手册导航[x] 第一节 Elasticsearch+Logstash+Kibana搭建手册[x] 第二节 Elasticsearch+Logstash+Kibana安装X-Pack手册[ ] 第三节 Elasticsearch+Logstash+Kibana配置手册[ ] ……(持续更新中……)

2017-12-29 14:08:57 324

原创 Elasticsearch+Logstash+Kibana搭建手册

Elasticsearch+Logstash+Kibana搭建环境:linux系统版本:CentOS6.5 32bitjava版本:jdk_1.8.0_144elasticsearch:elasticsearch-6.1.1.tar.gzlogstash:logstash-6.1.1.tar.gzkibana:kibana-6.1.1-linux-x86_64.tar.gz1.Elastic

2017-12-27 17:02:45 1578 1

原创 JAVA开发全栈技术揭秘

JAVA开发全栈技术揭秘[x] 第一章 构建Restful开放API的两种常用方式[ ] 第二章 Mybatis和Spring整合对数据访问层的封装与访问[ ] 第三章 缓存技术与缓存击穿解决方案(持续更新中……)

2017-12-26 15:41:42 1607

原创 第一章 构建Restful开放API的两种常用方式

第一章 构建Restful开放API的两种常用方式随着近几年微服务这种架构风格的火热,很多人都对Restful API有了一定的认识,Martin Folwer发表的论文中关于微服务中服务间的通讯需采用轻量级通信机制,这种轻量级的通信机制必须是能够跨语言、跨平台的,通常采用Http资源API作为微服务的通信机制。下面就会为大家带来关于如何构建Restful API提供两种常用方式,在介绍如何构建Re

2017-12-26 15:39:10 1501

原创 hadoop2.6.5和Hbase1.2.6单机搭建

1.hadoop单机搭建1.1.从官网中下载hadoop,笔者使用的是2.6.5版本的hadoop,在/usr/local/下创建hadoop目录,并将hadoop-2.6.5.tar.gz解压到hadoop目录下,创建tmp,hdfs目录# mkdir /usr/local/hadoop# cd /usr/local/hadoop# tar -zxvf hadoop-2.6.5.t

2017-11-16 15:26:14 2530

原创 Spring data kafka操作kafka消息的发送和订阅

本项目是在Spring Boot的基础上构建的,笔者使用的是Spring Boot 1.5.8版本.1.在项目的pom.xml文件中引入如下依赖项:    org.apache.kafka    kafka-clients    0.10.2.0    org.springframework.kafka    spring-kafka    1.2.0.RE

2017-11-16 14:31:04 5378

原创 kafka集群及zookeeper集群搭建

kafka集群搭建遇到的那些坑:1、如果你的kafka中的server.properties文件中的broker.id=0不修改,启动时会报错,按照顺序依次修改成0,1,2......2、server.properties文件中如果没有host.name就要加上,否则通过kafka api会无法访问3、使用bin/kafka-server-stop.sh在centOS6

2017-11-15 11:03:34 382

原创 mybatis-3.4.6工作原理介绍

1、Mybatis的主要组件包括:SqlSessionFactory、SqlSession、Mapper   ①SqlSessionFactory是用来获取mybatis XML配置文件中的配置信息,将配置文件中的XML标记元素解析成对应的对象,比如Environment,以及创建SqlSession通过openSqlSession   ②SqlSession是用来与数据库建立连接,并且操

2017-11-08 14:53:03 785

原创 Spring Boot Actuator简介

Spring Boot Actuator是用来对Spring Boot项目进行监控的组件,可以通过它可以查看应用的健康情况、指标、调用统计等。1、添加依赖项<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></de

2017-10-25 09:10:39 316

原创 Spring Boot Admin服务监控

Spring Boot Admin1.Spring Boot Admin是什么?它是用于监控springboot应用程序的监控系统,应用程序通过Apring Boot Admin Client进行注册(通过HTTP的方式),或者使用springcloud来发现(比如:eureka),UI只是在Spring Boot Actuator端点上的一个AngularJs应用程序2、开始2.1、设置sprin

2017-10-23 15:43:09 13123 10

原创 利用maven按环境打包SpringBoot的不同配置文件

一个应用系统需要在不同的阶段以不同的配置文件来进行部署,在开发阶段需要开发时的配置文件启动服务,测试阶段或者生产阶段都是不同的配置,所以我们需要利用maven按照环境来将不同环境的配置文件按环境打包,减少我们的维护成本。1、在pom文件中进行如下配置: dev dev

2017-10-16 14:11:27 7289 1

原创 Spring的MapPropertySource刷新系统属性值(key-value配置在外部系统中如redis,数据库等)

我们经常会把一些属性值以key=value的形式放在properties文件中,有的时候,我们可能会将一些经常变动的属性值放在外部系统中,比如redis或者数据库中,如果在某个时刻修改了redis中的值,如何让使用了该值的系统及时刷新系统内存中的值呢?下面我将介绍,如何在Spring环境中动态刷新属性值。1、假设我在redis服务器上set了一个key为env,value为dev的值2、自

2017-10-16 13:31:07 5500

原创 redis在linux系统作为服务启动

本篇文章主要介绍,在linux环境中将redis作为后台服务,这样能够避免在服务器启动时,能够自动启动redis服务,减少我们认为的自己手动启动服务。环境:  CentOS版本:6.5  redis版本:3.2.10第一步:定位到redis的tar包所在位置,将redis-3.2.10中的utils中的redis_init_script复制到/etc/rc.d/init.d

2017-09-25 12:10:34 995

原创 如何写框架——高可用RMI远程通信框架篇

一、高可用RMI框架likab-rmi的设计1、likab-rmi架构图说明:1.服务提供者在容器启动时,发布对象到rmi注册表2.服务提供者将rmi服务注册JNDI注册到Zookeeper服务注册中心3.服务消费者从Zookeeper服务注册中心获取服务地址列表,缓存至本地4.如果某台服务提供者服务器宕机,Zookeeper服务注册中心通过心跳检测到该服务无法连接

2017-06-30 16:37:39 1150 2

原创 如何写Java框架 — 前言

一、何为框架?一讲到框架,作为开发者,在熟悉不过了,我们的项目中用到了各种各样的框架,那你知道何为框架呢?

2017-06-12 20:28:22 2165

转载 高质量代码有三要素:可读性、可维护性、可变更性

今天这堂培训课讲什么呢?我既不讲Spring,也不讲Hibernate,更不讲Ext,我不讲任何一个具体的技术。我们抛开任何具体的技术,来谈谈如何提高代码质量。如何提高代码质量,相信不仅是在座所有人苦恼的事情,也是所有软件项目苦恼的事情。如何提高代码质量呢,我认为我们首先要理解什么是高质量的代码。  高质量代码的三要素  我们评价高质量代码有三要素:可读性、可维护性、可变更性。我们的代码要

2017-04-11 13:23:58 1350

原创 知其然,知其所以然之Java基础系列(二)

String是Java语言中最重要的数据类型,但它非基本类型。1、String对象具有三个基本特点:不变型、常量池的优化、类的final定义。下面来介绍一下这三个基本特点:①不变性:不变性指的是String对象一旦创建,则不能对其进行修改。②常量池优化当两个String对象拥有相同的值时,它们只引用常量池中的同一个拷贝。String str1="abc";Stri

2017-04-09 11:08:35 281

原创 Spring Boot实战(三)

1. @Enable*注解1.1. 注解描述@EnableAspectJAutoProxy - 开启对AspectJ自动代理技术@EnableConfigurationProperties - 开启对@ConfigurationProperties注解配置Bean的支持@EnableJpaRepositories - 开启对Spring data JPA Repository的支持

2017-03-31 16:08:20 11623

原创 Spring Boot实战(二)

1. 开发你的第一个Spring Boot应用1.1. 编写代码classpath的依赖见Spring Boot实战1.4.2. 修改pom.xml,为了完成这个应用程序,我们需要创建一个单独的java文件,在src/main/java下添加一个名为src/main/java/Example.java的文件:import org.springframework.boot.*;impo

2017-03-31 15:58:25 809

原创 Spring Boot 实战(一)

1. Spring Boot概述1.1. 为什么使用Spring Boot?随着动态语言的流行,比如groovy,scala等,java的开发显得格外的笨重,例如:繁多的配置、低下的开发效率,复杂的部署流程以及第三方集成难度大。在上述环境下,Spring Boot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目

2017-03-31 15:34:01 1733

原创 Hadoop实战

第一章 Hadoop概述1、Hadoop框架中最核心设计就是:HDFS和MapReduce。HDFS提供了2、海量数据怎么存?当然是用分布式文件系统——HDFS3、数据怎么用呢,分析、处理MapReduce框架,让你通过编写代码来实现对大数据的分析工作第二章 Hadoop安装1、hadoop的安装模式分为单机模式、伪分布模式、全分布模式。2、安装hadoop前准

2017-03-25 09:48:26 1014

原创 Spring Boot项目与Docker集成完成打包,打镜像及推送至镜像库的功能

Spring Boot与Docker集成完成一站式打包到推送至镜像库,减少部署的过程,下面主要来介绍一下,如何集成Docker:1.在Spring Boot项目的pom.xml文件中做以下配置: org.springframework.boot spring-boot-maven-plugin true o

2017-03-24 14:17:10 834

原创 知其然,知其所以然之Java基础系列(一)

相信大家在最初接触Java基础学习的时候,也只是跟着课本上的描述学习,知其然,不知所以然,要想成为一个Java老鸟,不仅要学会怎么用,也要知道为何这么用。在Java基础系列的博客中,我会列举一系列大家日常开发中只知道会用的,却不知道为何如此这么用的那些常用知识点。1.1 一个简单的String例子,看看个人功底如何?下面看一段代码片段:public static void main(...

2017-02-26 17:49:44 702

一键生成数据库文档工具

用于在mysql,postgresq等数据库生成数据库文档,直接在windows,cmd命令框输入必要的数据库相关参数,enter一下就能直接生成你想要的数据库文档,节省了人工编写数据库带来的时间消耗

2020-09-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除