自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot配置多个DataSource

使用Spring Boot时,默认情况下,配置DataSource非常容易。Spring Boot会自动为我们配置好一个DataSource。如果在application.yml中指定了spring.datasource的相关配置,Spring Boot就会使用该配置创建一个DataSource。如果在application.yml中没有指定任何spring.datasource的相关配置,...

2017-04-29 13:24:10 529

原创 浅谈数据库主键策略

数据库表的主键很多童鞋都非常熟悉了,主键就是Primary Key,简称PK。数据库主键的作用是唯一标识一条记录,所以在同一张表中,任意一条记录的主键都是唯一的,不然,数据库系统就无法根据主键直接定位记录。虽然数据库系统本身对主键没有特别的要求,但是,写程序的时候,要考虑清楚使用什么类型的主键。正确地使用主键是存储数据成功的一半,错误地使用主键会让一个应用逐渐走向崩溃。主键不可修改...

2017-04-29 13:18:50 236

原创 Git远程仓库

前面文章中出现的所有Git操作都是基于本地仓库的,但是日常工作中需要多人合作,不可能一直都在自己的代码仓库工作。所以,这里我们就开始介绍Git远程仓库。在Git系统中,用户可以通过push/pull命令来推送/获取别的开发人员的更新,当时对于一个工作组来说,这种方式会效率比较低。所以,在一个Git系统中,都会有一个中心服务器,大家都通过中心服务器来推送/获取更新。为了方便本篇例子的进行,...

2017-04-17 16:09:16 243

原创 git rebase

rebase假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin  现在我们在这个分支做一些修改,然后生成两个提交(commit).$ vi file.txt$ git commit$ vi otherfile.txt$ git commit...但是与此同...

2017-04-17 13:30:16 149

原创 git高级应用二

 创建新的空分支在偶尔的情况下,你可能会想要保留那些与你的代码没有共同祖先的分支。例如在这些分支上保留生成的文档或者其他一些东西。如果你需要创建一个不使用当前代码库作为父提交的分支,你可以用如下的方法创建一个空分支:git symbolic-ref HEAD refs/heads/newbranch rm .git/index git clean -fdx <do ...

2017-04-17 13:20:36 274

原创 git高级应用

 rebase假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin  现在我们在这个分支做一些修改,然后生成两个提交(commit).$ vi file.txt$ git commit$ vi otherfile.txt$ git commit...但是...

2017-04-17 13:15:41 112

原创 git 基本流程

获得一个Git仓库既然我们现在把一切都设置好了,那么我们需要一个Git仓库。有两种方法可以得到它:一种是从已有的Git仓库中 clone (克隆,复制);还有一种是新建一个仓库,把未进行版本控制的文件进行版本控制。Clone一个仓库为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, h...

2017-04-17 13:09:55 131

原创 spring 激活profile的几种方式

激活 profile  spring 为我们提供了大量的激活 profile 的方法,可以通过代码来激活,也可以通过系统环境变量、JVM参数、servlet上下文参数来定义 spring.profiles.active 参数激活 profile,这里我们通过定义 JVM 参数实现。1、ENV方式:ConfigurableEnvironment.setActiveProfiles("...

2017-03-27 15:17:28 903

原创 利用MAVEN打包可运行jar包,包括依赖的第三方包

目标:应用本身打成一个jar包,依赖的第三方包放到lib目录下 开发环境OS: Windows 8.1JDK: 1.7.0开发工具: IntelliJ IDEA 13.1.1 步骤:1. 首先看下maven项目的标准目录结构: 2. 看下项目pom.xml的配置,首先要配置maven-jar-plugin,把自己的代码编译打包成jar文件,然后配置mave...

2017-03-27 15:15:12 235

原创 Java并发编程: 使用CountDownLatch协调子线程

1. CountDownLatch工具类介绍 CountDownLatch是一个同步工具类,它允许一个或多个线程处于等待状态直到在其它线程中运行的一组操作完成为止。CountDownLatch用一个给定的计数来实现初始化。Await方法会一直处于阻塞状态,直到countDown方法调用而使当前计数达到零。当计数为零之后,所有处于等待的线程将被释放,await的任何后续调用将立即返回。这种现象只出...

2017-02-13 12:39:11 120

原创 Java SE7新特性之泛型实例创建时的类型推断

只要编译器从上下文中能够推断出类型参数,你就可以使用一个空的类型参数集合 (<>)代替调用一个泛型类的构造器所需要的类型参数。 这对尖括号通常叫做 diamond.举个例子, 考虑下面的变量声明:Map<String, List<String>> myMap = new HashMap<String, List<String>>...

2017-02-05 21:47:43 147

原创 Using Spring for Apache Kafka

Using Spring for Apache KafkaSending MessagesKafkaTemplateThe KafkaTemplate wraps a producer and provides convenience methods to send data to kafka topics. Both asynchronous and synchro...

2017-02-05 21:25:24 276

原创 ScheduledExecutorService执行周期性或定时任务

ScheduledExecutorService扩展了ExecutorService接口,提供时间排程的功能。 schedule(Callable<V> callable, long delay, TimeUnit unit)         创建并执行在给定延迟后启用的 ScheduledFuture。schedule(Runnable comm...

2017-01-24 14:47:07 124

原创 优酷土豆的Redis服务平台化之路

1.Redis架构的方案经历阶段2.为什么选择Nginx开发Proxy3.Nginx Proxy+Redis Cluster架构功能及优化4.监控告警1.Redis架构的方案经历阶段1.1.客户端分片 优点不依赖于第三方中间件,实现方法和代码自己掌控,可随时调整这种分片机制的性能比代理式更好(少了一个中间分发环节)可控的分发请求,分发压力落在客户端,无服...

2017-01-14 12:04:06 134

原创 唯品会Redis cluster大规模生产实践

Outline一、生产应用场景二、存储架构演变三、应用最佳实践四、运维经验总结第1、2节:介绍redis cluster在唯品会的生产应用场景,以及存储架构的演变。第3节:redis cluster的稳定性,应用成熟度,踩到过那些坑,如何解决这些问题?这部分是大家比较关心的内容。第4节:简单介绍大规模运营的一些经验,包括部署、监控、管理以及redis工具开发。一、生产应...

2017-01-14 11:39:37 122

原创 maven 添加jar到中央/远程仓库

commond:mvn deploy:deploy-file -DgroupId=com.tima.javax.jta -DartifactId=jta -Dversion=1.0.0 -Dpackaging=jar -Dfile=jta.jar -Durl=http://192.168.131.8:8081/nexus/content/repositories/thirdparty/ -D...

2017-01-12 15:28:23 122

原创 ORA-12519: TNS:no appropriate service handler found 解决

最近做项目遇到一个连接Oracle的问题,报错如题:ORA-12519: TNS:no appropriate service handler found,应该是项目中的有些算法把所有连接都占用了,没办法只能增大数据的连接,具体做法如下: [plain] view plain copy  select count(*) from v$process --当前...

2016-12-29 16:09:16 7846

原创 Kafka入门经典教程

1.Kafka独特设计在什么地方?2.Kafka如何搭建及创建topic、发送消息、消费消息?3.如何书写Kafka程序?4.数据传输的事务定义有哪三种?5.Kafka判断一个节点是否活着有哪两个条件?6.producer是否直接将数据发送到broker的leader(主节点)?7.Kafa consumer是否可以消费指定分区消息?8.Kafka消息是采用Pull模式,还是Push模式?9.P...

2016-12-29 14:26:40 108

原创 eclipse启动一直显示 Initializing Java Tooling 1%

使用eclipse3.6 安装后maven插件m2eclipse,重启后 一直显示Initializing Java Tooling 任务 进度为1%,点开详情,显示org.eclipse.jst.j2ee.internal.module.container,无法使用eclipse, 如果删除插件后或者重新设置工作台,则启动正常.网上搜索到的方法为: 找到eclipse目录,编辑ec...

2016-12-28 09:33:31 290

原创 Spring Jax-Ws. Build and consume Web Services – part 1

Spring Jax-Ws. Build and consume Web Services – part 1Posted on July 12, 2012 by MarcoFollowing the official guide, at the chapter 19 we’ll find the Spring support about web service (honestly,...

2016-12-20 22:42:28 98

原创 Spring Jax-Ws. Build and consume Web Services – part 2

Spring Jax-Ws. Build and consume Web Services – part 2Posted on July 12, 2012 by MarcoIn the previous article we’ve seen how build a Jax Web Services with spring. Now it’s time to see how cons...

2016-12-20 22:40:47 97

原创 maven jar war

maven打包的时候默认是不加入依赖的jar包的,所以想打出一个独立的可运行jar包的话直接mvn clean install package是不行的。需要略改动下pom文件,加入如下plugin?123456789101112131415161718192021222324...

2016-12-18 17:13:15 79

原创 Redis集群配置

  设置防火墙(没开启防火墙的可以跳过)firewall-cmd --zone=public --add-port=6379/tcp --permanentfirewall-cmd --reload   yum install ruby gem install redis 或者从https://rubygems.org/gems/redis 下载执行 g...

2016-12-18 15:13:27 98

原创 Redis集群实现

简介前面两篇文章介绍到了Redis的主从节点和Redies的数据分片,但在实际环境中,我们可能需要同时满足这两个要求,即既能实现主从结构(master/slave)解决主节点(master)出现故障,从节点(slave)能够提升为主节点,不影响整个程序的运行;而且又能够满足当业务压力太大,单个master节点的写入无法满足要求时,能够实现数据分片的功能。而Redis 3.0.2提供了Red...

2016-12-18 10:25:14 107

原创 高性能网站架构之负载均衡 Nginx的安装

环境准备         如果要使用Nginx的常用功能,那么首先需要确保该Linux操作系统上至少安装了如下软件。Linux上有许多软件安装方式,yum只是其中比较方便的一种,其他方式这里不再赘述。这些软件均采用该方式安装      (1)GCC编译器       GCC(GNU CompilerCollection)可用来编译C语言程序。Nginx不会直接提供二进制可执行程序(1...

2016-12-17 22:12:47 110

原创 高性能网站架构之负载均衡 Nginx+tomcat+redis实现tomcat集群

环境准备        三台装有centos6.5 系统的机器。其中两台机器上装有tomcat7,一台机器上装有nginx3.0.2,至于具体如何安装tomcat和ngnix,这里就不再介绍了,请大家自己去网上查找资料。        这样我们还需要准备一台装有Redis服务的服务器,redis最好配置为集群的,这里为了演示tomcat集群,就使用单台服务器了。只与redis的安装,大家...

2016-12-17 22:11:21 122

原创 高性能网站架构之缓存篇--Redis使用配置端口转发

      最近在学习redis,由于财力有限,所以只能选择虚拟机练练手,本人使用的vmware 11,安装的系统是centos6.7,redis版本是3..0.2。如何安装请参考本人上一篇文章。        安装完Redis以后,我们是不是要迫不及待的想使用一下呢。那么我们要在程序中对redis进行操作的话,操作redis的插件有好几种,这里使用的jedis。        我们新建...

2016-12-17 22:05:53 206

原创 高性能网站架构之缓存篇—Redis集群增删节点

Redis集群添加节点       首先我们要新建立一个节点,将redis01 复制一份改为redis07,然后修改端口号也改为7007 ,然后我们执行[root@localhost redis07]# ./redis-server redis.conf 启动以后,然后进行查看,发现有一个端口号为7007的redis实例已经启动了!我们怎么把这个redis 实例添加到集群中呢。     ...

2016-12-17 19:08:08 120

原创 高性能网站架构之缓存篇—Redis集群搭建

1.  Redis Cluster的架构图。                   (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.         (2)节点的fail是通过集群中超过半数的节点检测失效时才生效.         (3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一...

2016-12-17 19:03:59 79

原创 ZooKeeper高可用集群的安装及配置

ZooKeeper高可用集群的安装及配置Zookeeper作为很多服务的注册协调中心(dubbo,jstom等),因此高可用集群方案也是必不可少的,Zookeeper集群时要注意将ZK集群的节点数量要为奇数(2n+1:如 3、5、7 个节点)较为合适。范例项目: http://wosyingjun.iteye.com/blog/2312553 1、下载并上传zookeep...

2016-12-16 09:19:31 85

原创 nginx负载均衡调度策略

1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: upstream bakend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; } 2、ip_hash 每个请求按...

2016-12-15 11:01:15 242

原创 CentOS下Redis服务器安装配置

操作系统:CentOS1、安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl2、安装tcl组件包(安装Redis需要tcl支持)下载:http://downloads.sourceforge.net/tcl...

2016-12-15 10:10:18 68

原创 centOS中安装Redis,主机不能访问虚拟机Redis server

后台开启服务器 $ src/redis-server &设置防火墙(没开启防火墙的可以跳过)firewall-cmd --zone=public --add-port=6379/tcp --permanentfirewall-cmd --reload   今天在学些redis的时候碰到个问题,发现主机Redis Destop Manager不能访...

2016-12-15 10:06:37 237

原创 Redis 配置

Redis 配置Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。你可以通过 CONFIG 命令查看或设置配置项。语法Redis CONFIG 命令格式如下:redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME实例redis 127.0.0.1:6379> CONFIG...

2016-12-14 18:55:34 78

原创 Redis 性能测试

Redis 性能测试Redis 性能测试是通过同时执行多个命令实现的。语法redis 性能测试的基本命令如下:redis-benchmark [option][option value]实例以下实例同时执行 10000 个请求来检测性能:redis-benchmark -n 10000PING_INLINE:141043.72 requests per sec...

2016-12-14 18:49:25 125

原创 Redis 分区

Redis 分区分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。分区的优势通过利用多台计算机内存的和值,允许我们构造更大的数据库。通过多核和多台计算机,允许我们扩展计算能力;通过多台计算机和网络适配器,允许我们扩展网络带宽。分区的不足redis的一些特性在分区方面表现的不是很好:涉及多个key的操作通常是不被支持的。举例...

2016-12-14 18:48:56 96

原创 Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h

错误描述安装Redis 2.8.18时报错:zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directoryzmalloc.h:55:2: error: #error "Newer version of jemalloc required"make[1]: *** [adlist.o] Error 1make...

2016-12-14 17:48:09 108

原创 Centos安装gcc

方法1: yum install gcc  方法2:上不了网的情况下,使用本地的iso文件 a. ftp上传iso安装文件到/usr/local/src下 b. 新建 /media/CentOS,  挂载iso文件到/media/CentOS  mount -t iso9660 -o loop /usr/local/src/CentOS-7-x86_64-DV...

2016-12-14 17:17:32 96

原创 log4j配置及按log level分文件写日志

 log4j配置文件有三个主要的组件:Logger,Appender和Layout,分别为日志类型,日志输出目的地,日志输出格式。 log4j.rootLogger = [level], appenderName, appenderName, ... (level是错误级别,appenderName是输出目的地,本例设为mylog,可以定义多个) level优先级分别为FATAL、ERROR、W...

2016-12-13 13:08:59 854

原创 maven中的pom.xml标签说明

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/mave...

2016-12-13 13:06:28 82

空空如也

空空如也

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

TA关注的人

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