前言 在之前的系列中,我们讲解了关于Seata基本介绍和实际应用,今天带来的这篇,就给大家分析一下Seata的源码是如何一步一步实现的.读源码的时候我们需要俯瞰起全貌,不要去扣一个一个的细节,这样我们学习起来会快捷而且有效率,我们学习源码需要掌握的是整体思路和核心点. 首先 Seata 客户端启动一般分为以下几个流程: 自动加载Bean属性和配置信息 初始化TM 初始化RM 初始化分布式事务客户端完成,完成代理数据库配置 连接TC(Seata服务端),注册RM和TM 开启全局事务 在这篇源码的讲…
大家好,我是肖邦,这是我的第 10 篇原创文章. 在 Linux 系统使用中,作为一个管理员,我希望能查找系统中所有的大小超过 200M 文件,查看近 7 天系统中哪些文件被修改过,找出所有子目录中的可执行文件,这些任务需求 find 命令都可以轻松胜任. 在 Linux 系统文件中常用的属性可以分为以下内容:名称.大小.权限.属主.修改时间.访问时间等,find 命令可以按照指定的属性为条件进行查找. 废话不多,直接开干,下边进入案例实战. 案例实战 (一)按文件名称查找 按照文件名称查找是…
在上一篇我们对CoreCLR中的JIT有了一个基础的了解, 这一篇我们将更详细分析JIT的实现. JIT的实现代码主要在https://github.com/dotnet/coreclr/tree/master/src/jit下, 要对一个的函数的JIT过程进行详细分析, 最好的办法是查看JitDump. 查看JitDump需要自己编译一个Debug版本的CoreCLR, windows可以看这里, linux可以看这里, 编译完以后定义环境变量COMPlus_JitDump=Main, Mai…
本文整理自Unity全球官方网站,原文:UNITY 5 - LIGHTING AND RENDERING (文章较长,请耐心阅读)简介全局光照,简称GI,是一个用来模拟光的互动和反弹等复杂行为的算法,要精确的仿真全局光照非常有挑战性,付出的代价也高,正因为如此,现代游戏会先一定程度的预先处理这些计算,而非游戏执行时实时运算. 同一场景里:没有照明(左),只有直接光源(中),和有间接光源的全局光照(右)的表现,注意颜色如何在不同的表面进行光的”反弹”,产生更真实的结果. 在本文中,我们会描述全局光…
前几天,栈长分享了 <Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!>,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说明. Spring Boot 的配置参考Java技术栈微信公众号往期 Spring Boot 系列文章,在公众号后台回复:boot.这篇只针对 Spring Cloud Eureka 常用到的配置进行解释. Spring Cloud Eureka 主要分为下面三个模块的参数: Eureka Server Eu…
转载:https://www.jianshu.com/p/b0b19368e4a8 在软件开发行业,管理文档是件头疼的事.不是文档难于撰写,而是文档难于维护,因为需求与代码会经常变动,尤其在采用敏捷软件开发模式的系统中.好的工具能够提高团队沟通效率,保证系统质量以及缩短项目的交付周期.反之,差的管理工具,会严重影响沟通效率,增加系统bug数量,并且延误产品的上线日期.所以选用合理与合适的软件开发文档管理工具十分重要,真正让开发者做到“高高兴兴地把活干完,早点回家吃饭打游戏”. Swagger是什…
https://mp.weixin.qq.com/s/67NvEVljnU-0-6rb7MWpGw 分布式事务 Seata Saga 模式首秀以及三种模式详解 | Meetup#3 回顾 原创 蚂蚁金服 屹远 金融级分布式架构 2019-08-15   分布式事务 Seata Saga 模式首秀以及三种模式详解 | Meetup#3 回顾 原创 蚂蚁金服 屹远 金融级分布式架构 2019-08-15…
目录 前言 项目版本 项目说明 Seata服务端部署 Seata客户端集成 cloud-web module-order module-cart module-goods module-wallet 表结构说明 参考资料 系列文章 前言 单体应用被拆分成各个独立的业务模块后,就不得不要去面对分布式事务,好在阿里已经开源分布式事务组件Seata,虽还在迭代中,难免会有bug产生,但随着社区发展及反馈,相信终究会越来越稳定,话不多说让我们开始吧. 项目版本 spring-boot.version:2…
本文借鉴官文,添加了一些解释和看法,其中有些理解,写的比较粗糙,有问题的地方希望大家指出.写这篇文章,是想把一些官文和资料中基础.重点拿出来,能总结出便于大家理解的话语.与大多数“wordcount”代码不同的是,并不会有如何运行第一storm代码等内容,只有在运行完代码后,发现需要明白:“知其然,并知其所以然”.   Storm是什么?为什么要用Storm?为什么不用Spark?   第一个问题,以下概念足以解释: Storm是基于数据流的实时处理系统,提供了大吞吐量的实时计算能力.通过数据入…
我们在前文中已经介绍了SpringAOP的切面实现和创建动态代理的过程,那么动态代理是如何工作的呢?本文主要介绍Cglib动态代理的案例和SpringAOP实现的原理.@pdai Spring框架系列(11) - Spring AOP实现原理详解之Cglib代理实现 引入 动态代理要解决什么问题? 什么是代理? 什么是动态代理? 什么是Cglib? SpringAOP和Cglib是什么关系? Cglib代理的案例 pom包依赖 定义实体 被代理的类 cglib代理 使用代理 简单测试 Cglib…