- 博客(117)
- 收藏
- 关注
转载 缓存一致性问题
缓存更新策略被动更新: 设置key过期的时间,让其自动失效。主动更新: 更新DB的时候,同时更新缓存一般业务都是主动更新和被动更新结合使用。缓存更新实现调用者调用。失败重试3次,再失败,扔给消息队列异步处理。消息队列从数据库取最新的更新,保证成功DB中间件监听DB变化,更新缓存利用DB中间件监听DB变化(比如阿里的Canal中间件,点评的Puma)...
2018-06-01 18:21:00
150
转载 git 命令
https://blog.csdn.net/boysky0015/article/details/78185879 合并分支到mastergit pull origin dev1.1.0:dev1.1.0拉取远程分支到本地· git add -A 提交所有变化· git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)· git...
2018-04-20 10:34:00
119
转载 nginx
date +%Y%m%dnginx -s reload :修改配置后重新加载生效nginx -s reopen :重新打开日志文件nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确关闭nginx:nginx -s stop :快速停止nginxquit :完整有序的停止nginx其他的停止nginx 方式:ps -ef | gr...
2018-02-22 09:49:00
109
转载 jdk从1.8降到1.7的办法
jdk从1.8降到1.7的办法正常情况下,JDK的升降级只需更改环境变量即可,可是到了1.8版本,oracle使了一点小手段——在系统Path中添加一条变量C:/ProgramData/Oracle/Java/javapath。在此目录下,会有3个exe的快捷方式java.exe、javaw.exe和javaws.exe,造成我们在运行java 或者javac时,会默认找到此目录。同时...
2017-04-24 19:12:00
146
转载 windows查看端口占用以及关闭相应的进程
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 假如我们...
2017-04-13 17:40:00
75
转载 MySQL防止重复插入唯一限制的数据 4种方法
MySQL防止重复插入唯一限制的数据,下面我们逐一分析 :1.insert ignore into当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:INSERT IGNORE INTO books (name) VALUES ('MySQL Manual')这种方法很简便,但是有一种可能,就...
2016-12-01 17:22:00
714
转载 Jafka Broker代码阅读之总览
从本文开始,笔者将尝试从源码角度解读Jafka(Kafka)的特性,探究其背后的实现原理与技术。前面讲解Jafka Broker的文章中有提到下面这段启动服务端的代码,我们就从这里开始。Properties props = new Properties();props.setProperty("port","9093");props.setProperty("log.dir","/...
2016-11-07 12:26:00
109
转载 存储单位转换
1TB=1024GB1GB=1024MB1MB=1024KB1KB=1024Byte注:Byte就是B也就是字节KB是千字节MB是兆GB是千兆TB是千千兆一般情况把他们看作是按千进位就行,准确的是1024也就是2的10次方。1M=1024K1K=1024Byte1Byte=8Bit一个汉字用两字节,一个英文字母用1字节要注意一点Kb的写法,大写的KB代表K B...
2016-11-07 12:01:00
178
转载 mysql delimiter 存储过程
命令行登录mysqlcd /d D:\database\mysql1\binmysql.exe -P 3306 -h 127.0.0.1 -u root -pUSE tbscheduledelimiter //CREATE PROCEDURE CREATE_TEST_DATA(IN ownSign varchar(50),IN datanum INTEGER(11))BEGI...
2016-11-01 10:38:00
114
转载 Oracle中的 UPDATE FROM 解决方法
在表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就可以在update的表达式中引用要更新的表以外的其它数据。例如:UPDATE Table2SET Table2.ColB = Table2.Co...
2016-10-31 17:28:00
90
转载 认识oracle的update更新
这两天给新同事安排了一个工作,即做一个update 的级联更新,在实际操作中发现了一个问题。就是对于Oracle的更新的语法,大部分人尤其是学过SqlServer的人在使用oracle的时候对于oracle的更新会有许多的疑问。就此记下,以便日后查阅update a set a.col1 = (select b.col1 from b where b.col2 = a.col2)wh...
2016-10-31 17:27:00
91
转载 TBSchedule源码阅读2-TBScheduleManagerFactory 定时任务ManagerFactoryTimerTask
定时任务 :主要功能:监听zookeeper状态,正常则this.factory.refresh(),异常则this.factory.reStart();1 正常情况this.factory.refresh()异常则停止所有调度任务正常则重新分配调度器1.1分配调度器 public void reRegisterManagerFactory() throws Excep...
2016-10-30 15:31:00
252
转载 Btrace
转载自 http://learnworld.iteye.com/blog/1402763相关博客btrace扩展 https://github.com/xxzmxx/btrace_extendhttp://www.cnblogs.com/zengkefu/p/5632145.htmluserGuide: http://kenai.com/projects/btrace/page...
2016-10-28 22:07:00
62
转载 生产问题排查
http://blog.2baxb.me/archives/1334?utm_source=tuicool&utm_medium=referral转载于:https://www.cnblogs.com/clds/p/6009583.html
2016-10-28 22:06:00
77
转载 Servlet线程安全2
Servlet的多线程机制 Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。Servlet容器会自动使用线程池等技术来...
2016-10-28 12:15:00
75
转载 Servlet线程安全 Filter http://zwchen.iteye.com/blog/91088
概述在探讨java线程安全前,让我们先简要介绍一下Java语言。任何语言,如C++,C#,Java,它们都有相通之处,特别是语法,但如果有人问你,Java语言的核心是什么?类库?关键字?语法?似乎都不是。Java语言的核心,也就是Sun始终不愿意开源的东西:Java虚拟机的实现(不过sun公开了其Java虚拟机规范),也就有了BEA的JRockit,IBM的Jikes,Sun的Hot...
2016-10-28 11:22:00
88
转载 diamond源码阅读-获取服务器列表
serverAddressProcessorpublic synchronized void start() { if (isRun) { return; } isRun = true; initHttpClient();//初始化HttpClient if (this.diamon...
2016-10-26 18:18:00
186
转载 diamond源码阅读-diamond-server
diamond-server1 增加一条数据 /diamond-server/admin.do?method=postConfig1.1 调用 this.configService.addConfigInfo(dataId, group, content); public void addConfigInfo(String dataId, String group, String ...
2016-10-26 18:14:00
134
转载 diamond源码阅读-diamond-client
读取数据DiamondManager manager = new DefaultDiamondManager("DEFAULT_GROUP", "zml", new ManagerListener() { public void receiveConfigInfo(String configInfo) { System.out.println...
2016-10-26 18:10:00
139
转载 diamond源码阅读-循环探测配置信息是否变化rotateCheckConfigInfo
rotateCheckConfigInfo 这是一个定时任务,循环调用 /** * 循环探测配置信息是否变化,如果变化,则再次向DiamondServer请求获取对应的配置信息 */ private void rotateCheckConfigInfo() { scheduledExecutor.schedule(new Runnable()...
2016-10-26 16:10:00
111
转载 diamond源码阅读-目录监控
PathNode(Path)StandardWatchEventKind(WatchEvent)Watchable(WatchKey WatchService WatchEvent)WatchKey(PathNode WatchEvent WatchService)WatchService(WatchKey Path)WatchEventFileSystem(WatchService)P...
2016-10-25 16:32:00
125
转载 maven常用命令
http://www.mspring.org/article/538 转1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create ...
2016-10-21 17:42:00
99
转载 zookeeper 客户端
http://blog.csdn.net/lzy_lizhiyang/article/details/48518731http://blueyan.iteye.com/blog/2298276http://blog.csdn.net/alivetime/article/details/7101014http://macrochen.iteye.com/blog/1366136...
2016-10-21 16:32:00
61
转载 TBSchedule源码阅读1-TBScheduleManagerFactory
TBSchedule1 TBScheduleManagerFactory 初始化 成员变量 ZKManager; IScheduleDataManager; ScheduleStrategyDataManager4ZK; ManagerFactoryTimerTask; TimerTask InitialThread 内部类 1.1 init ...
2016-10-20 17:45:00
199
转载 mysql中int、bigint、smallint 和 tinyint的区别详细介绍
最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint。其中比较迷惑的是int和smallint的差别。今天就在网上仔细找了找,找到如下内容,留档做个总结: 使用整数数据的精确数字数据类型。 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的...
2016-10-17 10:02:00
48
转载 TSharding源码阅读-MapperShardingInitializer
/** * 增强Mapper处理总入口:Mapper被mybatis初始化后,在这里做进一步的处理和增强 * * @author qigong on 5/1/15 */public class MapperShardingInitializer implements ApplicationContextAware { Logger log...
2016-10-16 15:57:00
80
转载 TSharding源码阅读
需要的背景知识:Spring 和Mybatis 实现原理和源码, javaassist字节码增强的使用, java及设计模式的使用 1 读取解析数据库配置文件DataSourceScanner实现了Spring的BeanDefinitionRegistryPostProcessor和ApplicationContextAware接口。BeanDefinitionRegist...
2016-10-15 11:55:00
95
转载 Windows下SVN回滚到旧版本(TortoiseSVN)
Windows下SVN回滚到旧版本(TortoiseSVN) 当发现新提交的代码有问题,然后想将某个旧的版本作为最新的版本时,可以使用回滚,操作步骤如下:1. 签出(CheckOut)最新版本的代码到电脑中(不能做任何修改)2. 执行TortoiseSVN的Show log操作, 在新签出的文件夹上右键,TortoiseSVN -> Show...
2016-09-27 10:59:00
64
转载 liunx命令
(2)sudo -i 通过这种方法输入当前管理员用户的密码就可以进到root用户。tar -cvf target_name.tar dir_or_file # 将目标打包成一个*.tar格式的文件 tar -czvf target_name.tar.gz dir_or_file # 将目标打包并压缩成一个*.tar.gz格式的文件 tar -cjvf target_name....
2016-09-13 18:41:00
78
转载 TCP/IP笔记
1 TCP/IP处理的问题:逻辑编址,路由选择,名称解析,错误控制和流量支持,应用支持逻辑编址: 逻辑地址和具体硬件物理地址之间的转换是使用地址解析协议ARP 和逆向地址解析协议 RARP名称解析:DNS2 TCP/IP四层模型:应用层FTP之类,传输层TCP UDP,网际层IP,网络接口层 转载于:https://www.cnblogs.com/...
2016-09-13 15:44:00
63
转载 调优文章汇总
http://calvin1978.blogcn.com/articles/jvmoption-2.htmlhttp://calvin1978.blogcn.com/articles/perf-tunning-1.htmlhttp://calvin1978.blogcn.com/articles/perf-tunning-2.htmlhttp://qify.iteye.com...
2016-09-07 16:58:00
68
转载 服务化体系之—限流
服务化体系之—限流08月 29, 2016 | Filed under 技术(上)设计篇在实现算法之前,先临时客串一下产品经理,尝试用最少的字,把“限流”这简单二字所展开的种种需求给说清楚。1.各种目的1. 保护每个服务节点。2. 保护服务集群背后的资源,比如数据库。3. 避免单个调用者过度使用服务,影响其他调用者。2. 各种设定维度2.1...
2016-09-07 16:54:00
109
转载 接口限流算法总结
背景曾经在一个大神的博客里看到这样一句话:在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。算法介绍计数器法计 数器法是限流算法里最简单也是最容易实现的一种...
2016-09-07 16:51:00
260
转载 聊聊高并发系统之限流特技-1 开涛
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发...
2016-09-07 16:50:00
69
转载 关于两种限流模式
流量预警和限流方案中,比较常用的有两种。第一种滑窗模式,通过统计一段时间内的访问次数来进行控制,访问次数达到的某个峰值时进行限流。第二种为并发用户数模式,通过控制最大并发用户数,来达到流量控制的目的。下面来简单分析下两种的优缺点。1、滑窗模式 模式分析: 在每次有访问进来时,我们判断前N个单位时间内的总访问量是否超过了设置的阈值,并对当前时间片上的请求数+1。上图每...
2016-09-07 16:41:00
282
转载 滑动窗口计数java实现
滑动窗口计数有很多使用场景,比如说限流防止系统雪崩。相比计数实现,滑动窗口实现会更加平滑,能自动消除毛刺。概念上可以参考TCP的滑窗算法,可以看一下这篇文章(http://go12345.iteye.com/blog/1744728)。在实现上,滑动窗口算法需要循环队列和线程安全保障。下面的实现有几个点1, 支持滑窗大小运行时动态调整2, 基于 java8 编...
2016-09-07 16:39:00
367
转载 淘宝Diamond架构分析
http://blog.csdn.net/szwandcj/article/details/51165954背景知识早期的应用都是单体的,配置修改后,只要通过预留的管理界面刷新reload即可。后来,应用开始拆分,从单一系统拆分成多个子系统,每个子系统还会对应多个运行实例,就开始面临一些问题: 1. 配置分散在多个业务子系统里,对同一配置的翻译在多个子系统里经常不一致。...
2016-09-02 11:39:00
60
转载 AliRedis性能
引言: 如今redis凭借其高性能的优势, 以及丰富的数据结构作为cache已越来越流行, 逐步取代了memcached等cache产品, 在Twitter,新浪微博中广泛使用,阿里巴巴同样如此.redis已经占据了其不可动摇的地位, 然而在实际的生产环境中, redis也暴露出一些其他问题.如性能瓶颈, 内存冗余, 运维部署复杂等. 本文目的就是分析redis现有的...
2016-08-31 10:04:00
338
转载 cat
1 启动方式 jetty tomcat 或者在cat目录下输入 mvn eclipse:clean eclipse:eclipse 然后将项目导入到eclipse中,运行cat-home项目里得‘com.dianping.cat.TestServer’来启动CAT.2 http://blog.csdn.net/rdstwww/article/details/51002447...
2016-08-30 18:29:00
66
转载 diamond
一、前言 最近工作不忙闲来无事,仔细分析了公司整个项目架构,发现用到了很多阿里巴巴集团开源的框架,今天要介绍的是中间件diamond.二、diamond学习笔记 1、diamond简介 diamond是一个管理持久配置(持久配置是指配置数据会持久化到磁盘和数据库中)的系统。无可厚非,淘宝内部正在使用diamond,在淘宝内部的绝 大多数...
2016-08-30 15:43:00
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人