- 博客(296)
- 资源 (5)
- 收藏
- 关注
转载 canal系列—Client使用例子
一、创建Connectora. 创建SimpleCanalConnector (直连ip,不支持server/client的failover机制)CanalConnector connector = CanalConnectors.newSingleConnector(new InetSocketAddress(AddressUtils.getHostIp(),11111), destination
2017-12-13 17:36:59
6271
原创 canal系列—HA模式配置
一、机器准备zookeeper地址:192.168.134.128:2181;mysql地址:192.168.134.129:3306;运行canal的机器: 192.168.134.131 , 192.168.134.132。Zookeeper 安装配置请参考:Zookeeper系列—Linux下的安装 Mysql 安装配置请参考:MySQL系列—服务器安装与配置 canal 安装配置
2017-12-13 17:10:27
4542
2
转载 canal系列—配置文件介绍
canal的配置加载方式介绍配置之前,先了解下canal的配置加载方式: canal配置方式有两种:ManagerCanalInstanceGenerator: 基于manager管理的配置方式,目前alibaba内部配置使用这种方式。大家可以实现CanalConfigClient,连接各自的管理系统,即可完成接入。SpringCanalInstanceGenerator:基于本地spring
2017-12-13 11:08:05
14507
转载 canal系列—Canal 的介绍
背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。ps. 目前内部使用的同步,已经支持mysql5.x和oracle部分版本的日志解析 基于日志增
2017-12-13 09:55:46
1710
原创 canal系列—canal客户端_“消息的消费”
一、安装 canalcanal的安装请参考:canal系列—Linux下的安装配置(快速开始)二、配置 canal.properties 文件[root@localhost canal]# vim conf/canal.properties ########################################################## common
2017-12-13 09:44:58
3015
原创 canal系列—Linux下的安装配置(快速开始)
零、环境准备1、canal的原理是基于mysql binlog技术,所以这里一定需要开启mysql的binlog写入功能,建议配置binlog模式为row[mysqld]log-bin=mysql-bin #添加这一行就okbinlog-format=ROW #选择row模式server_id=129 #配置mysql replaction需要定义,不能和canal的slaveId重复2、ca
2017-12-12 14:29:08
6580
原创 Mycat系列—常用的分片规则
1、分片枚举通过在配置文件中配置可能的枚举 id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存,而全国省份区县固定的,这类业务使用本条规则,配置如下:<tableRule name="sharding-by-intfile"> <rule> <columns>user_id</columns> <algorithm>hash-i
2017-12-11 16:09:44
5080
原创 MariaDB系列—Linux下设置MariaDB的初始密码(未完成)
大概很多小伙伴安装MariaDB后,登录数据库时都会遇到下面的情况:[root@mariadb-server-01 /]# /usr/local/mariadb/bin/mysqlERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)接下来说一下解决方法一、首先停掉数据库服务[root@m
2017-12-08 15:23:13
4217
1
原创 MariaDB系列—Linux下安装 MariaDB 并同时运行 MySQL
这里虽然介绍了这种方法,但不建议(非常不建议)在一台机器上既安装Mysql又安装MariaDB,因为这两个数据库有太多“共同点”(有一些相同的数据路径),很容易一个配置的变动导致另一个运行失败。MariaDB 在安装的时候将会覆盖和删除当前安装的 MySQL,但是你还是可以让 MariaDB 和 MySQL 同时运行。 如果你希望一步一步的合并数据库或者应用程序,这个特性非常有用。如果你希望在存在
2017-12-08 12:32:57
6960
原创 Mycat系列—Mycat 的高可用与负载均衡架构
高可用通常也叫 HA(High Available)。指的是,一台服务器宕机了,照样能对外提供服务。常用的高可用软件方案有:LVS、keepalived、Heartbeat、roseHA(roseHA 为收费软件)等。Mycat 本身是无状态的,可以用 HAProxy 或四层交换机等设备组成 Mycat 的高可用集群,后端 MySQL 则 配置为主从同步,此时整个系统就是高可用的。 haprox
2017-12-07 15:04:13
1748
1
原创 Mycat系列—生产实践案例-Mycat 读写分离案例
目前有大量 Mycat 的生产实践案例是属于简单的读写分离类型的,此案例主要用到 Mycat 的以下特性:读写分离支持高可用大多数读写分离的案例是同时支持高可用性的,即 Mycat+MySQL 主从复制的集群,并开启 Mycat 的读写分离功能,这种场景需求下,Mycat 是最为简单并且功能最为丰富的一类 Proxy,正常情况下,配置文件也最为简单,不用每个表配置,只需要在 schema.xm
2017-12-07 14:32:36
473
原创 MySQL系列—主从复制的配置(传统方式)
主从复制结构图主从配置需要注意的地方:主DB server和从DB server数据库的版本一致;主DB server和从DB server数据库数据名称一致;主DB server开启二进制日志,主DB server和从DB server的server_id都必须唯一。配置过程主要分为两部分:主服务器配置;从服务器配置。一、主服务器配置1、修改my.conf文件在[mysqld]段下添
2017-12-06 15:10:58
343
原创 Mycat系列—Mysql分片的配置
需求及环境分析1、需求把 tb_item 表分片存储到三个数据节点上。2、安装环境分析一台 mycat服务器:mycat-server:10.73.150.4两台 mysql 数据库服务器:mysql-server-01:10.73.150.54 数据库名 : db1、db3mysql-server-02:10.73.150.197 数据库名 : db2一、安装相关的软件Mysql 的
2017-12-06 13:04:25
823
原创 Apache系列—Windows不能在本地计算机启动Apache
1、显示的错误如下:2、解决的方法是:在运行中切换到你的apache的bin目录下,执行httpd.exe,看有什么提示C:\GreenSoftware\Apache24\bin>httpd(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address [::]:443(OS 100
2017-11-30 16:34:38
39289
13
原创 Windows10 硬盘连接电脑后不显示的问题
重装USB控制器 1、打开控制面板(小图标查看)—设备管理器,展开通用串行总线控制器,右键单击设备选择“卸载”,每个设备重复以上操作。2、重新插拔一次移动硬盘,就好了。
2017-11-27 23:00:41
2555
1
原创 HAProxy系列—配置文件详解
haproxy 配置中分成五部分内容,分别如下:global:参数是进程级的,通常是和操作系统相关。这些参数一般只设置一次,如果配置无误,就不需要再次进行修改;defaults:配置默认参数,这些参数可以被用到frontend,backend,Listen组件;frontend:接收请求的前端虚拟节点,Frontend可以更加规则直接指定具体使用后端的backend;backend:后端服务
2017-11-27 12:20:41
5386
原创 HAProxy系列—Linux下的安装
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
2017-11-27 09:56:47
7325
原创 Mycat系列—Linux下Mycat-Web(Mycat-eye)的安装
一、环境准备Mycat,mycat eye 依赖 jdk1.7+环境:Tomcat系列—JDK安装 Mycat eye 需要 Zookeeper 作为配置中心:Zookeeper系列—Linux下的安装二、下载并解压Mycat-Web下载地址:https://github.com/MyCATApache/Mycat-download/tree/master/mycat-web-1.0[root@z
2017-11-24 13:54:50
2038
原创 Host is not allowed to connect to this MySQL server解决方法
今天在Linux上面装完MySQL,却发现在本地登录可以,但是远程登录却报错Host is not allowed to connect to this MySQL server,找了半天试了网上的一些方法都没有解决,最终在一篇文章里找到了解决方法,特意记录一下。先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:在装有MySQL的机器上登录MySQL my
2017-11-23 13:26:39
1478
原创 MongoDB系列—Linux安装MongoDB
一、下载并解压MongoDB下载地址:https://www.mongodb.com/download-center#community[root@localhost src]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.10.tgz[root@localhost src]# tar -zxvf mongodb-l
2017-11-22 08:56:42
1868
原创 JConsole远程连接配置(用VisualVM进行远程连接的配置和JConsole是一摸一样滴)
JConsole远程连接还是有一点坑的,折腾了大半天,这里记录一下配置过程。1、在远程机的Tomcat的 /etc/init.d/tomcat(启动脚本)中加入配置折腾了大半天就是因为这一步。我将Tomcat的启动脚本放到了 /etc/init.d/ 下面,却将配置加入到了catalina.sh中,导致JConsole一直连接失败。在其中“# —– Execute The Requested Com
2017-11-12 12:15:47
6199
1
转载 Dubbo系列—基本使用方法
1、服务治理框架:DUBBODUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。——摘自DUBBO官网(http://dubbo.io/)基本使用2、准备示例工程您可以在以下站点下载后文中提到的各种组件:DUBBO官网
2017-10-09 22:45:33
575
转载 搜索系统—搜索引擎的原理,架构与细节
1、全网搜索引擎架构与流程全网搜索引擎的宏观架构如上图,核心系统主要分为三部分(粉色部分):spider爬虫系统;search&index建立索引与查询索引系统,这个系统又主要分为两部分:一部分用于生成索引数据build_index;一部分用于查询索引数据search_index。rank打分排序系统。核心数据主要分为两部分(紫色部分):web网页库;index索引数据。 全网搜索
2017-09-26 11:39:25
10102
2
原创 MySQL系列—全文检索(fulltext)使用
1、创建全文索引(FullText index)旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息要随时关注官网。1.1、创建表的同时创建全文索引CREATE TABLE article ( id INT AUTO_INCREMENT NOT NULL PRIMARY K
2017-09-25 10:51:17
18128
1
原创 MySQL系列—全文检索(fulltext)介绍
一、概述MySQL中的全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。二、语法MATCH (col1,col2,...) AGAINST (expr [search_modifier])search_modifier: { IN BOOLEAN MODE | WITH QUERY EXPANSION }# 例如SELECT * FROM tab_nam
2017-09-25 09:54:53
951
转载 计数系统,架构与优化细节
一、需求缘起很多业务都有“计数”需求,以微博为例:微博首页的个人中心部分,有三个重要的计数:关注了多少人的计数;粉丝的计数;发布博文的计数。微博首页的博文消息主体部分,也有有很多计数,分别是一条博文的:转发计数;评论计数;点赞计数;甚至是浏览计数。在业务复杂,计数扩展频繁,数据量大,并发量大的情况下,计数系统的架构演进与实践,是本文将要讨论的问题。二、业务分析与计数初步实现典型的互
2017-09-24 19:39:55
619
转载 秒杀系统,架构优化思路
一、秒杀业务为什么难做im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);微博系统,每个人读你关注的人的数据,一个人读多个人的数据;秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。 又例如:12306抢票,票是有限的,库存一份,瞬时流量非常多,都读相同
2017-09-24 11:40:19
462
转载 ActiveMQ系列—ActiveMQ集群方案(下)(热备方案)
序:ActiveMQ高性能方案的不足那么有的读者可能会问,既然ActiveMQ的高性能方案中多个节点同时工作,在某个节点异常的情况下也不会影响其他节点的工作。这样看来,ActiveMQ的高性能方案已经避免了单点故障,那么我们为什么还需要讨论ActiveMQ的高可用方案呢?为了回答这个问题,我们先回过头来看看ActiveMQ高性能方案的一些不足。假设如下的场景:ActiveMQ A和AcitveMQ
2017-09-24 10:31:52
2015
转载 ActiveMQ系列—ActiveMQ集群方案(上)(高性能方案)
序:多节点方案集群方案主要为了解决系统架构中的两个关键问题:高可用和高性能。ActiveMQ服务的高可用性是指,在ActiveMQ服务性能不变、数据不丢失的前提下,确保当系统灾难出现时ActiveMQ能够持续提供消息服务,高可靠性方案最终目的是减少整个ActiveMQ停止服务的时间。ActiveMQ服务的高性能是指,在保证ActiveMQ服务持续稳定性、数据不丢失的前提下,确保ActiveMQ集群能
2017-09-22 19:22:25
1846
转载 ActiveMQ系列—ActiveMQ性能优化(下3)(消息存储方案 RDB)
11、关系型数据库存储方案从ActiveMQ V4版本开始,ActiveMQ就支持使用关系型数据库进行持久化存储——通过JDBC实现的数据库连接。可以支持的关系型数据库包括(但不限于):Apache Derby、DB2、HSQL、Informix、MySQL、Oracle、Postgresql、SQLServer、Sybase。下面向各位读者演示如何为ActiveMQ配置Mysql数据库服务。前提是
2017-09-22 10:25:47
761
转载 ActiveMQ系列—ActiveMQ性能优化(下2)(消息存储方案 LevelDB)
10、KahaDB存储方案 LevelDb是能够处理十亿级别规模Key-Value型数据持久性存储的C++ 程序库,由Google发起并开源。LevelDB只能由本操作系统的其他进程调用,所以它不具有网络性。如果您需要网络上的远程进程操作LevelDB,那么就要自行封装服务层。10.1、LevelDB基本结构LevelDB中的核心设计算法是跳跃表(Skip List),核心操作策略是对磁盘上的
2017-09-21 18:56:49
4212
转载 ActiveMQ系列—ActiveMQ性能优化(下1)(消息存储方案 KahaDB)
序1:存储方案配置在介绍ActiveMQ的存储方案之前,首先需要明确的是ActiveMQ中的几种“容量”描述:ActiveMQ的内核是Java编写的,也就是说如果服务端没有Java运行环境ActiveMQ是无法运行的。ActiveMQ启动时,启动脚本使用wrapper包装器来启动JVM。JVM相关的配置信息在启动目录的“wrapper.conf”配置文件中。各位读者可以通过改变其中的配置项,设置JV
2017-09-20 21:59:51
8308
转载 ActiveMQ系列—ActiveMQ性能优化(中3)(消费者和生产者性能总结)
8、消费者和生产者性能总结本小节我们介绍了基于ActiveMQ构建的消息队列系统中,生产者和消费者需要关注的重要性能点。但是整个ActiveMQ中的性能还需要各位读者在实际工作中,一点一点的去挖掘。这里我们根据已经介绍过的性能关注点进行总结:发送NON_PERSISTENT Message和发送PERSISTENT Message是有性能差异的。引起这种差异的原因是前者不需要进行持久化存储;但是这
2017-09-20 20:46:40
2353
转载 ActiveMQ系列—ActiveMQ性能优化(中2)(处理规则和优化)
4、消费者策略:Dispatch Async讨论完了消息生产者的关键性能点,我们再将目光转向消息消费者(接收者端);就像本小节开始时描述的那样,比起消息生产者来说消息消费者的性能更能影响ActiveMQ系统的整体性能,因为要成功完成一条消息的处理,它的工作要远远多于消息生产者。首先,在默认情况下ActiveMQ服务端采用异步方式向客户端推送消息。也就是说ActiveMQ服务端在向某个消费者会话推送消
2017-09-20 18:53:43
5300
转载 ActiveMQ系列—ActiveMQ性能优化(中1)(处理规则和优化)
序:处理规则概述在ActiveMQ单个服务节点的优化中,除了对ActiveMQ单个服务节点的网络IO模型进行优化外,生产者发送消息的策略和消费者处理消息的策略也关乎整个消息队列系统是否能够高效工作。请看下图所示的消息生产者和消息消费者的简要工作原理图:Producer既是消息生产者,作为一个发送消息的客户端它既可以使用同步消息发送模式,也可以使用异步的消息发送模式。另外,消息生产者在ActiveM
2017-09-20 18:00:39
5600
转载 ActiveMQ系列—JMS规范中的几个基本概念
由于ActiveMQ是JMS规范的完整实现,所以为了讲清楚ActiveMQ是如何进行存储和调度的,就需要首先说明JMS中和存储、调度有关的几个概念。它们是:消息收发模式(订阅-发布和负载均衡模式)、消息存储模式(持久化消息和非持久化消息)和订阅模型(持续订阅和非持续订阅)。1、订阅发布模式和负载均衡模式发布模式和负载均衡模式在ActiveMQ官方文档中的描述,他们的英文名称分别是Topics和Qu
2017-09-20 08:58:15
967
转载 ActiveMQ系列—ActiveMQ性能优化(上)(网络配置优化)
序:性能优化思路前面几篇文章中,主要介绍消息中间件ActiveMQ的安装和基本使用。从给出的安装配置和示例代码来看,我们既没有修改ActivieMQ服务节点的任何配置,也没有采用任何的集群方案。这种情况只适合各位读者熟悉ActiveMQ的工作原理和基本操作,但是如果要将ActivieMQ应用在生产环境下,上文中介绍的运行方式远远没有挖掘出它的潜在性能。系统的性能层次包括:代码级性能、规则性能、存储性
2017-09-20 08:32:55
8394
可复用的自定义BaseAdapter
2017-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人