摘要: Apache Doris 轻松入门和快速实践 Apache Doris是一个现代化的MPP分析型数据库产品,仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。 Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工作更加简单高效! Doris 的定位是面向在线报表和分析的数据仓库系统,可以对标于商业的MPP 数据仓库系统,比如Greenplum、Vertica、Teradata 等。 阅读全文
posted @ 2021-12-16 15:15 Rickie 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 一步一步编译最新版Apache Doris 0.15版本的详细过程 Apache Doris 于 2021 年 11 月 29 日迎来了 0.15.0 Release 版本的正式发布!有 99 位 Contributor 为 Apache Doris 提交了近 700 项优化和修复。在 0.15.0 Release 版本中,增加了诸多新功能,对 Apache Doris 的查询性能、易用性、稳定性方面等进行了全面优化。 本文将详细演示如何一步一步完成编译最新版Apache Doris 0.15版本。 阅读全文
posted @ 2021-12-04 13:36 Rickie 阅读(195) 评论(0) 推荐(0) 编辑
摘要: COLA 4.x和DDD项目实践精粹 本技术专栏在《COLA 4.x架构入门和项目实践》基础之上,对基于COLA架构的项目开发实践进行了提炼和总结;同时,针对其中的一些知识点进行扩展和延伸,包括COLA架构、CQRS模式、代码落地实践和建议规则、领域事件多种实现方式、聚合根工厂模式、MapStruct实体映射工具开发实践等等。 阅读全文
posted @ 2021-10-30 00:00 Rickie 阅读(470) 评论(2) 推荐(0) 编辑
摘要: 阿里开源COLA 4.0源码编译和部署过程 COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”。 目前COLA已经发展到COLA 4.0。关于COLA架构详细入门和示例应用项目,可以访问《COLA 4.x架构入门和项目实践》技术专栏。 阅读全文
posted @ 2021-10-16 19:13 Rickie 阅读(347) 评论(0) 推荐(0) 编辑
摘要: Java实体映射工具MapStruct 与BeanUtils性能比较 本文通过一个简单的示例代码,比较MapStruct和BeanUtils的性能数据,实测一下性能到底有多大的差距。关于MapStruct工具的详细介绍可以参考《Java实体映射工具MapStruct详解》技术专栏,提供完整示例项目代码下载。 阅读全文
posted @ 2021-10-04 15:17 Rickie 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 阿里DDD项目最佳实践-COLA 架构总览 《COLA 4.x架构入门和项目实践》技术专栏首先介绍了COLA框架的使用入门,以及与IDEA开发工具的集成等等;然后基于COLA架构,创建DDD经典示例项目-货物运输系统,详细介绍了DDD领域建模、适配层、应用层、领域层和基础设施层的代码开发、防腐层(ACL)设计与实现、领域事件(Domain Event)入门实践、以及基于Kafka消息中间件的消息发布和订阅等等。内容由浅入深,从开发实战出发,逐步掌握基于COLA架构和DDD领域建模思想构建复杂业务应用系统。 阅读全文
posted @ 2021-09-21 15:13 Rickie 阅读(622) 评论(0) 推荐(0) 编辑
摘要: Java实体映射工具MapStruct详解 在软件架构中,分层式结构是最常见,各层之间有其独立且隔离的业务逻辑,也因而各层有自己的输入输出对象,也就是代码中见到各种对象,如DO(Data Object)、DTO、Domain Entity(领域实体),这些数据对象之间通常都有很多相同或相近的属性对象,数据在传输的过程中从一个对象到另一个对象,就通常需要赋值,从最初的的getter/setter到后来的BeanUtils(减少了setter的代码量),再到现在的MapStruct。 阅读全文
posted @ 2021-09-20 12:30 Rickie 阅读(263) 评论(0) 推荐(0) 编辑
摘要: Martin Fowler大神 - 微服务、贫血模型、重构、敏捷开发方法论 Martin Fowler大神1963年出生在英格兰的沃尔索耳,并在94年移居到了美国。 而在软件开发领域,大名鼎鼎的敏捷开发方法论,就是他首创的。 除了被公认为全球知名的面向对象分析设计、UML、模式等方面的专家,现在还担任ThoughtWorks公司的首席科学家。 阅读全文
posted @ 2021-09-17 13:02 Rickie 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 领域模型的核心本质是什么? 在指导软件设计时,我们需要对业务知识进行提炼和精简,建立一个所谓的模型来指导设计开发。而 DDD 的真正价值就是在描述该如何建立这个能够指导开发的 "领域模型"。Domain-Driven Design 其实是一种简称,其真正想表达的是 Domain Model Driven Design,即领域模型驱动设计。 阅读全文
posted @ 2021-09-11 10:17 Rickie 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 基于阿里开源的COLA架构和DDD领域驱动设计构建货物运输系统 COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。 COLA既是框架,也是架构。COLA架构融合了常见的DDD代码模型,可以帮助开发人员快速实践并落地DDD领域建模的应用项目。 阅读全文
posted @ 2021-09-10 13:18 Rickie 阅读(728) 评论(0) 推荐(0) 编辑
摘要: Axon框架快速入门和DDD项目实践 Axon 框架是基于JVM平台的开源产品,由Allard Buijze于2009年创立。2017年7月,成立了一家独立公司AxonIQ,专门与Axon产品合作。 Axon 框架的程序遵循基于领域驱动设计(DDD)思想、命令查询职责分离 (CQRS)、事件驱动架构(Event Driven Architecture,EDA)的架构模式。这些原则的结合,使基于Axon的应用程序更加健壮、适应性更强。 阅读全文
posted @ 2021-08-19 21:32 Rickie 阅读(270) 评论(0) 推荐(0) 编辑
摘要: Java程序员的macOS手册 针对Java程序员而言,开发服务器端程序,程序的运行环境是Linux,在Mac OS X这个Unix上面开发,其实很方便。 本技术专栏帮忙Java程序员,搭建工作环境,如JDK、Maven、IntelliJ IDEA、Docker、虚机、以及各种常用工具等等,轻松体验在macOS上日常开发工作。 阅读全文
posted @ 2021-08-15 08:38 Rickie 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 推荐IntelliJ IDEA Rainbow Brackets 插件的安装与使用 针对于刚刚学习编程的同学来说,Java编程的过程中,会有很多的括号,而且括号还必须得成对出现,那么这个时候对于很多初学者来说,可能会经常出现多括号或者少括号的问题,而且当代码稍微复杂一点点的时候就更容易出现这种问题了,尤其是编程习惯不是很好的同学,没有严格的缩进,各种俄罗斯套娃式的括号简直让人心碎,那么这个时候如果出现了这些问题就是非常脑阔疼的。 针对这个问题,本文将介绍在IDEA开发工具中使用Rainbow Brackets 插件,也就是彩虹括号,各种鲜明颜色的括号。 阅读全文
posted @ 2021-08-13 18:58 Rickie 阅读(257) 评论(0) 推荐(0) 编辑
摘要: COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。 COLA既是架构,也是框架。COLA框架继承了DDD的设计思想。 阅读全文
posted @ 2021-08-11 23:23 Rickie 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 技术专栏首先介绍了COLA框架的使用入门,以及与IDEA开发工具的集成等等;然后基于COLA架构,创建DDD经典示例项目-货物运输系统,详细介绍了DDD领域建模、适配层、应用层、领域层和基础设施层的代码开发、防腐层(ACL)设计与实现、领域事件(Domain Event)入门实践、以及基于Kafka消息中间件的消息发布和订阅等等。内容由浅入深,从开发实战出发,逐步掌握基于COLA架构和DDD领域建模思想构建复杂业务应用系统。 阅读全文
posted @ 2021-08-07 15:38 Rickie 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 在领域驱动架构中,通常会将查询和命令操作分开,我们称之为CQRS(命令查询职责分离Command Query Responsibility Segregation)。这张图是来自Martin Fowler大师的文章CQRS(https://www.martinfowler.com/bliki/CQRS.html)。 上图中读模块Query Model和写模块Command Model只是逻辑分离,物理层面还是使用了同一个数据库。我们可以进一步将数据库改成读库和写库做到物理分离,这时候就需要同步读写库。 阅读全文
posted @ 2021-08-01 13:24 Rickie 阅读(239) 评论(0) 推荐(0) 编辑
摘要: COLA(Clean Object-oriented & Layered Architecture)架构是阿里团队自主研发的应用架构,目前已经开源( https://github.com/alibaba/COLA )。 在COLA的设计中,充分汲取了经典架构的优秀思想。除此之外,阿里补充了规范设计和扩展设计,并且使用Archetype的方式,将架构固化下来,以便可以快速地在开发中使用。 阅读全文
posted @ 2021-07-27 20:22 Rickie 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。它可以帮助你探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。 阅读全文
posted @ 2021-07-24 10:54 Rickie 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 什么是Spring Cloud Alibaba? 是阿里巴巴结合自身微服务实践,开源的微服务全家桶。在Spring Cloud项目中孵化,2019年8月1日在Alibaba仓库发布了第一个毕业版本。在国内已逐渐成为Spring Cloud第二代的标准实现。在业界广泛使用,已有很多成功案例。 阅读全文
posted @ 2021-07-22 08:45 Rickie 阅读(412) 评论(0) 推荐(0) 编辑
摘要: COLA 是 Clean Object-oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的DDD开源项目。COLA是一套用于帮助开发人员快速实践DDD落地的项目架构。目前COLA已经发展到COLA 4.0。 阅读全文
posted @ 2021-07-21 13:11 Rickie 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 基于COLA架构(Clean Object-oriented and Layered Architecture,整洁面向对象分层架构)和DDD(Domain Driven Design,领域驱动设计)思想,我们初步完成了包裹预订服务的开发,包括包裹预订和包裹查询服务等等。接下来,继续进行DDD经典项目的开发工作。本文将创建运输微服务routingms,该服务负责与货物路线相关的所有操作,包括获取路线的行程、维护航线(Maintain Voyages)等等。 阅读全文
posted @ 2021-07-13 13:20 Rickie 阅读(60) 评论(1) 推荐(0) 编辑
摘要: 在微服务(Microservices)架构实践中,架构设计借用了DDD中的一些概念和技术,比如一个微服务对应DDD中的一个限界上下文(Bounded Context);在微服务设计中应该首先识别出DDD中的聚合根(Aggregate Root);还有在微服务之间集成时采用DDD中的防腐层(Anti-Corruption Layer, ACL)。 本文介绍了防腐层相关的概念和应用场景。 阅读全文
posted @ 2021-07-10 11:26 Rickie 阅读(3863) 评论(1) 推荐(1) 编辑
摘要: CQRS(Command Query Responsibility Separation,命令查询职责分离)最早来自于Betrand Meyer(Eiffel语言之父,OCP提出者)提出的概念。其基本思想在于,任何一个对象的方法可以分为两大类: 命令(Command):不返回任何结果(void),但会改变对象的状态。 查询(Query):返回结果,但是不会改变对象的状态,对系统没有副作用。 阅读全文
posted @ 2021-07-04 11:34 Rickie 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 下图是2021 年 InfoQ 趋势报告:架构与设计,我们看看技术采用曲线图,可以分为5部分用户类型: 创新者(Innovators) 早期采用者(Early Adopters) 早期多数使用者(Early Majority) 晚期多数使用者(Late Majority) 后知后觉(图中没有显示的长尾部分) 阅读全文
posted @ 2021-06-30 11:04 Rickie 阅读(145) 评论(0) 推荐(0) 编辑
摘要: COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。 COLA既是框架,也是架构。COLA架构融合了常见的DDD代码模型,可以帮助开发人员快速实践并落地DDD领域建模的应用项目。 阅读全文
posted @ 2021-06-25 19:44 Rickie 阅读(1145) 评论(0) 推荐(0) 编辑
摘要: COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。 COLA既是框架,也是架构。COLA框架继承了DDD的设计思想。 阅读全文
posted @ 2021-06-22 17:40 Rickie 阅读(1360) 评论(0) 推荐(0) 编辑
摘要: Skywalking 是一个开源分布式追踪系统,用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。Skywalking提供了一种简单的方法,可以让你清晰的查看分布式系统、甚至是跨云环境中的数据。它更像是现代化APM(Application Performance Manager),专为云原生、基于容器和分布式系统而设计的。 阅读全文
posted @ 2019-10-30 21:26 Rickie 阅读(4953) 评论(0) 推荐(0) 编辑
摘要: doc_values - 默认情况下,大部分字段是索引的,这样让这些字段可被搜索。倒排索引(inverted index)允许查询请求在词项列表中查找搜索项(search term),并立即获得包含该词项的文档列表。 阅读全文
posted @ 2019-10-13 10:28 Rickie 阅读(3775) 评论(0) 推荐(0) 编辑
摘要: 国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。它可以帮助你探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。 阅读全文
posted @ 2019-10-10 16:02 Rickie 阅读(6625) 评论(1) 推荐(0) 编辑
摘要: 大数据的搜索平台已经成为了众多企业的标配,Elasticsearch、Splunk(商业上市公司)、Solr(Apache开源项目)是其中最为优秀和流行的选择。在2019.10 最新搜索引擎排名中,Elasticsearch仍然遥遥领先。 阅读全文
posted @ 2019-10-10 15:54 Rickie 阅读(487) 评论(0) 推荐(0) 编辑