自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Zookeeper - 开发篇(1)

本文用Java api开发一些基本的程序,从而搞清楚zk的一些基本用法。 zk客户端在连接 zk 服务器需要实例化一个org.apache.zookeeper.ZooKeeper对象,然后调用该类提供的接口与Zookeeper服务器进行交互。如果不指明,该类的所有方法均是线程安全的。一...

2016-04-24 11:44:00 71

转载 Zookeeper - 部署篇

Zookeeper 安装与配置 本文采用 Zookeeper-3.4.8 为基础介绍它的安装步骤以及配置信息,下载地址:Zookeeper-3.4.8。Zookeeper功能强大,但是安装却十分简单,下面重点以伪分布式模式来介绍 Zookeeper 的安装。 伪分布式模式安装 ...

2016-04-24 11:44:00 77

转载 MyCat - 测试篇

数据库路由中间件MyCat - 测试篇 测试背景 为了检测MyCat性能表现以及架构扩展性,设计测试。首先需要编写压力测试代码,程序基于Jmeter,并且封装了JDBC,模拟涅槃项目实际应用的连接方式。测试程序生成基于当前系统时间的随机数,并且保证这个随机数一秒内重复概率为百万分...

2016-04-24 11:44:00 99

转载 Java 7新特性总结 - Coin项目新语言特性

Coin项目 OpenJDK中的Coin项目的目的是维护对Java语言所做的语法增强。 在Coin项目开始之初,曾经广泛地向社区征求提议。在短短的一个月时间内就收到了近70条提议。最后有9条提议被列入考虑之中。在这9条提议中,有6条成为Java 7的一部分,剩下的2条提议会在Jav...

2016-04-24 11:44:00 93

转载 [转载]微服务实践(五):微服务的事件驱动数据管理

【编者的话】本文是使用微服务创建应用系列的第五篇文章。第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点;第二和第三篇描述了微服务架构模块间通讯的不同方面;第四篇研究了服务发现中的问题。本篇中,我们从另外一个角度研究一下微服务架构带来的分布式数据管理问题。 微服务和分布式数...

2016-04-24 11:43:00 82

转载 MyCat - 使用篇(2)

数据库路由中间件MyCat - 使用篇(2) 基本概念 3. 分片 3.1 分片节点(dataNode) 表被水平切分后,每个分片表所在的数据库就是一个分片节点。一个分片节点对应一个数据库(mysql数据库)。一个分片节点只能保存每个分片表的一个分片,因为db中不允许出现...

2016-04-24 11:43:00 100

转载 MyCat - 源代码篇(6)

数据库路由中间件MyCat - 源代码篇(6) 3. 连接模块 3.3 AbstractConnection: 3.3.2 NIOHandler NIOHandler实际上就是对于业务处理方法的封装,对于不同的连接有不同的处理方法,也就是不同的NIOHandler ...

2016-04-24 11:43:00 70

转载 Java 7新特性总结 - Java IO

绝大多数应用程序在运行过程中都会进行两种类型的计算:一种是占用CPU时间的计算,另外一种是与数据输入/输出(I/O)相关的计算。在这两种计算中,一般是与I/O相关的计算所花费的时间占较大的比重。这其中的主要原因是在进行I/O操作时,一般需要竞争操作系统中有限的资源,或是需要等待速度较慢的...

2016-04-24 11:43:00 70

转载 Canal+Otter - Canal篇(1)

Canal是阿里开源产品之一,是用java开发的基于数据库增量日志解析,提供增量数据订阅&消费的中间件。目前,Canal主要支持了MySQL的binlog解析。 为何要解析binlog: binlog中含有许多我们需要的信息,基于这些信息,我们可以实现很多功能: ...

2016-04-24 11:43:00 903

转载 [转载]微服务实战(四):服务发现的可行方案以及实践案例

这是关于使用微服务架构创建应用系列的第四篇文章。第一篇介绍了微服务架构的模式,讨论了使用微服务架构的优缺点。第二和第三篇描述了微服务架构内部的通讯机制。这篇文章中,我们将会探讨服务发现相关问题。 为什么要使用服务发现?   设想一下,我们正在写代码使用了提供RESTAPI或者Th...

2016-04-24 11:43:00 69

转载 MySQL通信协议栈Java实现-(2)协议包格式

2. 协议包格式 MySQL client和MySQL server之间要想传输数据,必须: 1. 将数据切分成若干个大小不超过字节(16MB)的packet里面 2. 将每一个数据包封装一个包头 2.1. 数据包结构 Type Na...

2016-04-24 11:43:00 140

转载 正则表达式

正则表达式 -语法 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个...

2016-04-24 11:43:00 81

转载 Netty - Bytebuf(1)

Netty - ByteBuf 1.1 原生的ByteBuffer Java NIO的ByteBuffer被称为字节缓冲区。此类针对字节缓冲区定义了以下六类操作: 读写单个字节的绝对和相对 get 和 put 方法; 将此缓冲区的连续字节序列传输到数组中的相对批...

2016-04-24 11:42:00 68

转载 Netty - ByteBuf (3)

1. Netty - ByteBuf (3) 1.3 ByteBuf相关实现源码 相关类继承关系 其中,我们从AbstractByteBuf和他的子类开始分析,其他的多为衍生工具类。 1.3.1. AbstractByteBuf 上一节主要的源代码都是Abstrac...

2016-04-24 11:42:00 58

转载 Riak - 背景篇(2)

Dynamo备份思想 因为我们用的PC机器性能不一,质量参差不齐,可能每天都会有机器挂掉或者重启。我们需要保证在某个机器挂掉或者损坏时,保证工作的正常运行。 我们可能最先想到的就是,给每个节点机器加一台备用的节点。这样,在主节点宕机时,备节点就可以顶上去。但是仔细想一下,这个方案是...

2016-04-24 11:42:00 81

转载 MyCat - 源代码篇(1)

数据库路由中间件MyCat - 源代码篇(1) 进入了源代码篇,我们先从整体入手,之后拿一个简单流程前端连接建立与认证作为例子,理清代码思路和设计模式。然后,针对每一个重点模块进行分析。 MyCat整体框架图: 1. 整体通信与业务框架: 前端与后端通信框架都为NIO/...

2016-04-24 11:42:00 79

转载 MyCat - 使用篇(4)

数据库路由中间件MyCat - 使用篇(4) 配置MyCat 3. 配置conf/rule.xml 1.5GA版本中的规则配置比较笨,2.0中优化了一些,将tableRule标签和function标签合并了,并且支持Velocity模板语言,更加灵活。这里先介绍1.5GA的,...

2016-04-24 11:42:00 104

转载 MongoDB - 简介和快速搭建

先不废话,先把MongoDB装好再说 安装运行MongoDB服务器 下载解压: wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.5.tgztar zxvf mongodb-linux...

2016-04-24 11:41:00 62

转载 MyCat - 源代码篇(2)

数据库路由中间件MyCat - 源代码篇(2) 2. 前端连接建立与认证 Created with Raphaël 2.1.0 MySql连接建立以及认证过程 client client MySql MySql 1.TCP连接请求 2.接受TCP连接 3.TCP连接建立 ...

2016-04-24 11:41:00 110

转载 Riak - 安装运维篇(1)

分布式高可用键值对数据库Riak - 安装运维篇(1) 快速安装部署启动 我的操作系统是Red Hat Enterprise Linux Server release 6.6 (Santiago),这也是我们目前生产上用的。 我直接在root下安装,先切换到root用户。 首...

2016-04-24 11:41:00 151

转载 MySQL通信协议栈Java实现-(1)数据类型

最新官网MySQL通信协议栈说明地址:http://dev.mysql.com/doc/internals/en/client-server-protocol.html 1. 数据类型 1.1 整型 1.1.1 定长整型 定长整型最小位在最前,一共有如下几种定长整型: ...

2016-04-24 11:41:00 114

转载 MyCat - 生产进阶篇(1)

数据库路由中间件MyCat - 生产进阶篇(1) 首先,利用开源产品,我们的第一个首要目标是–稳定! 1. MyCat求稳首要原则: 还是用之前的例子: 1.1 事务: 首先,我们可以这么理解,MyCat只应该做两件事:请求转发与结果合并。源代码篇讲过MyCa...

2016-04-24 11:40:00 54

转载 MyCat - 背景篇(2)

数据库路由中间件MyCat - 背景篇(2) MyCat的前世今生 如前文所说,Amoeba、Cobar、MyCat等属于同宗一脉。若Amoeba能继续下去,Cobar就不会出来;若Cobar那批人不是都走光了的话,MyCAT也不会再另起炉灶。Cobar之后,有很多类似中间件仿照...

2016-04-24 11:40:00 52

转载 Clojure系列 - 环境与IDE配置

看七周七并发这本书,对Clojure产生了浓厚的兴趣。写篇日志记录下成长以及“成长的烦恼”。 使用Clojure,必须先准备好工具。首先,我们需要搭建Clojure的构建工具 - lein。Clojure一大特性就是REPL(Read-Evaluate-Print Loop),代码输入...

2016-04-24 11:40:00 39

转载 MyCat - 源代码篇(3)

数据库路由中间件MyCat - 源代码篇(3) 2. 前端连接建立与认证 Created with Raphaël 2.1.0 MySql连接建立以及认证过程 client client MySql MySql 1.TCP连接请求 2.接受TCP连接 3.TCP连接建立 ...

2016-04-24 11:40:00 83

转载 [笔记]Executors框架

框架结构 任务:Runnable和Callable 任务的执行:Executor接口->ExecutorService接口 ThreadPoolExecutor ScheduledThreadPoolExecutor ...

2016-04-24 11:40:00 127

转载 MyCat - 使用篇(6)

数据库路由中间件MyCat - 使用篇(6) 配置MyCat-eye 接下来在开始使用MyCat之前,我们先把监控平台部署好。 下载MyCat-eye项目,mvn打包。 之后得到类似于Mycat-web-1.0-SNAPSHOT-20160215151602-linux....

2016-04-24 11:40:00 53

转载 [转载]微服务实战(六):选择微服务部署策略

动机 部署一个单体式应用意味运行大型应用的多个副本,典型的提供若干个(N)服务器(物理或者虚拟),运行若干个(M)个应用实例。部署单体式应用不会很直接,但是肯定比部署微服务应用简单些。 一个微服务应用由上百个服务构成,服务可以采用不同语言和框架分别写就。每个服务都是一个单一应用,可...

2016-04-24 11:40:00 64

转载 Netty - ByteBuf (2)

1. Netty - ByteBuf (2) 1.2. netty的ByteBuf 1.2.1. ByteBuf结构 Bytebuf是netty中的ByteBuffer,结构上通过两个位置指针协助缓冲区的读写操作。分别是writerIndex和readerIndex 初始状...

2016-04-24 11:39:00 61

转载 MyCat - 源代码篇(7)

数据库路由中间件MyCat - 源代码篇(7) 3. 连接模块 3.4 FrontendConnection前端连接 构造方法: public FrontendConnection(NetworkChannel channel) throws IOExcepti...

2016-04-24 11:39:00 124

转载 MyCat - 源代码篇(4)

数据库路由中间件MyCat - 源代码篇(4) 2. 前端连接建立与认证 Created with Raphaël 2.1.0 MySql连接建立以及认证过程 client client MySql MySql 1.TCP连接请求 2.接受TCP连接 3.TCP连接建立 ...

2016-04-24 11:39:00 155

转载 MyCat - 背景篇(1)

数据库路由中间件MyCat - 背景篇(1) SQL与NoSQL 目前,对于互联网海量数据的存储以及处理,按使用场景,分为OLTP(联机事务处理,比如即时交易,强调快速响应与处理)与OLAP(联机分析处理,比如BI,强调多维数据分析)。对于这些数据的存储,主要有两种解决方案,即基...

2016-04-24 11:39:00 75

转载 Riak - 使用篇(1)

分布式高可用键值对数据库Riak - 使用篇(1) 请先参考Riak - 安装运维篇(1)安装部署并启动Riak集群(3个Node)。 Riak默认有两种端口,一种是protobuf端口,还有一种是HTTP Restful端口。 以前的Riak client java API会支...

2016-04-24 11:39:00 76

转载 [转载]微服务实战(二):使用API Gateway

【编者的话】本系列的第一篇介绍了微服务架构模式。它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。 当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。在单体式程序中,通常只有一组冗余的或者负载均衡的服务提供点。在微服务架构中,每一...

2016-04-24 11:39:00 88

转载 Zookeeper - 介绍篇(2)

ZK数据结构 zk整体保存数据的结构类似于文件系统的树形结构。但是每个节点可以拥有一个名字,并作为一个文件夹包括多个其他节点,同时还可以保存数据。 需要注意: 空字符(\u0000)不能作为名字 \u0001 - \u0019 和\u007F - \u009F...

2016-04-24 11:38:00 61

转载 Canal+Otter - 前日篇(2)

数据库同步中间件Canal+Otter - 前日篇(2) MySQL+InnoDB架构体系 MySQL体系前端接受连接,并提供多种API,连接池化可重用。这里连接可以理解为线程,来处理来自客户端的请求。后台存储引擎负责控制IO策略,内存缓冲和线程调度,以及会话事务管理。 我...

2016-04-24 11:38:00 92

转载 Zookeeper - 介绍篇(3)

ZK会话 ZK会话有四种状态:NOT_CONNECTED, CONNECTING, CONNECTED, CLOSED, 会话状态转换图为 Client初始化连接,状态转为CONNECTING(①) Client与Server成功建立连接,状态转为CONNECT...

2016-04-24 11:38:00 59

转载 MyCat - 源代码篇(5)

数据库路由中间件MyCat - 源代码篇(5) 3. 连接模块 如之前所述,MyCat的连接分为前端和后端,下面是连接基本相关类图: 3.1 ClosableConnection: public interface ClosableConnection { S...

2016-04-24 11:38:00 106

转载 MyCat - 使用篇(5)

数据库路由中间件MyCat - 使用篇(5) 配置MyCat 4. 配置schema.xml schema.xml里面管理着MyCat的逻辑库、表,每张表使用的分片规则、分布在哪个DataNode以及DataSource上。 之前的例子: <?xml vers...

2016-04-24 11:38:00 78

转载 Zookeeper - 背景篇

Zookeeper以它的稳定性,高并发并且简单易用,目前在很多分布式系统中作为协调服务的中间件。Zookeeper官方文档很全面,目前,最新稳定版本为3.4.8: Zk 3.4.8 API文档 Zk 3.4.8 开发文档 Zk 3.4.8 编程实例 网上...

2016-04-24 11:38:00 57

空空如也

空空如也

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

TA关注的人

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