tcc分布式事务框架解析

tcc分布式事务框架解析

前言碎语 楼主之前推荐过2pc的分布式事务框架LCN。今天来详细聊聊TCC事务协议。 tcc实现: https://github.com/yu199195/hmily 首先我们了解下什么是tcc,如下图 tcc分布式事务协议控制整体业务事务分为三个阶段。 try:执行业务逻辑 confirm:确定业务逻辑执行无误后,确定业务逻辑执行完成 cancel:假如try阶段有问题,执行cancel阶段逻辑,取消try阶段的数据 这就需要我们在设计业务时,在try阶段...

阅读全文 »

skywalking docker镜像构建k8s部署

skywalking docker镜像构建k8s部署

前言碎语 skywalking是个非常不错的apm产品,但是在使用过程中有个非常蛋疼的问题,在基于es的存储情况下,es的数据一有问题,就会导致整个skywalking web ui服务不可用,然后需要agent端一个服务一个服务的停用,然后服务重新部署后好,全部走一遍。这种问题同样也会存在skywalking的版本升级迭代中。而且apm 这种过程数据是允许丢弃的,默认skywalking中关于trace的数据记录只保存了90分钟...

阅读全文 »

内部分享系列-大白话docker镜像

内部分享系列-大白话docker镜像

前言碎语 这篇博文是博主在公司内推进docker+k8s落地时的部分内容。目的是为了让公司内的开发不管有没有接触过docker这个技术,都能准确的了解docker是什么,怎么打出符合自己项目需要docker镜像,最终交付给容器环境运行。 前言:非常重要 今天分享的内容主要以实际改造为主,剖开docker的神秘面纱,力求让大家都知道docker是什么,怎么打dcoker镜像,docker这块是开发必须要了解的,...

阅读全文 »

使用GoogleContainerTools/jib构建docker镜像

使用GoogleContainerTools/jib构建docker镜像

前言碎语 今天分享一个在容器化过程中非常重要的一个工具,java应用docker镜像build工具jib,这个工具是谷歌团队研发开源的,特点是不依赖docker守护进程,直白点说就是本地环境不安装docker环境也可以打包docker镜像。不用依赖维护Dockerfile,而且基于java打包插件可以轻松嵌入到java本身的构建生命周期中(本文使用maven)。可以说是java容器化构建利器 项目地址: https://github.com/GoogleContai...

阅读全文 »

从零开始趟jenkins+docker+k8s的容器化之路

从零开始趟jenkins+docker+k8s的容器化之路

前言碎语 基于kubernetes容器化技术架构能够带来诸多好处,诸如,弹性伸缩,自动修复等,在比如蓝绿部署,灰度发布等。近几年容器化技术飞速发展,了解服务网格 的人可能会发现,新兴技术 istio 等service mesh技术没有容器化的技术环境根本就没法实践。本篇博文不是详细介绍容器技术的,而是具体的实践。 此篇博文分为两个阶段,分别是ci,cd。包含三部分内容,分别是jenkins,docker...

阅读全文 »

Disruptor-高性能线程消息传递框架

Disruptor-高性能线程消息传递框架

前言碎语 Disruptor是英国 LMAX公司开源的 高性能的线程间传递消息的并发框架,和jdk中的BlockingQueue非常类似,但是性能却是 BlockingQueue不能比拟的,下面是官方给出的一分测试报告,可以直观的看出两者的性能区别: Disruptor 项目地址: https://github.com/LMAX-Exchange/disruptor 核心概念? 这么性能炸裂的框架肯定要把玩一番,试用前,我们先了解下disruptor的主要的概念,然后结合楼主的weblog项...

阅读全文 »

基于redis,redisson的延迟队列实践

基于redis,redisson的延迟队列实践

前言碎语 首先说明下需求,一个用户中心产品,用户在试用产品有三天的期限,三天到期后准时准点通知用户,试用产品到期了。这个需求如果不是准时通知,而是每天定点通知就简单了。如果需要准时通知就只能上延迟队列了。使用场景除了如上,典型的业务场景还有电商中的延时未支付订单失效等等。 延迟队列有很多种实现方式,普遍会采用如下等方式,如: 1.如基于RabbitMQ的队...

阅读全文 »