自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (2)
  • 收藏
  • 关注

原创 nginx的location, root, alias, proxy_pass

一直对nginx的location匹配顺序处于一种似懂非懂的状态,这次仔细阅读了官方文档后顿悟了,做此纪录。location参考:locationlocation的匹配模式有五种:location /abc{ #普通前缀匹配 ...}location ^~ /abc{ #不做正则的普通前缀匹配 ...}location = /abc{ #精准匹配 ...}location...

2020-03-31 23:06:51 292

原创 记一次JVM生产OOM及后续调优

上线后使用jstat大致监控一下JVM的gc状况,jstat命令使用。查看到服务有过2次full gc,这是不应该发生的,因为这是个网关服务,绝大多数对象都是请求级别的生命周期,基本不会有长期对象产生,也不会有持续的大对象产生,所以不应该发生full gc才对。服务启动时有加上-XX:+PrintGCDetails,找到gc日志,找到第一次full gc的位置:非常清晰的标出了是Metasp...

2020-03-20 17:35:52 687

原创 zuul的ignoredHeaders和sensitiveHeaders配置详解

搜索了网上的一些资料,发现各有各的解释,且解释的不太清楚。查看了zuul的源码后得出结论:俩个配置都是用来过滤header的,只不过sensitiveHeaders不配置时,会有三个默认过滤的header头。不做任何配置的情况下,header会全部往下转发,除了Cookie、Set-Cookie、Authorization无论是配置ignoredHeaders和sensitiveHead...

2020-03-16 17:23:17 2832

原创 HashMap对hash算法的优化

final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { ... if ((p = tab[i = (n - 1) & hash]) == null) tab[i] = newNode(hash,...

2020-03-12 21:47:24 646 1

原创 Mysql学习笔记

DDLCREATECREATE TABLE table_name( column_1 字段类型 [字段约束], column_2 字段类型 [字段约束], ... column_n 字段类型 [字段约束],);DROPDROP TABLE [IF EXISTS] table_nameALTERadd columnALTER TABLE table_nameADD co...

2020-03-07 20:41:27 1399

原创 Git 快速入门

Git是目前世界上最先进的分布式版本控制系统!(一条五毛,括号删掉)先进的系统都是很人性化的,所以入门并不困难。第一步当然是安装,Git的安装十分简单,参考:安装Git廖大佬的这个Git教程也非常基础,适合新手入门,我这里将其精华提出,做一个快速入门。创建版本库这里是指创建本地版本库,也就是本地仓库。在任意位置创建一个空的目录,这里注意目录路径不要包含中文。进入创建好的目录下,打开G...

2020-03-07 15:14:13 203

原创 zeebe快速入门

下载麻烦可以下我这个整理的整包:链接:https://pan.baidu.com/s/1Vgbyxt1PO3Kex1r47pKPlA 提取码:9r1a下载zeebezeebe发布页面,选择zeebe-distribution-X.Y.Z.tar.gz下载下载zeebe-modelerzeebe-modeler发布页面,选择zeebe-modeler-x.x.x-win-x64.zip...

2020-03-03 15:46:32 4780 1

原创 kafka jdbc sink connect源码调研

JdbcSinkConnectorpublic class JdbcSinkConnector extends SinkConnector { public Class<? extends Task> taskClass() { } @Override public List<Map<String, String>> taskConfigs(...

2020-02-28 17:42:38 1076

原创 okd 3.11平台istio的进阶实践

1.部署bookinfo2.A/B发布3.灰度测试4.基于RBAC的权限控制

2019-11-22 11:40:06 353

原创 okd 3.11 安装、使用Istio

1.资源准备虚拟机4C 8G 100G磁盘,配置好网络,需要连接外网。2.安装okd 3.11# 安装gityum install git -y# clone okd一键安装项目cd /opt/git clone https://gitee.com/xhua/OpenshiftOneClick.gitcd OpenshiftOneClick# 修改必要的配置cat config...

2019-11-19 15:06:25 1018 1

原创 Sentry离线部署

环境准备我将9.1.2版本的sentry所需环境做了整合打包:https://pan.baidu.com/s/128CW8uc5VHzA2dWTcjTZwA提取码:ib8a 。虚拟机OS版本:[root@localhost ~]# cat /etc/centos-releaseCentOS Linux release 7.5.1804 (Core) [root@localhost ~]...

2019-10-28 18:02:08 2172 6

原创 Spring Boot 2结合Spring security + JWT实现微信小程序登录

项目源码:https://gitee.com/tanwubo/jwt-spring-security-demo

2019-08-23 23:27:35 13249

原创 Apollo源码阅读记录(一)

最近公司项目用到了Apollo,花了几天功夫把Apollo的官方文档过了一遍,不得不说写的非常详细。基本的使用,已经简单的原理都介绍的明明白白的。在文档上有这么句话:据说Apollo非常适合作为初学者第一个通读源码学习的分布式中间件产品那么就开始吧。这里我主要为了记录一些在阅读Apollo源码时所学习到的一些开发技巧,方便自己回顾。我是一边参考:Apollo源码解析,一边自己阅读源码,有很...

2019-03-27 18:32:22 1271 1

原创 Jenkins 工作笔记

由于公司需要,这边记录一下自己在学习Jenkins的一些过程,已经遇到的一些坑。安装安装JenkinsJenkins的安装还是比较简单的,我用的是CentOs 6,安装步骤如下:sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --imp...

2019-03-22 09:57:48 200

原创 Elasticsearch 6.5.1学习笔记(五)批量API

批量查询 _mget使用批量查询的好处在于将多次网络请求合并成一个,大大减少了网络消耗,提升ES查询效率。具体API如下:GET /_mget{ "docs":[ { "_index":"employee", "_type":"_doc", "_id":"1" },{ "_index&

2018-11-29 18:26:08 426

原创 Elasticsearch 6.5.1学习笔记(四)document更新

全局更新在 Elasticsearch 中document是不可改变 的,不能修改它们。所以当我们使用更新API时,其实是经历了:查询旧数据标记旧数据为删除状态插入新数据这里并不是将旧文档直接删除,而是打上删除标记,是为了提升ES的性能。但是如果一直不删除旧文档则会越堆越多,所以当旧文档到达一定数量时,ES会做一次清理,物理删除掉这些被标记删除的文档。全局更新的API其实就是PUT新...

2018-11-29 17:14:03 955

原创 Elasticsearch 6.5.1学习笔记(三)集群原理

集群扩容Elasticsearch 可以随时按需扩容。扩容的方式有水平扩容、垂直扩容。水平扩容:添加更多的服务器,使集群的负载能力更强垂直扩容:替换性能更强的机器,使集群的负载能力更强显然垂直扩容需要大量资金,并且有瓶颈。水平扩容更合适用来提升集群的负载能力。横向扩容则需要分布式技术来支持,对于大多数的数据库而言,通常需要对应用程序进行非常大的改动,才能利用上横向扩容的新增资源。而E...

2018-11-29 13:43:13 319

原创 Elasticsearch 6.5.1学习笔记(二)简单API

安装Kibana这里直接使用docker-compose安装,并带有俩个elasticsearch组成的伪集群:version: '3.7'networks: esnet:services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1 container_name...

2018-11-28 17:10:39 348

原创 Elasticsearch 6.5.1学习笔记(一)安装

Elasticsearch安装在Linux上安装使用docker安装第一步下载镜像,在https://www.docker.elastic.co/中,找到6.5.1版本的Elasticsearch,复制命令:docker pull docker.elastic.co/elasticsearch/elasticsearch:6.5.1执行并下载镜像。...

2018-11-26 15:17:03 768

原创 Docker学习笔记-volumes(一)

volumes是保存Docker容器生成和使用的数据的首选机制。bind mounts依赖于主机的目录结构,而卷则完全由Docker管理。卷比bind mounts有几个优点:volumes比bind mounts跟容易备份或迁移。可以使用Docker API进行管理。volumes可以在Linux或Windows平台的容器上工作。可以在多个容器之间安全共享允许将volumes存储在远...

2018-11-23 14:58:36 3847 1

原创 Spring Cloud Config 高可用:传统模式

最近在部署项目上测试环境的时候,由于数据库ip变更导致启动失败,所以进行项目改造,加入了Config配置中心。临时抱佛脚的在《Spring Cloud 微服务实战》上面找到了快速入门,依葫芦画瓢的把项目改造好了。当时Config Client配置中使用的是uri的形式直接指定:spring: cloud: config: uri: http://config:...

2018-11-19 17:43:07 144

原创 Spring Cloud源码分析:Ribbon如何为RestTemplate提供负载均衡

阅读Spring Cloud微服务实战中的Ribbon源码分析章节,debug跟踪源码后,做此记录。从@LoadBalanced注解源码的注释中可以知道, 该注解用来给RestTemplate做标记, 以使用负载均衡的客户端(LoadBalancerClient)来配置它。在读完这个章节后,还是没能理解Ribbon是怎样为RestTemplate提供负载均衡。于是debug进行源码跟踪,才...

2018-11-05 16:34:25 334

原创 Elasticsearch6.3.0学习笔记(二)

最新6.5.1版本传送门:6.5.1版本学习笔记​​​​​​​Query Dsl先准备测试数据,es有提供有关批量执行的方式:_bulk参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html但是在postman中插入式异常,所以暂时使用单条插入的方式PUT localh...

2018-07-08 17:08:40 1045

原创 Elasticsearch6.3.0学习笔记(一)

最新6.5.1版本传送门:6.5.1版本学习笔记​​​​​​​​​​​​​​安装参考官方文档提供的安装教程:https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html启动在win7上用msi文件进行的安装,进入安装目录中的bin目录执行elasticsearch.exe使用...

2018-07-06 17:26:53 1419

转载 windows下nginx的安装及基本使用

原文地址:https://www.cnblogs.com/saysmy/p/6609796.htmlnginx功能之一可以启动一个本地服务器,通过配置server_name和root目录等来访问目标文件一. 下载http://nginx.org/ 下载后解压 二. 修改配置文件nginx配置文件在 nginx-1.8.0\conf\nginx.confhttp { gzip on;...

2018-06-28 19:38:37 248

转载 Spring Boot Actuator 使用

原文地址:https://www.jianshu.com/p/af9738634a21Spring Boot 的 Actuator 提供了很多生产级的特性,比如监控和度量Spring Boot 应用程序。Actuator 的这些特性可以通过众多 REST 接口、远程 shell 和 JMX 获得。一、Actuator 的 REST 接口Spring Boot Actuator 的关键特性是在应用程...

2018-06-27 17:32:35 425

原创 Spring Boot Actuator监控端点无法访问

Spring Boot 版本为:1.5.13.RELEASE项目中导入spring-boot-starter-actuator后,actuator提供默认端点无返回数据或显示错误页面无返回数据:显示错误页面:只需在application.properties中添加配置:management.security.enabled=false即可解决...

2018-06-27 17:28:43 3144

转载 logback 日志信息持久化

想要把日志异步保存到数据库中,首先需要创建一个数据库,然后创建三张固定的表:https://github.com/xiaorenwu-dashijie/logback.gitDROP TABLE IF EXISTS `logging_event`;CREATE TABLE `logging_event` ( `timestmp` bigint(20) NOT NULL, `formatt...

2018-06-22 11:43:34 1147 1

转载 spring aop注解详解

原文地址:https://www.cnblogs.com/lixuwu/p/5804793.htmlAOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。一 AOP的基本概念(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知(2)JointPoint(连接点):程序执行过程...

2018-06-21 14:40:31 28472 1

原创 Spring Boot学习笔记:日志管理

默认日志格式2018-06-20 15:26:41.099 INFO 10524 --- [ main] com.tanwubo.LoggingDemoApplicationTests : Starting LoggingDemoApplicationTests on USER-20170416AY with PID 10524 (started by Administra...

2018-06-20 16:44:09 192

转载 springdata jpa使用Example快速实现动态查询

原文地址:https://blog.csdn.net/long476964/article/details/79677526Example官方介绍Query by Example (QBE) is a user-friendly querying technique with a simple interface. It allows dynamic query creation and does...

2018-06-15 17:44:36 2783

转载 spring boot 整合 redis基本使用

1、 添加maven依赖&lt;!-- redis --&gt;&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-data-redis&lt;/artifactId&gt;&lt;/dependency&

2018-06-15 11:31:10 265

转载 linux下安装mysql

原文地址:https://www.cnblogs.com/bookwed/p/5896619.html安装环境:系统是 centos6.51、下载    下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads    下载版本:我这里选择的5.6.33,通用版,linux下64位    也可以直接复制64位的下载地址,通过命令下载:w...

2018-06-14 14:40:25 339

转载 几种API调用认证方案浅析

原文地址:https://www.cnblogs.com/Sinte-Beuve/p/7822856.html1. 类似HTTP Basic Authentication随意在网上搜索公共API服务,比如下图中的百度基站查询的接口。这种接口一般付费之后会获取到一个apikey,通过apikey进行请求。和HTTP Basic Authentication类似,需要把apikey这个字段写入HTTP...

2018-06-12 11:25:35 11225 1

原创 Spring Boot使用MockMvc测试时的一次小坑

一个基本的RESTful API小案例,正常启动Spring Boot无异常,接口访问全部正常通过。在其他配置全部一致的情况下,使用MockMvc进行测试抛出异常:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPoin...

2018-06-08 17:48:09 6496 4

转载 JAVA编程思想笔记

1. Java中的多态性理解(注意与C++区分)Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意味着通常情况下,我们不必判定是否应该进行动态绑定—它会自动发生。final方法会使编译器生成更有效的代码,这也是为什么说声明为final方法能在一定程度上提高性能(效果不明显)。如果某个方法是静态的,它...

2018-06-07 11:32:19 90

Elasticsearch测试医疗数据

可用于Elasticsearch学习使用的测试数据。数据格式为xml,需要通过logstash导入Elasticsearch。

2018-11-27

Spring Boot WEB基本框架

基于spring boot搭建的web基础框架,包含了web开发中常用的功能,如:缓存(redis)、日志、事务、JPA、shiro、安全、常用工具类、swagger2在线接口文档、跨域支持等,可以基于该项目快速进行公司内部的项目开发。

2018-06-15

空空如也

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

TA关注的人

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