• 等级
  • 175262 访问
  • 222 原创
  • 35 转发
  • 31149 排名
  • 36 评论
  • 55 获赞

分布式之数据库和缓存双写一致性方案解析

转自 https://maimai.cn/article/detail?fid=1057432698&efid=vnXzd0cl0pDwUW6f6iMpGA&from=single_feed为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据...

2019-01-25 13:43:38

开发者如何玩转 RocketMQ?附最全源码解读 【Remoting篇】

借用一句话“消息队列的本质在于消息的发送、存储和接收”。那么,对于一款消息队列来说,如何做到消息的高效发送与接收是重点和关键。前排友情提示:这是一篇很硬的干货。 RocketMQ中Remoting通信模块概览 RocketMQ消息队列的整体部署架构如下图所示: 先来说下RocketMQ消息队列集群中的几个角色: NameServer:在MQ集群中做的是...

2019-01-24 15:59:50

Dubbo 2.7背后的思考和实现方式

Dubbo2.7将围绕异步支持优化、元数据改造,引入JDK8的特性、Netty4.0的特性以及MetricsAPI5个方面提升服务调用和服务治理的效率,以及可扩展性,同时将修复社区提出的若干问题。据悉,2.7.x会作为Dubbo在Apache社区的毕业版本,Dubbo将有机会成为继RocketMQ后,来自阿里巴巴的又一个Apache顶级项目(TLP)。 优化对异步的支持...

2019-01-22 16:21:37

Mybatis multi database in spring boot 2

@ConfigurationpublicclassMybatisConfig{@MapperScan(basePackages="org.hongxi.whatsmars.boot.sample.mybatis.dao.user",sqlSessionTemplateRef="userSqlSessionTemplate")privateclassuse...

2019-01-09 16:25:22

rocketmq-spring-boot-starter使用指南

https://github.com/apache/rocketmq-spring.git针对官方starter修改点官方支持连接多个集群(订阅)(官方一个应用只能连接一个集群)顺序消息消费失败,可配重试次数(非顺序消息默认重试16次,每次时间延后)发送延时消息方法参数优化(魔法参数改为枚举)优化getMessageType方法,支持MyConsumerextendsAbs...

2019-01-09 16:24:02

dubbo-spring-boot-starter使用指南

https://github.com/apache/incubator-dubbo-spring-boot-project.gitdependencies<dependency><groupId>com.alibaba.boot</groupId>&a

2019-01-09 16:21:52

RocketMQ客户端简单封装

publicclassClientConfig{protectedStringnamesrvAddr=System.getProperty(MixAll.NAMESRV_ADDR_PROPERTY,System.getenv(MixAll.NAMESRV_ADDR_ENV));protectedStringinstanceName=System.ge...

2019-01-09 16:17:09

Redis客户端简单封装

publicclassShardedRedisClientimplementsFactoryBean<ShardedJedisPool>,InitializingBean,DisposableBean{privateShardedJedisPoolshardedJedisPool;privateJedisPoolConfigjedisPoo...

2019-01-08 23:13:26

Apache kafka原理与特性(0.8V)

https://shift-alt-ctrl.iteye.com/blog/1930345前言:kafka是一个轻量级的/分布式的/具备replication能力的日志采集组件,通常被集成到应用系统中,收集"用户行为日志"等,并可以使用各种消费终端(consumer)将消息转存到HDFS等其他结构化数据存储系统中.因为日志消息通常为文本数据,尺寸较小,且对实时性以及数据可靠性要求不严格,但是...

2018-12-19 22:27:34

RocketMQ消费失败消息深入分析

前言消息队列是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。由于每个消息队列都有它的优势和劣势,我们公司对于不同的场景使用了不同类型的消息队列。对于RocketMQ消费端存在消息消费失败的情况,通常有两种方式,一种是consumer端知道怎么...

2018-12-14 21:31:09

Java日志框架slf4j、jcl、jul、log4j1、log4j2、logback大总结

1系列目录jdk-logging、log4j、logback日志介绍及原理 commons-logging与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j与jdk-logging、log4j1、log4j2、logback的集成原理 slf4j、jcl、jul、log4j1、log4j2、logback大总结2各种jar包总结 log4...

2018-12-14 21:28:55

RocketMQ吐血总结

RocketMQ吐血总结架构 概念模型最基本的概念模型与扩展后段概念模型 存储模型 RocketMQ吐血总结UserGuideRocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求,在2016年底捐赠给Apache开源基金会成为孵化项目,经过不到一年时间正式成为了A...

2018-12-09 20:36:36

知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路

本文来自知乎官方技术团队的“知乎技术专栏”,感谢原作者陈鹏的无私分享。1、引言知乎存储平台团队基于开源Redis组件打造的知乎Redis平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能。本文作者陈鹏是该系统的负责人,本次文章深入介绍了该系统的方方面面,值得互联网后端程序员仔细研究。(本文同步发布于:http://www.52im.net...

2018-09-19 08:39:02

阿里云王牌架构师一问开发者:系统要改造成微服务吗

阿里云高级解决方案架构师杨旭世界最大混合云的总架构师,4年前,开始作为双11阿里云技术负责人,负责搭建全球最大的混合云结构,把“双11”的电商业务和技术场景在阿里云上实现,并保障这个混合云在双11当天能够满足全球客户的购物需求。正文:最近大家都在谈微服务,随着越来越多的在线业务需要提供更大并发的scale-up和scaleout能力,微服务确实提供了比较好分布式服务的解决方案...

2018-08-09 12:34:02

为什么很多人不愿意用hibernate了?

先说hibernate厉害在哪,然后再来说为啥享受hibernate这些便利会有问题。hibernate让你可以不写sql,这不单可以让你的应用更好移植到其他数据库,更主要是让程序员可以更专注与业务逻辑,更关注于数据和数据、对象和对象之间的关系。hibernate对一对多,多对多关系实现的是非常好的。很关键的一点,它支持lazy,可以让你的数据只在需要的时候被load,听起来非常美是不是?hibe...

2018-06-24 11:49:53

在阿里,我们如何管理代码分支?

引言在阿里内部,流行着许多有意思的工程实践。有些实践通过工具和流程嵌在集团的大环境里,外界不容易复制,有些实践则是流露在大家的日常习惯里,被默默的遵守。比如分支管理这件事,其实属于工具和习惯各占一半,并且颇有阿里特色的成分,适合作为一个例子。阿里有很多的研发团队,不同事业部使用的发布流程、分支策略并非整齐划一,但总体上看是比较规整的。其中有一种主流的发布模式以及对应的分支使用方式,称为“AoneF...

2018-04-14 10:42:59

浅析IO模型

也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入JavaNIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr...

2018-03-23 14:50:53

微博CacheService架构浅析

http://www.infoq.com/cn/articles/weibo-cacheservice-architecture/微博作为国内最大的社交媒体网站之一,每天承载着亿万用户的服务请求,这些请求的背后,需要消耗着巨大的计算、内存、网络、I/O等资源。而且因为微博的产品特性,节假日、热门事件等可能带来突发数倍甚至十几倍的访问峰值,这些都对于支撑微博的底层基础架构提出了比较严苛的要求,需要满...

2018-03-23 14:48:35

ActiveMQ与虚拟通道

郑重提示,本文转载自http://shift-alt-ctrl.iteye.com/blog/2065436 ActiveMQ提供了虚拟通道的特性(VirtualDestination),它允许一个逻辑通道(logicaldestination)映射成一个或者多个物理通道(physicaldestination);它可以非常灵活的解决"消息整合"方面的问题,它可以实现:  1...

2018-03-23 14:43:18

RabbitMQ基础概念详细介绍

你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ简介AMQP,即Ad...

2018-03-23 14:41:17

javahongxi

Java生态研究 hongxi.org
关注
  • 互联网·电子商务/Java工程师
  • 中国 北京 昌平区
奖章
  • 持之以恒