- 博客(213)
- 资源 (6)
- 收藏
- 关注
原创 架构设计:系统存储(18)——Redis集群方案:高性能
从这篇文章开始我们一起来讨论Redis中两种高性能集群方案,并且在讨论过程中将上一篇文章介绍的高可用集群方案结合进去。这两种高性能集群方案是:Twemproxy和Redis自带的Cluster方案。
2016-12-31 11:05:39 10112 10
原创 架构设计:系统存储(17)——Redis集群方案:高可用
从本篇文章开始,我们将向读者介绍几种Redis的高可用高负载集群方案。除了介绍Redis 3.X版本中推荐的原生集群方案外,还会介绍使用第三方组件搭建Redis集群的方法。本文我们会首先介绍Redis的高可用集群方案。
2016-12-20 17:46:51 10948 10
原创 架构设计:系统存储(16)——Redis事件订阅和持久化存储
在本专题讨论Redis时,会首先花一些较少的篇幅介绍Redis的基本安装和使用,然后将深入Redis所支持的数据结构主要讲解Redis底层设计对这些数据结构的支撑,接下来会介绍Redis的主要配置优化事项,最后介绍Redis的集群搭建方式(基于3.X版本)和实施案例。
2016-12-13 11:14:49 12347 3
原创 架构设计:系统存储(15)——Redis基本概念和安装使用
在本专题讨论Redis时,会首先花一些较少的篇幅介绍Redis的基本安装和使用,然后将深入Redis所支持的数据结构主要讲解Redis底层设计对这些数据结构的支撑,接下来会介绍Redis的主要配置优化事项,最后介绍Redis的集群搭建方式(基于3.X版本)和实施案例。
2016-12-04 11:08:35 8700 10
原创 架构设计:系统存储(14)——MySQL横向拆分与业务透明化(2)
上文提到MyCat的逻辑表支持多种分片规则,表现于schema配置文件中中table标签的rule属性。本节将以MyCat Version 1.6版为基础,介绍几种经常使用的分片规则,这些分片规则都通过rule.xml文件进行定义和配置。
2016-11-29 18:15:51 6043 4
原创 架构设计:系统存储(13)——MySQL横向拆分与业务透明化(1)
之前文章中我们介绍了如何使用MyCat进行读写分离,类似的关系型数据库的读写分离存储方案可以在保持上层业务系统透明度的基础上满足70%业务系统的数据承载规模要求和性能要求。但是这个方案也有一个明显的问题,那就是它没有解决数据存储规模的瓶颈。如果单个节点上某个单表的数据规模超过了千万级,那么这个节点的读操作也会产生性能瓶颈。所以我们还需要进一步使用MyCat的分片技术对业务数据表进行横向拆分。
2016-11-29 18:12:13 6800 2
原创 架构设计:系统存储(12)——MySQL主从方案业务连接透明化(中)
如果数据库中单张数据表的规模达到了亿级(甚至以上),那么查询压力集中在一个读节点上也不会再有助于查询性能提升。所以在必要的情况下,我们还需要继续对上文给出的MySQL集群方案进行改进,让其能够适应更庞大的结构化数据规模。具体的思路就是在保持读写分离方案的基础上,对业务系统中结构化数据量达到或者超过亿级规模的若干张业务表进行拆分工作。本篇文章向读者介绍一个由国人开发并完全免费发布的数据库中间件,MyCat。
2016-11-10 16:37:42 11605 2
原创 架构设计:系统存储(11)——MySQL主从方案业务连接透明化(上)
在之前的文章中,我们提到MySQL一主多从集群模式下,对上层业务系统的访问带来了一些问题。本编文章中我们将深入分析这个问题,并介绍如何对这个问题进行改进。MySQL一主多从集群对上层业务系统带来的主要问题是,**上层业务系统需要自行控制本次MySQL数据操作需要访问MySQL集群中的哪个节点**。产生这个问题的主要原因,是因为**MySQL一主多从集群本身并没有提供现成功能,将集群中的节点打包成统一服务并向外提供**
2016-11-04 11:11:53 6928 9
原创 架构设计:系统存储(10)——MySQL简单主从方案及暴露的问题
从本篇文章开始我们将花一定的篇幅向读者介绍MySQL的各种服务集群的搭建方式。大致的讨论思路是从最简的MySQL主从方案开始介绍,通过这种方案的不足延伸出更复杂的集群方案,并介绍后者是如何针对这些不足进行改进的。MySQL的集群技术方案特别多,这几篇文章会选择一些典型的集群方案向读者进行介绍。
2016-10-31 11:12:29 22937 19
原创 西安大唐提车游记——感受古都容颜
最近一周都没有更新博客,甚至有几天都没有刷过博客。原因是本人修了一周年假,去西安提新车并且旅游了一番。作为一个千年屌丝,笔者经常到CSDN写点东西,那么旅游 + 提车这个事情肯定也是要写写滴,只不过这边文章肯定就不放技术板块了,放在综合板块。主文章是本人在汽车之家上发的,然后部分转载到CSDN我的博客中。
2016-10-23 15:26:53 4493 7
原创 架构设计:系统存储(9)——MySQL数据库性能优化(5)
为了帮助开发人员根据数据表中现有索引情况,了解自己编写的SQL的执行过程、优化SQL结构,MySQL提供了一套分析功能叫做SQL执行计划(explain)。本文我们就为大家介绍一下执行计划功能的使用。
2016-10-12 16:19:01 8752 6
原创 架构设计:系统存储(8)——MySQL数据库性能优化(4)
虽然锁机制是InnoDB引擎中为了保证事务性而自然存在的,在索引、表结构、配置参数一定的前提下,InnoDB引擎加锁过程是一样的,所以理论上来说也就**不存在“锁机制能够提升性能”这样的说法**。但理解InnoDB引擎中的锁机制可以帮助我们在高并发系统中尽可能不让锁和死锁成为数据库服务的一个性能瓶颈。
2016-10-07 16:51:37 7665 9
原创 架构设计:系统存储(7)——MySQL数据库性能优化(3)
MySQL数据库的性能不止受到性能参数和底层硬件条件的影响,在这两个条件一定的情况下,开发人员对SQL语句的优化能力更能影响MySQL数据库的性能。本文我们和读者一起来讨论一下InnoDB数据引擎下SQL语句常见的工作方式和优化规则。
2016-10-01 11:11:04 6742 10
原创 架构设计:系统存储(6)——MySQL数据库性能优化(2)
从本文开始我们将讨论建立在块存储方案之上的关系型数据库的性能优化方案和集群方案。关系型数据库的选型将以创业公司、互联网行业使用最广泛的MySQL数据为目标,但是MySQL的安装过程和基本使用方法等知识并不在我们讨论的范围内。后续几篇文章我们首先讨论影响单个MySQL节点性能的主要因素,然后介绍MySQL读写分离、数据表横纵拆分的原理和技术方案。
2016-09-18 18:12:11 7433 3
原创 架构设计:系统存储(5)——MySQL数据库性能优化(1)
从本文开始我们将讨论建立在块存储方案之上的关系型数据库的性能优化方案和集群方案。关系型数据库的选型将以创业公司、互联网行业使用最广泛的MySQL数据为目标,但是MySQL的安装过程和基本使用方法等知识并不在我们讨论的范围内。后续几篇文章我们首先讨论影响单个MySQL节点性能的主要因素,然后介绍MySQL读写分离、数据表横纵拆分的原理和技术方案。
2016-09-12 17:16:25 10827 4
原创 架构设计:系统存储(4)——块存储方案(4)
目前主流的文件系统包括windows下的NTFS文件系统、Linux下的EXT系列文件系统(管理规则已升级到EXT4)、XFS文件系统和Btrfs文件系统。由于本专题的知识体系全部基于Linux操作系统,所以我们不会对NTFS文件系统做过多介绍。在本文中我们主要介绍两种Linux下的文件系统:EXT系列文件系统。
2016-09-07 14:42:42 6237 4
原创 架构设计:系统存储(3)——块存储方案(3)
目前主流的文件系统包括windows下的NTFS文件系统、Linux下的EXT系列文件系统(管理规则已升级到EXT4)、XFS文件系统和Btrfs文件系统。由于本专题的知识体系全部基于Linux操作系统,所以我们不会对NTFS文件系统做过多介绍。在本文中我们主要介绍两种Linux下的文件系统:EXT系列文件系统和XFS文件系统。
2016-09-03 16:15:13 6954 8
原创 架构设计:系统存储(2)——块存储方案(2)
在“系统存储”专题中,我们将按照“从上至下”的顺序向读者介绍整个“系统存储”体系。在这个专题中我们将至少介绍机械硬盘的主要结构、硬盘阵列的分类、操作系统的EXT文件系统、NAS文件共享存储方案、分布式文件系统重要技术点和分布式文件系统示例。最后如果有时间我们将自行设计一款分布式文件系统。
2016-08-22 21:54:19 10948 3
原创 架构设计:系统存储(1)——块存储方案(1)
在“系统存储”专题中,我们将按照“从上至下”的顺序向读者介绍整个“系统存储”体系。在这个专题中我们将至少介绍机械硬盘的主要结构、硬盘阵列的分类、操作系统的EXT文件系统、NAS文件共享存储方案、分布式文件系统重要技术点和分布式文件系统示例。最后如果有时间我们将自行设计一款分布式文件系统。
2016-08-18 20:19:21 17680 15
原创 架构设计:系统间通信(45)——阶段性问题记录
到此为止 《架构设计:系统间通信》专题就暂时告一段落了。这边文章笔者用于暂时记录这个专题中还需要补充的内容,并在后续的整理中足一补上:
2016-08-11 20:31:54 9253 34
原创 架构设计:系统间通信(44)——自己动手设计ESB(5)
这是对本专题从第19篇文章到第39篇文章中所介绍的知识点的最好的总结。我们自己动手设计ESB中间件,不是为了让它商用,也不是为了让它可以比拟市面上某款ESB中间件,甚至不是为了把ESB中的技术难点的解决全部方案化。我们的目的是检验整个专题中所介绍的知识点是否能在读者自己消化后进行综合应用,是否能做到技术知识的活学活用、按需选型。
2016-08-11 20:02:18 6576 4
原创 架构设计:系统间通信(43)——自己动手设计ESB(4)
这是对本专题从第19篇文章到第39篇文章中所介绍的知识点的最好的总结。我们自己动手设计ESB中间件,不是为了让它商用,也不是为了让它可以比拟市面上某款ESB中间件,甚至不是为了把ESB中的技术难点的解决全部方案化。我们的目的是检验整个专题中所介绍的知识点是否能在读者自己消化后进行综合应用,是否能做到技术知识的活学活用、按需选型。
2016-08-07 08:21:33 6714 3
原创 架构设计:系统间通信(42)——自己动手设计ESB(3)
这是对本专题从第19篇文章到第39篇文章中所介绍的知识点的最好的总结。我们自己动手设计ESB中间件,不是为了让它商用,也不是为了让它可以比拟市面上某款ESB中间件,甚至不是为了把ESB中的技术难点的解决全部方案化。我们的目的是检验整个专题中所介绍的知识点是否能在读者自己消化后进行综合应用,是否能做到技术知识的活学活用、按需选型。
2016-07-28 15:44:48 8088 7
原创 架构设计:系统间通信(41)——自己动手设计ESB(2)
这是对本专题从第19篇文章到第39篇文章中所介绍的知识点的最好的总结。我们自己动手设计ESB中间件,不是为了让它商用,也不是为了让它可以比拟市面上某款ESB中间件,甚至不是为了把ESB中的技术难点的解决全部方案化。我们的目的是检验整个专题中所介绍的知识点是否能在读者自己消化后进行综合应用,是否能做到技术知识的活学活用、按需选型。
2016-07-26 20:55:53 9259 13
原创 架构设计:系统间通信(40)——自己动手设计ESB(1)
这是对本专题从第19篇文章到第39篇文章中所介绍的知识点的最好的总结。我们自己动手设计ESB中间件,不是为了让它商用,也不是为了让它可以比拟市面上某款ESB中间件,甚至不是为了把ESB中的技术难点的解决全部方案化。我们的目的是检验整个专题中所介绍的知识点是否能在读者自己消化后进行综合应用,是否能做到技术知识的活学活用、按需选型。
2016-07-21 12:37:40 17066 19
原创 架构设计:系统间通信(39)——Apache Camel快速入门(下2)
那么这里我们为什么又要花两篇文章的篇幅来介绍Apache Camel呢?因为后续文章中,在我们进行一款简单的ESB中间件设计时,我们将会依靠Apache Camel提供的协议转换、消息路由等核心能力。那么,就让我们开始吧!
2016-07-12 15:27:09 11120 7
原创 架构设计:系统间通信(38)——Apache Camel快速入门(下1)
那么这里我们为什么又要花两篇文章的篇幅来介绍Apache Camel呢?因为后续文章中,在我们进行一款简单的ESB中间件设计时,我们将会依靠Apache Camel提供的协议转换、消息路由等核心能力。那么,就让我们开始吧!
2016-07-04 08:33:22 17524 7
原创 架构设计:系统间通信(37)——Apache Camel快速入门(中)
那么这里我们为什么又要花两篇文章的篇幅来介绍Apache Camel呢?因为后续文章中,在我们进行一款简单的ESB中间件设计时,我们将会依靠Apache Camel提供的协议转换、消息路由等核心能力。那么,就让我们开始吧!
2016-06-27 15:45:55 19929 12
原创 架构设计:系统间通信(36)——Apache Camel快速入门(上)
那么这里我们为什么又要花两篇文章的篇幅来介绍Apache Camel呢?因为后续文章中,在我们进行一款简单的ESB中间件设计时,我们将会依靠Apache Camel提供的协议转换、消息路由等核心能力。那么,就让我们开始吧!
2016-06-21 11:04:27 68242 33
原创 架构设计:系统间通信(35)——被神化的ESB(下)
从本篇文章开始,我们将花一到两篇的篇幅介绍ESB(企业服务总线)技术的基本概念,为读者们理清多个和ESB技术有关名词。我们还将在其中为读者阐述什么情况下应该使用ESB技术。接下来,为了加深读者对ESB技术的直观理解,我们将利用Apache Camel一起搭建一个ESB技术的服务实现,虽然这个示例不能把目前主流的ESB服务实现中所有功能模块都保罗进来,但至少可以让读者看到ESB技术核心服务完整的工作方式。
2016-06-13 10:16:31 28600 24
原创 架构设计:系统间通信(34)——被神化的ESB(上)
从本篇文章开始,我们将花一到两篇的篇幅介绍ESB(企业服务总线)技术的基本概念,为读者们理清多个和ESB技术有关名词。我们还将在其中为读者阐述什么情况下应该使用ESB技术。接下来,为了加深读者对ESB技术的直观理解,我们将利用Apache Camel一起搭建一个ESB技术的服务实现,虽然这个示例不能把目前主流的ESB服务实现中所有功能模块都保罗进来,但至少可以让读者看到ESB技术核心服务完整的工作方式。
2016-06-07 11:20:15 61410 5
原创 架构设计:系统间通信(33)——其他消息中间件及场景应用(下3)
我们将通过包括本文章在内的2-3篇文章的篇幅,利用已经学习过的技术知识向大家介绍事件/日志收集系统的半侵入方案和非侵入式方案。当然中间还会穿插一些新技术的介绍,比如Apache Flume。
2016-05-31 14:49:37 18474 12
原创 架构设计:系统间通信(32)——其他消息中间件及场景应用(下2)
我们将通过包括本文章在内的2-3篇文章的篇幅,利用已经学习过的技术知识向大家介绍事件/日志收集系统的半侵入方案和非侵入式方案。当然中间还会穿插一些新技术的介绍,比如Apache Flume。
2016-05-24 17:37:08 20829 5
原创 架构设计:系统间通信(31)——其他消息中间件及场景应用(下1)
我们将通过包括本文章在内的2-3篇文章的篇幅,利用已经学习过的技术知识向大家介绍事件/日志收集系统的半侵入方案和非侵入式方案。当然中间还会穿插一些新技术的介绍,比如Apache Flume。
2016-05-19 13:45:40 25073 3
原创 架构设计:系统间通信(30)——Kafka及场景应用(中3)
在本月初的写作计划中,我本来只打算粗略介绍一下Kafka(同样是因为进度原因)。但是,最近有很多朋友要求我详细讲讲Kafka的设计和使用,另外两年前我在研究Kafka准备将其应用到生产环境时,由于没有仔细理解Kafka的设计结构所导致的问题最后也还没有进行交代。所以我决定即使耽误一些时间,也要将Kafka的原理和使用场景给读者详细讨论讨论。这样,也算是对两年来自己学习和使用Kafka的一个总结。
2016-05-08 14:16:12 12606 7
原创 架构设计:系统间通信(29)——Kafka及场景应用(中2)
在本月初的写作计划中,我本来只打算粗略介绍一下Kafka(同样是因为进度原因)。但是,最近有很多朋友要求我详细讲讲Kafka的设计和使用,另外两年前我在研究Kafka准备将其应用到生产环境时,由于没有仔细理解Kafka的设计结构所导致的问题最后也还没有进行交代。所以我决定即使耽误一些时间,也要将Kafka的原理和使用场景给读者详细讨论讨论。这样,也算是对两年来自己学习和使用Kafka的一个总结。
2016-05-06 12:17:15 19468 8
原创 架构设计:系统间通信(28)——Kafka及场景应用(中1)
在本月初的写作计划中,我本来只打算粗略介绍一下Kafka(同样是因为进度原因)。但是,最近有很多朋友要求我详细讲讲Kafka的设计和使用,另外两年前我在研究Kafka准备将其应用到生产环境时,由于没有仔细理解Kafka的设计结构所导致的问题最后也还没有进行交代。所以我决定即使耽误一些时间,也要将Kafka的原理和使用场景给读者详细讨论讨论。这样,也算是对两年来自己学习和使用Kafka的一个总结。
2016-05-02 20:52:58 22443 7
原创 架构设计:系统间通信(27)——其他消息中间件及场景应用(上)
目前业界有很多消息中间件可供大家选择,主要分为两类:需要付费的商业软件和开源共享的非商业软件。对于商业软件您和您的团队可以选择IBM WebSphere集成的MQ功能,也可以选择Oracle WebLogic集成的MQ功能。本文首先介绍除Apache ActiveMQ以外的两款开源共享的消息中间件产品,然后列举三个实际的业务常见,为读者介绍如何在这些实际业务中使用消息中间件解决问题。
2016-04-28 15:12:34 30959 8
原创 架构设计:系统间通信(26)——ActiveMQ集群方案(下)
通过之前的文章,我们讨论了ActiveMQ的基本使用,包括单个ActiveMQ服务节点的性能特征,关键调整参数;我们还介绍了单个ActiveMQ节点上三种不同的持久化存储方案,并讨论了这三种不同的持久化存储方案的配置和性能特点。但是这还远远不够,因为在生产环境中为了保证让我们设计的消息服务方案能够持续工作,我们还需要为消息中间件服务搭建集群环境,从而在保证消息中间件服务可靠性和处理性能。
2016-04-23 17:33:41 21772 15
基于业务抽象设计思想完成的Flink流式处理示例
2024-06-18
使用业务抽象思想设计的具有低耦合性的组织机构模块(示例)
2023-12-11
图片服务系统工程代码
2017-01-18
自己设计ESB组件的主要代码
2016-08-11
OASIS Advanced Message Queueing Protocol (AMQP) Version 1.0
2016-03-14
zookeeper + thrift实现的RPC 服务治理框架演示
2015-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人