自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 10. 使用spring缓存机制整合Redis+mybatis

 19.2.1表达式引用#Argument:是指的方法中的参数#result:方法返回的结果.不可以用于@Cacheable,因为当前方法可能不被执行19.2.2注解 19.2.2.1 @EnableCaching相当于xml中的    <cache:annotation-driven /> 开启注解缓存管理(可以使用注解来管理缓存-@...

2019-02-18 10:15:45 213

原创 找出某个Java进程中最耗费CPU的Java线程并定位堆栈信

1.先找到项目的进程id:psaux |grep tomcat |grep dtcenter2.找到该进程中最消耗cpu的线程:top-Hp pid3.得到24394的16进制printf“%x\n” 243944.轮到jstack上场了,它用来输出进程24394的堆栈信息,然后根据线程ID的十六进制值grep或者可以通过jstack19867 >文件名称,vim导出文件检查...

2018-06-28 18:18:46 372

转载 解决k8s中解析不了服务名的问题(两种解决方法:ex换成ep或coredns换成kubedns)

k8s中负责解析服务名的dns组件有coredns、kubedns等多种,因此集群上服务互相访问.通过查看命令 kubectl get pod -n kube-system,查看dns组件。 服务名解析问题首先看服务名是否在同一个命名空间namesapce,服务名是否写正确,其次检查dns组件的版本和工作状态。coredns、kubedns二者有个区别,是在解析访问外部 svc时。即访问外部服务有两种组合:kubedns+externalname与coredns+endpoin...

2020-06-23 16:35:42 2260

转载 Docker镜像管理基础

原文:https://www.cnblogs.com/hanshanxiaoheshang/p/10389153.htmlDocker image # docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEredis ...

2020-01-07 14:57:12 389

转载 webhook功能概述

1.什么是webhook?  webhooks是一个api概念,是微服务api的使用范式之一,也被成为反向api,即:前端不主动发送请求,完全由后端推送。 举个常用例子,比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是 Webhooks 的典型场景。  简单来说,WebHook就是一个接收HTTP POST(或GET,PUT,DELETE)的URL。一个实现了We...

2020-01-06 16:19:39 1993

转载 Docker 常用命令

Docker镜像操作 docker search <镜像名> 从远程仓库中查询相关镜像 例:docker search jdk8 docker pull <镜像> 拉去镜像(从远程镜像仓库中下载镜像到本地仓库) 例:docker pull corvis/java8 docker save -o “导出到的文件” 仓库中镜像:tag...

2020-01-06 16:11:30 137

转载 Mustache模板技术

初识Mustache同样也是看Dropwizard才知道这个东西的,以前一直是知道诸如freemarker这样的模板引擎,这个是头一次听说,但是听周围的朋友说最早这个东西是出自于JS的,Dropwizard推荐使用这个东西,而且到mustache官网看了一下,发现十几种语言已经支持这个模板引擎技术,火热程度甚至超过了freemarker,看来到了不得不学的地步了,先来看看mustache是什...

2020-01-06 10:45:18 938

原创 Feign和openFeign

OpenFeignisthespiritualsuccessortoFeign,originallyprovidedbyNetflix.Theprojectsnamewaschangedwhentheoriginalprojectwasreleasedtothecommunity.Thecorrectdependencyissprin...

2019-11-19 16:03:52 1375

原创 【order by 不唯一字段】与【limit】混用的坑--mysql

sql1select sum(cost) from order order by 不唯一字段 limit index,offset;sql2.select sum(cost) from order order by 不唯一字段;累加所有页数的sql1 的cost和sql2的cost不一致,与期望不符合(先对所有的数据排序,之后再分页获取。)原因解析:上面官方...

2019-10-17 10:18:08 276

转载 kubernetes原生pipeline

原文TaskTekton Pipelines的主要目标是单独运行您的任务或作为管道的一部分运行。每个任务都在Kubernetes集群上作为Pod运行,每个步骤都作为自己的容器。这点深得drone思想精髓,其实drone也有计划将kubernetes作为任务执行引擎,只是没有下文了。A Task定义了需要执行的工作,例如以下是一个简单的任务:apiVersion:tekton.d...

2019-10-14 15:21:53 624

原创 ubuntu(linux)打开jnlp文件

前提条件是安装有java环境. whereis java 查看自己java安装目录.本人是在:opt/Java/jdk/jdk1.8/bin/java一.运行 jviewer.jnlp 1.1切换到 jviewer.jnlp 目录下,执行/opt/Java/jdk/jdk1.8/jre/bin/javaws jviewer.jnlp 1.2如果提示安全拦截,则需要设置....

2019-05-20 15:12:48 5519

原创 RequestRateLimiter 限流

目前gateway的限流是基于redis,前提是部署有redis 不运行访问,返回HTTP 429 - Too Many Requests 10.4.1 搭建基于gateway的限流10.4.1.1 pom.xml <dependency> <groupId>org.springframework.boot<...

2019-05-15 10:20:02 8694

原创 zuul+jwt+oauthu2

9.4 zuul+jwt+oauthu2认证服务和资源服务复用上一章节(一点修改,后续会说).eureka注册服务服务之前章节,具体代码参照github:https://github.com/liucc0413/SpringCloudEureka/tree/jwt-oauthu2-zuul-security.9.4.1 zuul9.4.1.1 pom文件<dep...

2019-05-08 18:02:56 1177

原创 spring cloud zuul

在一个微服务架构的情况下,Zuul(反向代理)以微服务调用从客户端转发到下游服务。服务客户端认为它只与Zuul 通信。对于Zuul 与下游客户端通信,Zuul 已经知道如何将传入的调用映射到下游路由。Zuul 有这样几种机制,包括:通过服务发现自劢映射路由 通过服务发现手劢映射路由 使用静态 URL 手劢映射路由1.1 路由映射所有的路由映射通过application.y...

2019-04-22 17:53:29 103

原创 Netflix Hystrix的客户端弹性模式

1.1 客户端的弹性模式1.1.1 Robbin负载均衡如果客户端负载均衡器检测到问题,它可以从可用服务位置池中删除该服务实例,并防止后续的服务调用命中该服务实例。返正是 Netflix 的 Ribbon 库在没有额外配置的情况下提供的行为。1.1.2 断路器当一个远程服务被调用时,断路器将监听调用。如果调用需要花费很长时间,断路器将调解和终止调用。 此外,断路器将监...

2019-04-22 17:45:23 278

原创 2.Rocket消费实例

注意:相同group的消费客户端,属于同一个集群。相同group下的topic和tag必须一致,不然信息会丢失。 消费端的group和生产者的group没有直接关系,可以不同。2.1 demo2.1.1 pom.xml(我部署的mq为4.4.0版本)&lt;dependency&gt;&lt;groupId&gt;org.apach...

2019-03-18 10:57:45 818

原创 1.RocketMq名词解释

1.1 Topic和tagTopic:主题,对不同的的业务消息进行消息的一级分类Tag:标签,在topic的基础上进行二级分类订阅关系一致性消息队列 RocketMQ 里的一个消费者 Group ID 代表一个 Consumer 实例群组,同一个集群的消费者要满足。订阅的 Topic 必须一致; 订阅的 Topic 中的 Tag 必须一致。1.1.1 消息过滤...

2019-03-14 17:51:57 1165

原创 Redis的分布式锁

 1.设置超时时间,即使获取到锁后,客户端挂掉了,一定时间后锁释放。不会出现死锁。2.每个锁对象都有一个自己的uuid作为redis 的value。当释放锁的时候,先去判断当前key对应的value是否还是本是当前对象的value.(但是本实例中没有这个场景)3.防止操作阻塞超过了超时,本实例中会不断的重置超时时间。如果锁释放,重置超时会返回0,则中断循环。但是不断重置超时可能会造...

2019-02-21 16:48:34 224

原创 8.Redis内存回收策略

6中内存回收策略volatile-lru:采用最近使用最少的淘汰策略,淘汰超时的键值对中使用最少的 allkeys-lru:对所有的键值对(包括有效的和超时的)采用最少淘汰策略 volatile-random:随机淘汰超时的键值对 allkeys-random:随机淘汰(有效和超时键值对) volatile-ttl:采用删除存活时间最短的键值对 Noeviction:根本不采用删除策...

2019-02-18 09:57:41 195

原创 7. Redis的备份

7.1 分类快照备份快照备份:备份瞬时redis在内存中的数据 如果文件比较大,备份的时候可能造成卡顿,但是恢复重启的速度快 追加文件备份: 追加文件(AOF)备份:当redis执行写命令后,在一定的条件下将执行过的写命令依次保存的文件中. 只是追加写入文件,所以备份一般不会造成卡段,但是恢复重启需要执行的命令需要很多,备份的文件也可能很大. 7.2 Redis的配...

2019-02-18 09:56:23 121

原创 6.Redis-使用lua语言

6.1 Evalsha 和LOAD 命令 Redis Script Load 命令用于将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本 脚本可以在缓存中保留无限长的时间,直到执行 SCRIPT FLUSH 为止。  Redis Evalsha 命令根据给定的 sha1 校验码,执行缓存在服务器中的脚本。 将脚本缓存到服务器的操作可以通过 SCRIPT LOA...

2019-02-18 09:51:38 145

原创 5.Redis超时命令

Redis有内存回收机制.当一个key超时后,会被做标记.但不会立即自动回收.这样做的好处是,当一个key的值是一个存有百万元素的list时候,如果超时后立即回收.需要很长时间,造成卡顿. Redis提供定时回收和惰性回收两种机制定时回收:确定某个时间触发一段代码,回收超时的键值对. 惰性回收:当一个key超时后,在执行下一次get操作的时候回收 定时回收可以完全回收超...

2019-02-18 09:48:53 441

原创 5.redis的订阅模式

 比如,你银行账号存款有变动,会收到短信,邮件等.Subscribe:监听通道(监听一个叫chat的通道)Publish :向通道发送消息 客户端1客户端2代码段 小部件在spring中应用除了RedisTemplate之外 需要实现MessageListener的实现类 以及运行listener的容器RedisMessageListenerCont...

2019-02-15 18:11:55 233 1

原创 4.Redis的基础事务

4.1事务 1.执行multi开始一个事务,之后的命令并没有立即执行,而是放到任务队列中的,等到exec执行后,才会执行命令 2.事务的原子性可以保证,事务开始后执行的命令有错,那么之前的操作撤销. 3.但是执行的命令没错,数据类型错误导致的失败,不影响其他命令的执行 Spirng 中@RunWith(SpringJUnit4ClassRunn...

2019-02-15 18:08:33 223 1

原创 Redis数据结构- 哈希

哈希里面存的都是string类型的key和value 一:命令行  二: spring中使用 1.配置文件spring-mvc-redis.xml  &lt;mvc:annotation-driven/&gt;    &lt;context:component-scan base-package="Dao,Tenseven"/&gt;   ...

2019-02-15 18:02:35 132

原创 2.Redis的数据结构

Redis的六种数据结构2.1 字符串字符串是redis最基本的数据结构,它是将以一个键和一个值存储于Redis内部.2.1.1 Redis客户端命令:2.1.2在spring中使用以上命令Spring的redisTemplate类(以及opsForValue方法)中封装了一定的redis的客户端命令 比如:redisTemplate.opsForValu...

2019-02-15 17:53:11 173

原创 1.Redis初步了解

1.1简介数据库存储的弊端:数据库存储是面向磁盘的,磁盘的读写比较慢.(但是它廉价啊,一般都是TG级别) 当高并发(秒杀)时候,一瞬间成千上万的请求过来(连接不能及时释放),及其容易造成数据库系统瘫痪.服务器宕机 NoSqlNosql工具也是简易的数据库,是基于内存的数据库,有一定的持久化(但是内存贵啊,几百个G都是大的了),主要有Redis和MongoDB Redis...

2019-02-15 10:30:57 159

转载 mysql exists 和 in的效率比较

 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in 这条语句适用于a表比b表大的情况:select * from ecs_goods a where cat_id in(select cat_id from ecs_category); 这条语句适用于b表比a表大的情况:select * from ecs_goods a where EXIST...

2019-02-14 13:27:30 247

原创 spring cloud 保护敏感信息

3.3 保护敏感信息 3.3.1 下载和安装加密需要的oracle jce 包 找到$JAVA_HOME/jre/lib/security目录,将local_policy.jar和US_export_policy.jar  备份。 下载jce,因为我是jdk8所以下载地址为:https://www.oracle.com/technetwork/java/javase/downlo...

2019-01-30 17:21:43 611

原创 Spring cloud configuration server 控制配置

 第三章Spring cloud configuration server 控制配置在云环境上中,可能要部署上百套实例,这时候怎么做到所有实例都是一样的呢?而且上百个实例的配置文件的运维是很麻烦的(一旦配置文件代码进行了修改,就需要重新配置上百个实例的配置文件)。 基于云的微服务开发强调:将应用程序的配置完全从正在部署的实际代码分离 创建服务器和应用程序以及一个不可变的镜像,...

2019-01-25 18:38:05 954

原创 简单搭建基于springboot 的spring cloud

                                  一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对sprin...

2019-01-24 10:43:53 431

转载 ContextLoaderListener和DispatcherServlet的contextConfigLocation区别

 转发:https://www.cnblogs.com/wodebudong/articles/7976468.html1.配置文件web.xml&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="h...

2018-12-27 10:43:03 184

转载 java实现HTTP请求的三种方式

转载:https://www.cnblogs.com/hhhshct/p/8523697.html目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1 是 org.apache.commons.httpclient下操作远程 ...

2018-12-10 15:48:53 623

转载 Redis,memcache,mongodb

转载:http://www.cnblogs.com/457248499-qq-com/p/7392653.htmlredis和memcached的区别(总结)观点一:1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash...

2018-12-05 15:56:07 88

转载 四种常见的post请求中的参数形式

 转载:https://segmentfault.com/a/1190000014343759post请求中的参数形式一、初识post请求实例1、Angular的ajax功能AngularJs的ajax的post请求参数就是提交的json字符串。如: var data = {'name':'jack'}; $http.post(url,data).succes...

2018-11-30 16:49:18 1322

转载 云计算

转载:https://baijiahao.baidu.com/s?id=1584057121197761366&amp;wfr=spider&amp;for=pc到底什么是云计算?云计算能干什么?如今大家天天听到媒体说云计算,什么阿里云、百度云、腾讯云等,到底什么是云计算呢? 云计算(cloud computing)是一种基于因特网的超级计算模式,在远程的数据中心里,成千上万台...

2018-11-29 10:21:54 321

原创 Spring Boot的数据库迁移

参考:https://blog.csdn.net/u010963948/article/details/77801431 https://blog.csdn.net/linxingliang/article/details/81145864FlyWay一,首先我先了解下FlyWay是如何运转的。最简单的方案是将Flyway指向一个空数据库。这里写图片描述它将尝试找到...

2018-11-27 10:14:25 3106

转载 CompletableFuture

 参考:https://blog.csdn.net/u012129558/article/details/78962759https://www.jianshu.com/p/6f3ee90ab7d3 CompletableFuture1.1 Future模式的缺点 Future虽然可以实现获取异步执行结果的需求,但是它没有提供通知的机制,我们无法得知Future什么时...

2018-11-14 16:18:32 220

转载 并发编程之 Fork-Join

转发:https://www.cnblogs.com/stateis0/p/9062018.htmlhttps://www.cnblogs.com/senlinyang/p/7885964.html前言“分而治之” 一直是一个有效的处理大量数据的方法。著名的 MapReduce 也是采取了分而治之的思想。简单来说,就是如果你要处理1000个数据,但是你并不具备处理1000个数据的能力,...

2018-11-14 15:34:07 144

转载 Java并发编程:并发容器之CopyOnWriteArrayList

转发:https://www.cnblogs.com/dolphin0520/p/3938914.html Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWri...

2018-11-13 16:59:42 78

空空如也

空空如也

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

TA关注的人

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