MongoDB部署架构之三:Sharding
摘要:《MongoDB部署架构之二:MongoDB复制集》 《MongoDB部署架构之三:Sharding》 1MongoDB常见部署架构 1.1单复制集 1.2复制集 1.3分片集群 2 MongoDB分片介绍 2.1 分片的目的 2.2 MongoDB几个基本概念 2.3 分片设计思想 2.3.1合理
阅读全文
posted @
2019-04-18 15:54
duanxz
阅读(32482)
推荐(7) 编辑
SpringCloud之个性化日志追踪
摘要:方案背景日志跟踪技术使得查找一次调用所产生的日志信息变得方便。当需要排查一些问题时,可以根据报错的上下文进行分析,给问题诊断带来方便。在spring cloud微服务中,单体应用的日志跟踪技术已经不能满足需求,因而一般采用Spring Cloud Sleuth组件提供的功能来完成分布式日志跟踪。Sp
阅读全文
posted @
2017-12-07 10:45
duanxz
阅读(7044)
推荐(0) 编辑
分布式系统的一致性探讨
摘要:一、分布式系统的概念、分布式系统的特点、常用的分布式方案 1.1、集中式系统 在学习分布式之前,先了解一下与之相对应的集中式系统是什么样的。 集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存储等全部在主机上进行。现在的银行系统,大部分都是这种集
阅读全文
posted @
2017-11-27 18:25
duanxz
阅读(2937)
推荐(0) 编辑
【转】微服务架构下的数据一致性保证(二):可靠事件模式
摘要:在第一篇分享中我们介绍了可靠事件模式属于事件驱动架构,微服务完成业务操作后向消息代理发布事件,关联的微服务从消息代理订阅到该事件从而完成相应的业务操作。 我们还强调了实现可靠事件模式的关键在于:可靠事件投递和避免事件重复消费。 可靠事件投递定义为: (a)每个服务原子性的完成业务操作和发布事件 (b
阅读全文
posted @
2017-11-21 15:52
duanxz
阅读(2108)
推荐(0) 编辑
【转】微服务架构下的数据一致性保证(一)
摘要:今天分享第一篇,主要内容包括: 1.传统使用本地事务和分布式事务保证一致性。 2.传统分布式事务不是微服务中一致性的最佳选择。 3.微服务架构中应满足数据最终一致性原则。 4.微服务架构实现最终一致性的三种模式。 5.对账是最后的终极防线。 一、传统使用本地事务和分布式事务保证一致性 传统单机应用一
阅读全文
posted @
2017-11-21 15:52
duanxz
阅读(13608)
推荐(5) 编辑
【转】微服务架构下的数据一致性保证(三):补偿模式
摘要:在第一篇分享中介绍了微服务架构应满足数据最终一致性,并简要介绍了最终一致性的三种模式:可靠事件模式、补偿模式、TCC模式。 在第二篇分享中深入可靠事件模式,讲述了可靠事件投递和幂等性的实现方式和需要注意的问题。 在今天的第三篇分享中来谈谈补偿模式和TCC模式,主要从三个方面来谈。 实现补偿模式的关键
阅读全文
posted @
2017-11-21 15:52
duanxz
阅读(1814)
推荐(0) 编辑
服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁
摘要:一、基于key/value实现 我们在构建分布式系统的时候,经常需要控制对共享资源的互斥访问。这个时候我们就涉及到分布式锁(也称为全局锁)的实现,基于目前的各种工具,我们已经有了大量的实现方式,比如:基于Redis的实现、基于Zookeeper的实现。本文将介绍一种基于Consul 的Key/Val
阅读全文
posted @
2017-06-17 18:15
duanxz
阅读(5762)
推荐(0) 编辑
RocketMQ之一:RocketMQ整体介绍
摘要:常用MQ介绍及对比--《MQ详解及四大MQ比较》 RocketMQ环境搭建--《RocketMQ之三:RocketMQ集群环境搭建》 RocketMQ物理部署结构 RocketMQ的消息存储--《RocketMQ之六:RocketMQ消息存储》 RocketMQ各角色基本数据结构 RocketMQ生
阅读全文
posted @
2017-01-10 22:59
duanxz
阅读(10763)
推荐(8) 编辑
RocketMQ之二:分布式开放消息系统RocketMQ的原理与实践(消息的顺序问题、重复问题、可靠消息/事务消息)
摘要:分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了三个问题: RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实
阅读全文
posted @
2016-11-11 11:21
duanxz
阅读(4763)
推荐(1) 编辑
通过 Spring Session 实现新一代的 Session 管理
摘要:长期以来,session 管理就是企业级 Java 中的一部分,以致于我们潜意识就认为它是已经解决的问题,在最近的记忆中,我们没有看到这个领域有很大的革新。 但是,现代的趋势是微服务以及可水平扩展的原生云应用(cloud native application),它们会挑战过去 20 多年来我们设计和
阅读全文
posted @
2016-04-24 22:10
duanxz
阅读(7998)
推荐(0) 编辑
分布式计算概念一览
摘要:一、通信中间件 1、RPC RPC(Remote Procedure Call Protocol)——远程过程调用协议,它将“本地过程调用”的概念运用到分布式应用程序中。它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为
阅读全文
posted @
2016-04-12 11:15
duanxz
阅读(1148)
推荐(0) 编辑
RPC介绍
摘要:转载http://blog.csdn.net/mindfloating/article/details/39474123/ 近几年的项目中,服务化和微服务化渐渐成为中大型分布式系统架构的主流方式,而 RPC 在其中扮演着关键的作用。在平时的日常开发中我们都在隐式或显式的使用 RPC,一些刚入行的程序
阅读全文
posted @
2016-03-28 15:15
duanxz
阅读(6903)
推荐(1) 编辑
数据库间的一致性:数据库冗余表数据一致性
摘要:本文主要讨论四个问题: (1)为什么会有冗余表的需求 (2)如何实现冗余表 (3)正反冗余表谁先执行 (4)冗余表如何保证数据的一致性 一、需求缘起 互联网很多业务场景的数据量很大,此时数据库架构要进行水平切分,水平切分会有一个patition key,通过patition key的查询能够直接定位
阅读全文
posted @
2016-03-18 14:47
duanxz
阅读(2963)
推荐(0) 编辑
CAP原则(CAP定理)、BASE理论
摘要:一、CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 CAP原则是NOSQL数据库的基石。 分布式系统的CAP理论:理论首先把分布式系统中的三
阅读全文
posted @
2016-02-29 23:17
duanxz
阅读(116420)
推荐(28) 编辑
分布式事务之:TCC (Try-Confirm-Cancel) 模式
摘要:在当前如火如荼的互联网浪潮下,如何应对海量数据、高并发成为大家面临的普遍难题。广大IT公司从以往的集中式网站架构,纷纷转向分布式的网站架构,随之而来的就是进行数据库拆分和应用拆分,如何在跨数据库、跨应用保证数据操作和业务操作的一致性、原子性,又成为需要解决的新的问题。从分布式事务的需求来源来看:1、
阅读全文
posted @
2016-02-29 09:04
duanxz
阅读(7292)
推荐(0) 编辑
分布式事务之:TCC几个框架的测试情况记录
摘要:国内主要的开源TCC分布式事务框架包括 TCC 实现框架的压力测试记录见《TCC 几个框架的测试情况记录》
阅读全文
posted @
2016-02-28 23:08
duanxz
阅读(1182)
推荐(0) 编辑
mysql 数据库 自动截取数据的问题---mysql的sql_model的四种模式:宽松模式、严格模式
摘要:mysql支持的sql_mode模式:ANSI、TRADITIONAL、STRICT_ALL_TABLES和STRICT_TRANS_TABLES。 ANSI模式:宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告。 TRADITIONAL模式:严
阅读全文
posted @
2016-01-24 00:23
duanxz
阅读(3323)
推荐(1) 编辑
让memcached分布式
摘要:memcached是应用最广的开源cache产品,它本身不提供分布式的解决方案,我猜想一方面它想尽量保持产品简单高效,另一方面cache的key-value的特性使得让memcached分布式起来比较简单。memcached的分布式主要在于客户端,通过客户端的路由处理来搭建memcached集群环境
阅读全文
posted @
2016-01-21 18:33
duanxz
阅读(693)
推荐(0) 编辑
分布式缓存系统 Memcached slab和item的主要操作
摘要:上节在分析slab内存管理机制时分析Memcached整个Item存储系统的初始化过程slabs_init()函数:分配slabclass数组空间,到最后将各slab划分为各种级别大小的空闲item并挂载到对应大小slab的空闲链表slots上。本节将继续分析对slab和item的主要操作过程。 s
阅读全文
posted @
2016-01-17 23:42
duanxz
阅读(638)
推荐(0) 编辑
RocketMQ总结
摘要:架构 概念模型最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结User GuideRocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在2016年底捐赠给Apache开源基金会成为孵化项目,经过不到一年
阅读全文
posted @
2016-01-12 16:16
duanxz
阅读(762)
推荐(0) 编辑