Resilience4j 介绍(一)

(1). Resilience4j是什么? Resilience4j是一款轻量级,易于使用的容错库,其灵感来自于Netflix Hystrix,但是专为Java 8和函数式编程而设计.轻量级,因为库只使用了Vavr,它没有任何其他外部依赖下.相...

Resilience4j Circuit Breaker使用案例(二)

(1). 简介 Circuit Breaker通过具有三种正常状态的有限状态机来实现:CLOSED,OPEN和HALF_OPEN以及两个特殊状态:DISABLED和FORCED_OPEN. 当熔断器关闭(close)时,所有的请求都会通过熔断器...

JasperReport 介绍(一)

(1). JasperReport是什么? JasperReport是一个强大、灵活的”报表生成工具”,能够展示丰富的页面内容,并将之转换成PDF/HTML/XML格式.该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE We...

JasperReport 简单案例:alterdesign学习(五)

(1). 前言 前面的map案例太复杂了,在这里选一个简单的案例(alterdesign),顺便可以对:JasperSoft Studio CE有一个简单的了解.

JasperReport 源码案例(Map)学习(四)

(1). 前言 这一小节,主要对前面导入的Map工程(JasperReport提供的案例工程),进行一个学习.

JasperReport 生命周期(三)

(1). JasperReport生命周期 在看JasperReport提供的案例源码前,需要先看下:JasperReport的生命周期.否则,无法理解为什么要这样做.

JasperReport 源码(demo)导入Eclipse(二)

(1). JasperReport如何入门 一个优秀的开源框架,在源码里,包含着大量的测试代码.我们可以通过测试代码入门.

JavaCC 安装(一)

(1). JavaCC介绍 在看Calcite时,有看到使用了JavaCC,所以,得先放下手里的Caclite,那么,什么是JavaCC呢?JavaCC是一个能生成词法和语法的分析器的生成程序.词法分析器,就是对一串文本进行拆分,转换成一系列的...

JavaCC 加法运算(二)

(1). 前言 这一小节,主要是通过一个加法运算来入门.

Calcite 通过SQL读取ES案例入门(三)

(1). 前言 想实现这样的功能,通过编写SQL,即可实现对ES文档进行检索.

Calcite ES源码深入(五)

(1). 概述 在这一小节,部析Calcite是如何通过SQL检索ES的过程.

Calcite 通过SQL读取CSV案例入门(二)

(1). 前言 在这里,以官网CSV为案例,进行一个简单的入门.

Calcite CSV源码深入FilterableTable(四)

(1). 概述 在这一小节,部析Calcite是如何通过SQL检索CSV的过程.

Calcite Driver是如何向DriverManager进行注册的(一)

(1). 概述 前面通过SQL可以读取CSV文件,那么,现在开始对源码进行分析.入口自然是:DriverManager,凭什么,我通过SQL就能对CSV进行Query?

Calcite Statement执行SQL(三)

(1). 概述 跳过跟踪:Statement创建的过程,我们直接看:Statement.executeQuery(“select * from EMPS”),是如何做的.Calcite对Statement的实现类是:CalciteJdbc41S...

Calcite 通过DriverManager获取Connection过程(二)

(1). 概述 在这里,主要剖析:DriverManager.getConnection(“jdbc:calcite:”, info)方法的内部实现.

Lily HBase Indexer(一)

(1). Lily HBase Indexer是什么? Lily HBase Indexer是由NGDATA公司开发,用于近实时的同步:HBase的数据到Solr中. 当HBase执行写入/更新/删除操作时,Indexer通过HBase的Rep...

HBase + Phoenix搭配(五)

(1). 下载Phoenix对应的版本 我的Hbase版本是1.4.13,所以下载:4.16.0

HBase HRegionServer(二)

(1). 概述 我只关心WAL的复制功能,所以,只挑部份源码查看.

HBase 基本操作(三)

(1). 创建表和列簇 需要注意:HBase在创建表时与传统关系型数据不同,传统关系型数据库在创建表时,必须要指定相关的属性,而HBase在创建表时,只需要指定列簇(而且列簇是必须要存在的),元数据信息也是在列簇上配置的. 其实,可以把列簇理...

HBase 伪集群搭建(二)

(1). 概述 Hadoop的安装,请翻看前面的内容,在这里我用的:Hbase-1.4.13(与Hadoop-2.7.5对应).

HBase内部结构详解(六)

(1). HBase架构图

HBase Java API基本操作(四)

(1). 前言 前面对HBase Shell进行了学习,这一小篇,主要讲解Java API.

独立租户部署Saas系统,成本节约解决方案

(1). 需求 随着微服务的流行,我们会根据业务逻辑的关系,对微服务进行拆分,最终一套Saas系统可能会存在上百个微服务进程,物理机器的数量可能达到了几十台,甚至可能上百台. 如果Saas系统中某个租户,需要一套独立的部署,应该怎么办?有两...

Compileflow 简介与Ktv案例(一)

(1). Compileflow是什么? Compileflow Process引擎是淘宝工作流TBBPM引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成java代码编译执行,简洁高效.Compileflow会识别XML,...

Compileflow Compiler生成Java源码(二)

(0). 概述 前面对Compileflow有了一个入门,也说到它的核心原理,以及优缺点,这一小节,对优缺点进行难证(验证:流程图的改变,会触发ClassLoader进行热加载).

OpenSSH 入门

(1). OpenSSH是什么? OpenSSH是SSH(Secure SHell)协议的免费开源实现.说明白一点就是:我们平时用SSH登录Linux时,所使用的一套开源协议. 它能做什么?比如:堡垒机/远程SH调用… (2). 引入依赖

Liquibase 简介(一)

(1). Liquibase是什么? Liquibase是一个用于跟踪,管理和应用数据库变化的开源的数据库重构工具.它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制.我来说几个痛点: 在发版时,DBA需要每个S...

Liquibase Sharding-jdbc整合实现物理表的创建(三)

(1). 概述 先描述下问题,当使用Shardin-jdbc之后,从开发的视角,只有虚拟表了,那如何让Liquibase根据虚拟表信息,生成物理表呢?在这里我只聊下大概思路: 获得Sharding-jdbc代理的DataSource(...

Liquibase Hello World(二)

(1). 概述 在这里,先搭个Hello World.步骤如下: 编写xml文件(Liquibase内部会根据XML转换成SQL文件). 建库. 让Liquibase在刚建的库里,根据XML创建表. 注意事项:Liq...