自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql索引

索引的出现为了提高查询效率,就像书的目录一样常见索引模型索引的实现方式有多种,常见的实现模型包括哈希表、有序数组和搜索树。哈希表:哈希表是一种key/value的存储方式,将值存储在数组中,将key根据一定的哈希算法计算出在数组中的位置,将value放在该位置上。哈希表解决冲突方式,如果key的哈希值相同,就会在该位置拉出一个链表,然后存储相应的key/value哈希表中存储的数据是无...

2019-04-14 22:30:18 123

原创 Mysql数据存储目录切换

背景某项目发现数据库磁盘储存空间不足,挂载了一块新磁盘,需要切换存储目录到新的前提 新挂载的磁盘(挂载方式略),例如挂载到/data目录下实施1、停服、防止操作期间数据库写入2、mysql数据库备份使用mysqldump命令给数据库数据做备份3、数据库停机直接kill掉进程4、更改数据库目录后重新启动原有启动脚本: /usr/bin/mysqld_safe --dat...

2019-03-16 13:20:06 843

原创 SpringCloud使用Consul做服务发现入门

随着新版本的eureka不再开源,阿里巴巴的nacos还没有太成熟,相信很多的springcloud新用户在注册中心选型时Consul的机会又多了一些,本人公司就是使用的Consul作为的注册中心。Consul服务端搭建本文不做介绍。先上一张Consul自带界面截图。上述product,是注册中心的一个服,右边是服务的实例信息,我们将通过服务调用product服务的Api.项目搭建版本:...

2019-01-09 23:00:41 1104

原创 http发起请求时增加拦截器

场景:公司内部服务通过网关调用,使用统一的token认证,每个项目都有唯一的token配置,通过对发起请求时的拦截检测是否携带token,给出相应提示或抛出异常,目前开发中运用的HTTP工具主要为HttpClient和RestTemplate两种。HttpClientHttpClient包中提供了拦截器接口org.apache.http.HttpRequestInterceptor,我们实现...

2019-01-09 22:33:01 8122

原创 SpringCloud eureka服务端启动过程解析

版本springCloud:Finchleyspringboot:2.0.3####标题查看spring-cloud-netflix-eureka-server-2.0.0.jar下面的META-INF/spring-factories,查看项目启动时的自动配置类(参考SpringBoot自动配置分析文章)org.springframework.boot.autoconfigure.En...

2019-01-06 14:16:07 614

原创 SpringCloud eureka客户端启动过程解析

版本:springCloud:Finchleyspringboot:2.0.3自动配置之前已将说过了springboot的自动配置,Springcloud也是实现了类似的自动化配置。我们进入spring-cloud-netflix-eureka-client-2.0.0.jar下面的META-INF/spring-factories文件会发现如下内容:org.springframewo...

2019-01-05 15:55:28 1159

原创 SpringBoot的自动配置能力源码分析

@SpringBootApplication: @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = { @Fi...

2019-01-04 21:48:53 267

原创 深入理解spring cloud eureka

上一篇文章中介绍了如何使用eureka,包括高可用的服务注册中心,服务注册和消费,本篇文章我们将进一步介绍eureka,包括eureka的基础架构和服务治理机制。eureka的基础架构三个核心要素:服务注册中心:eureka提供的服务端,提供服务注册与发现机制,就是我们上一节的eureka-server和eureka-server-ha服务提供者:提供服务的应用,将自己作为服务注册到注册中...

2018-12-28 22:34:00 159

原创 spring cloud eureka入门实战

SpringCloud Eureka是SpringCloud Netflix服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。SpringCloud为eurake增加了springboot风格的自动配置,我们只要通过简单依赖和注解,就可以让springboot服务轻松和springboot服务集成。版本说明springboot:2.0....

2018-12-27 23:13:37 238

原创 高性能消息中间件Kafka实战(一)

kafka简介Kafka是一种高吞吐量的分布式发布订阅消息系统,使用Scala编写。对于熟悉JMS(Java Message Service)规范的同学来说,消息系统已经不是什么新概念了(例如ActiveMQ,RabbitMQ等)。Kafka拥有作为一个消息系统应该具备的功能,但是确有着独特的设计。可以这样来说,Kafka借鉴了JMS规范的思想,但是确并没有完全遵循JMS规范。kafka是...

2018-12-26 22:15:30 231

原创 Jenkins pipeline集成回滚功能

脚本准备回滚到上一个版本k8s-rollback.sh 基于k8s机制的回滚策略,回滚到上一个版本使用#!/bin/sh#回滚到上一个版本,使用k8s的版本回滚机制remoteIp=177.168.22.26ssh root@177.168.22.26echo "k8s远程机器地址: ${remoteIp}"ssh root@172.16.22.26 "kubectl ro...

2018-12-25 18:38:26 5077

原创 Jenkins pipeline集成代码质量扫描

sonar-scanner下载可以通过jenkins插件自动下载,也可以手动下载,我这里手动下载下载地址:https://github.com/SonarSource/sonar-scanner-cli/releases/tag/3.2.0.1227配置文件conf/sonar-scanner.properties#Configure here general information...

2018-12-25 18:34:54 1849

原创 Kubernetes相关kubectl常用命令

回滚相关1、查看某个项目发布的历史 序号标识版本号kubectl rollout history deployment temp-docker2、回滚到指定版本 --to-revision 指定回滚的版本号 kubectl rollout undo deployment temp-docker --to-revision=134 3、回滚到上一个版本kubectl ...

2018-12-25 18:32:52 216

原创 使用jenkins pipeline构建发布流水线

插件的安装jenkins的安装不是本文主要内容,请自行查找。安装完jenkins后,在主要系统管理>管理插件>可安装,在右上角搜索框里输入Pipeline查找,安装后重启jenkins.新建Pipeline任务在jenkins主页点击新建任务(New Item),选择流水线任务pipeline任务的配置General:Prepare an environment for...

2018-12-22 01:56:38 8926

原创 设计模式实战之策略模式

认识策略模式策略模式的定义:策略模式定义了一族算法,并封装了每个算法(可以理解为业务行为的不同实现),每个算法可以相互替换。策略模式可以随着业务的变化而独立变化,方便扩展。举个栗子:假设一个购物的栗子,我有一个结算的场景,结算支持不同的支付方式,微信支付、支付宝支付、还是银联,这个时候我们就可以使用策略模式来处理。定义支付策略的顶级接口,每一种支付方式作为一种策略的实现,而我们的结算服...

2018-12-12 20:59:20 182

原创 设计模式之--装饰者模式

认识装饰者模式装饰者模式的定义:不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代码开发中遵循开放-关闭原则,即类应该对扩展开放,对修改关闭。举个栗子:假设我们开一间餐厅,就卖黄焖鸡米饭,黄焖鸡有大份、中份、小份,还可以加各种食材,比如香菇、宽粉、肥牛等等,还有各种饮料,加入我们为每一种品类都写一个类,并计算价格,类的数量...

2018-12-12 00:33:28 240

原创 死锁演示及避免的策略

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。下面是一个演示死锁的Demopublic class DeadLock {private String A= "A";private String B= "B";public vo...

2018-12-10 22:02:58 276

原创 Spring的事件驱动模型

Spring事件驱动模型的三个概念:事件,事件监听者、事件发布者。事件:如下图所示,Spring中定义了事件的抽象类ApplicationEvent,该类继承自JDK的 EventObjectl类,ApplicationEvent中的timestamp字段用来存储事件发生的时间戳,父类中的source表示事件发生的对象。当我们要定义时间的时候只需要继承ApplicationEvent,如下面自...

2018-12-09 23:55:20 739

空空如也

空空如也

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

TA关注的人

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