分布式一致性协议 - 2PC, 3PC

在分布式系统中,每一个机器节点虽然都能明确的知道自己在事务操作中的结果是成功或失败,但无法直接获取其他节点的操作结果。因此在分布式环境中,为了保持事务的ACID特性,就需要增加一个“协调者”来管理其他节点(“参与者”)事务的提交和回滚。基于这个思想,衍生出二阶段提交和三阶段提交两种协议。

阅读全文

分布式事务之实现分布式系统的最终一致性

转载自: https://www.cnblogs.com/wudimanong/p/10558710.html

阅读全文

maven依赖本地jar包

项目情况

没有搭建私仓,多模块依赖的父子模块(工程),需要依赖提供商提供的jar包。期望:

  1. 在需要依赖该模块的模块下依赖,不将该jar影响其他模块

阅读全文

位运算-linux权限管理

Linux基于位运算的权限控制

Linux权限控制是基于位运算实现的。

在Linux权限系统中,读、写、执行权限分别对应三个状态位:

阅读全文

埋点-淘宝SPM流量跟踪体系

本文转载:https://www.biaodianfu.com/spm.html

什么是SPM

SPM是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的一套跟踪引导成交效果数据的解决方案。下面是一个跟踪点击到宝贝详情页的引导成交效果数据的SPM示例:http://detail.tmall.com/item.htm?id=3716461318&&spm=2014.123456789.1.2 其中spm=2014.123456789.1.2 便是下文所说的SPM编码。

阅读全文

dubbo番外篇-bug之【aop失效】

本文浅述:在使用dubbo时,spring aop失效问题。如果你也遇到该问题,先检查是否使用@Reference注入dubbo服务的。

场景还原

版本:我使用的dubbo版本是2.6.
场景:我想消费者在调用我的dubbo接口时,都将自己应用名传过来,方便我鉴权,所以我在我提供的二方包中,提供aop,想通过dubbo的附加参数,将应用名传过来。大致代码如下:

阅读全文

spring源码之IOC - 注解 - 注册指定bean定义

上一章总结到,AnnotationConfigApplicationContext提供两种方式注册bean,一是注册指定的bean,二是扫描指定的包。本章主要描述前者的过程。

注册指定的bean

AnnotatedBeanDefinitionReader.register()向容器注册指定bean。该方法完成整个过程的调用,其总结步骤如下

阅读全文

spring源码之IOC - 注解 - 扫描指定的包

AnnotationConfigApplicationContext另一种方式,可以直接传入所需扫描的包。该容器会将扫描该包及其子包下所有类,并通过默认的过滤器将配置了@Component、@Service等注解的类转换成BeanDefinition,并注册。

开始扫描

整体来说,扫描包跟注册指定bean,多了一个步骤就是:根据包扫描到BeanDefinition。后续两者相差不多。即:

阅读全文

spring源码之IOC - 注解 - 容器初始化

为了简化bean的配置,spring提供了注解方式,用来取代xml配置文件。在spring中管理注解的bean定义容器有两个:AnnotationConfigApplicationContext、AnnotationConfigWebApplicationContext,两者的用法以及对注解的处理几乎没有区别。这里以AnnotationConfigApplicationContext为例。

阅读全文

spring源码之IOC - xml - 注册BeanDefinition

在上面几章,描述了整个xml解析成BeanDefinition的过程。还剩余最后一个步骤就是向IOC中注册BeanDefinition。回到DefaultBeanDefinitionDocumentReader中,通过BeanDefinitionParserDelegate.parseBeanDefinitionElement()获得BeanDefinitionHolder,再会通过BeanDefinitionReaderUtils.registerBeanDefinition()将其注册。

阅读全文