自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 什么是微服务?

1. 构建单体应用模型 - 什么是单体应用模型 1. 应用程序被作为一个单体进行打包和部署,尽管它有一个逻辑模块化架构。(容易开发,易于部署)2. 走向单体地狱 - 单体应用的局限性 1. 一个成功的应用程序随着时间的推移,将成为一个庞大、复杂的单体, 因此敏捷开发和交付问题将变得异常困难。而且应用程序越大,启动时间越长。...

2019-12-28 14:19:33 104

原创 SpringBoot启动流程原理

spring boot的启动流程一、初始化SpringAppliaction对象1. 设置应用的容器类型当前的web应用类型(webApplicationType)是在SpringApplication的构造函数中设置的,设置的逻辑在WebApplicationType.deduceFromClasspath中: return WebApplicationType.SERVLET;...

2020-03-04 00:42:54 421

原创 分布式锁详解

3. 分布式锁的场景与实现3.1 使用场景当客户下档时,我们调用库存中心进行减库存,那我们一般的操作都是: update store set num = $num where id = $id但是这种通过设置库存的修改方式,在并发量高的时候会存在数据库的丢失更新,比如a,b当前两个事务,查询出来的库存都是5,a买了3个单子要把库存设置为2,而b买了1个单子要把库存设置为4,那这个时...

2020-02-29 03:06:23 170

原创 消息中间件之RabbitMQ

一、概述1.1 核心概念1.1.1 JMSJMS:Java Message Service,java消息服务,是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。1.1.2 P2Pp2p:点对点发送,一个...

2020-02-25 22:13:26 186

原创 Schedule(定时任务)

虽然定时任务可以嵌⼊到web应⽤程序和WAR⽂件中,但下⾯演⽰⼀种更简单的⽅法创建了⼀个独⽴的应⽤程序。您将所有的内容打包在⼀个单⼀的、可执⾏的JAR⽂件中,⽤⼀个传统Java main()⽅法驱动。这也就是springboot的启动类。一、入门案例1.1 主程序package com.zqh;import org.springframework.boot.SpringApplica...

2020-01-03 23:07:08 1006

原创 ES导入MySql数据

1. logstash导入MySQL数据要使用logstash导入数据的时候,首先需要将mysql的驱动包(注意版本)加入到logstash的home目录下logstash-core\lib\jars下。在config目录下创建logstash-mysql.conf文件,配置如下:input { jdbc { jdbc_driver_class => "com.mysq...

2020-01-03 21:13:05 1716

原创 Elasticsearch与SpringBoot结合

1. 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency&g...

2019-12-30 23:43:22 233

原创 可重入锁与读写锁

一、 analysis与analyzeranalysis:  文本分析,是将全文本转换为一系列单词的过程,也叫分词。analysis是通过analyzer(分词器)来实现的,可以使用Elasticearch内置的分词器,也可以自己去定制一些分词器。除了在数据写入时将词条进行转换,那么在查询的时候也需要使用相同的分析器对语句进行分析。analyzer(分词器):由三部分组成:Charac...

2019-12-30 17:37:21 146

原创 Elasticsearch分词

一、 analysis与analyzeranalysis:  文本分析,是将全文本转换为一系列单词的过程,也叫分词。analysis是通过analyzer(分词器)来实现的,可以使用Elasticearch内置的分词器,也可以自己去定制一些分词器。除了在数据写入时将词条进行转换,那么在查询的时候也需要使用相同的分析器对语句进行分析。analyzer(分词器):由三部分组成:Charac...

2019-12-30 17:34:48 327

原创 Elasticsearch(一)

一、 简介  Elasticsearch是一个基于Apache Lucene™的开源引擎。无论在开源还是专用领域,Lucene可以被认为是迄今为止最先进、性能最好、功能最全的搜索引擎库。  但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。  Elasticse...

2019-12-30 17:33:46 124

原创 ELK环境搭建

spring boot与#### 一、 ELK阐述ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。Logstash是一个用...

2019-12-30 17:33:03 224

原创 volatile关键字

volitale关键字简介:  volatile是Java提供的一种轻量级的同步机制。Java语言包含两种内在的同步机制:同步块(或方法)和volatile变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错。...

2019-12-28 14:29:53 136 1

原创 SpringBoot+Mybatis整合Redis实现二级缓存

一. redis与spring boot整合添加pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency> ...

2019-12-28 14:28:32 328

原创 Linux下Redis集群

Liunx下安装Redis官网下载 wget http://download.redis.io/releases/redis-5.0.7.tar.gz解压进入redis-5.0.7目录下 tar -zxf redis-5.0.7.targz cd redis-5.0.7/执行make命令 make 如果在执行make命令时出现:Comm...

2019-12-28 14:27:56 141

原创 单例设计模式

什么是单例设计模式? 单例模式,是一种常见的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式的方法创建的类在当前进程中只有一个实例。 在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到...

2019-12-28 14:26:56 179 1

原创 设计模式七大原则(开口合里最单依)

七大原则 1. 开闭原则 一个软件实体,如;类、模块和函数应该面对修改关闭,面对扩展开放 2. 接口隔离原则(细化接口) - 客户端不要使用它不需要的接口 - 类间的依赖关系应该建立在最小的接口上(接口的功能尽可能单一) 3. 组合/聚合原则 在新对象中使用一些已有的对象,使之成为新...

2019-12-28 14:26:11 707

原创 Vue路由与Vuex

一、 VueRouterVue Router是Vue.js官方的路由管理器。它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌1.1 安装npm install vue-router --save本次协同bootstrap开发,所以也安装了bootstrap,并指定3.3.7版本npm install bootstrap@3.3.7 --save1.2 配置路由信息 ...

2019-12-28 14:25:22 174

原创 Vue网络请求axios

四、网络请求 Vue2.X版本中,官方推荐的网络请求工具是axios。 npm install axios vue-axios --save4.1 配置全局请求地址 新建Base.vue文件,内容如下:<script> const BASE_URL = "http://localhost:8081" export default { B...

2019-12-28 14:24:46 115

原创 Vue组件化开发

一、 组件化编程组件化开发是在ES6中提出来的,可以提高页面的复用率,提高开发效率。它是一套模板化的代码,要有、1.1 编写App.vue和HelloWorld.vueHelloWorld.vue<template> <div> <!-- template的根节点,是必须的 --> <h1 class="title"&g...

2019-12-28 14:24:13 112

原创 Vue基础

一. 第一个VUE程序1.1 引入js<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>1.2 给dom元素定义id <div id="app"> {{msg}} </div> 注意:一定要有根元素包含1.3 vue...

2019-12-28 14:23:03 85

原创 Vue开发环境准备

1. 开发工具VUE开发环境个人推荐VS code,然后安装特定的插件即可开发,可用的插件如下:Vetur —— 语法高亮、智能感知、Emmet等EsLint—— 语法纠错Auto Close Tag —— 自动闭合HTML/XML标签Auto Rename Tag —— 自动完成另一侧标签的同步修改Path Intellisense —— 自动路劲补全HTML CSS Supp...

2019-12-28 14:22:01 115

原创 Api网关(Spring cloud Gateway)

1. Spring cloud Gateway网关什么是网关?网关就是网络请求的统一入口。gateway是spring cloud的第二代网关,未来会取代zuul,其性能是zuul的1.6倍左右,其内部是基于netty、reactor、webflux进行构建的。gateway需要从注册中心获取服务,然后通过网关来调用对应的服务。注意gate不在web环境下运行,也就是说不能打成war包放...

2019-12-28 14:21:16 186

原创 配置Docker容器环境

1. 修改ip和DNS为防止IP冲突,无法联网等问题,需预先设置好主机名、IP、DNS配置 1. 修改cloud.cfg防止重启后主机名还原 vi /etc/cloud/cloud.cfg # 该配置默认为false,修改为true即可 preserve_hostname: true 2. 修改主机名 # 修改主...

2019-12-16 17:50:59 600

空空如也

空空如也

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

TA关注的人

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