Laurence的技术博客

// 风尘仆仆,终于归途

排序:
默认
按更新时间
按访问量

时间序列大数据平台建设经验谈

版权声明:本文由本人撰写并发表于2018年1月刊的《程序员》杂志,本文版权归《程序员》杂志所有,未经许可不得转载。 引言 在大数据的生态系统里,时间序列数据(Time Series Data,简称TSD)是很常见也是所占比例最大的一类数据,几乎出现在科学和工程的各个领域,一些常见的时间序列...

2018-02-07 10:37:25

阅读数:4251

评论数:2

命令模式:若只如“初见”

版权声明:本文由本人撰写并发表于InfoQ, 原文链接: http://www.infoq.com/cn/news/2018/01/Command-mode-if-only-first-see 似曾相识 最近在InfoQ上看到一篇谈论命令模式与CQRS架构的译文《From CQS to CQR...

2018-01-05 10:00:03

阅读数:327

评论数:0

从函数字面量发现函数式编程

版权声明:本文由本人撰写并发表于2015年3月下半月的《程序员》杂志,原文题目《从字面量发现函数式编程》,本文版权归《程序员》杂志所有,未经许可不得转载。 引言 我相信很多像我一样初次接触函数式编程的程序员来说,对于“函数字面量”这个概念会感到迷惑和不解。伴随着深入地学习,在清晰地理解了这个概...

2015-04-27 11:54:09

阅读数:8049

评论数:4

HBase高性能复杂条件查询引擎

版权声明:本文由本人撰写并发表于2014年7月份的InfoQ,HBase的PMC成员Ted Yu先生参与了审稿并于给予了肯定。该方案设计之初仅寄希望于通过二级索引提升查询性能,由于在前期架构时充分考虑了通用性以及对复杂条件的支持,在后来的演变中逐渐被剥离出来形成了一个通用的查询引擎。HBase在大...

2014-06-17 20:10:36

阅读数:34807

评论数:34

数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案

版权声明:本文由本人撰写并发表于2012年9月份的《程序员》杂志,原文题目《一种支持自由规划的Sharding扩容方案——主打无须数据迁移和修改路由代码》,此处作为本系列的第五篇文章进行转载, 本文版权归《程序员》杂志所有,未经许可不得转载!作为一种数据存储层面上的水平伸缩解决方案,数据库Shar...

2012-09-12 12:19:52

阅读数:60335

评论数:54

Spring基于ThreadLocal的“资源-事务”线程绑定设计的缘起

题目起的有些拗口了,简单说,这篇文章想要解释Spring为什么会选择使用ThreadLocal将资源和事务绑定到线程上,这背后有着什么样的起因和设计动机,通过分析帮助大家更清晰地认识Spring的线程绑定机制。本文原文链接:http://blog.csdn.net/bluishglc/articl...

2012-07-25 14:17:56

阅读数:23885

评论数:12

数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Shar...

2012-06-27 14:32:44

阅读数:160664

评论数:25

从MVC框架看MVC架构的设计

从MVC框架看MVC架构的设计尽管MVC早已不是什么新鲜话题了,但是从近些年一些优秀MVC框架的设计上,我们还是会发现MVC在架构设计上的一些新亮点。本文将对传统MVC架构中的一些弊病进行解读,了解一些优秀MVC框架是如何化解这些问题的,揭示其中所折射出的设计思想与设计理念。MVC回顾作为一种经典...

2011-08-16 09:57:37

阅读数:85062

评论数:85

领域驱动设计(Domain Driven Design)参考架构详解

领域驱动设计(Domain Driven Design)参考架构详解摘要本文将介绍领域驱动设计(Domain Driven Design)的官方参考架构,该架构分成了Interfaces、Applications和Domain三层以及包含各类基础设施的Infrastructure。本文会对架构中一...

2011-08-12 11:33:02

阅读数:48644

评论数:12

Spark性能调优系列二:Spark流计算重要性能参数测试与分析

参数介绍 spark.scheduler.mode spark.streaming.concurrentJobs scheduler线程池 测试用例 Test Case Group 1: FIFO vs. FAIR Test Case 1-1: FIFO Test Case 1-2: F...

2018-06-21 09:39:41

阅读数:257

评论数:1

Spark性能调优系列一:Spark的作业模型

Job Spark的整个作业体系中,处于顶层的是Job, Job和Spark中的Action是一一对应的,每一个Action都会触发一个Job的执行,这个Job包含的处理逻辑是Action以及Action之前的所有Transformation, 所有这些逻辑会被Spark转换成一张关于RDD的D...

2018-06-11 16:12:44

阅读数:106

评论数:0

Spark Structured Streaming多流multiple streams)多查询(multiple queryies)问题

Structured Streaming作为Spark新一代的流计算编程模型,针对流计算提供了很多新的的高级的API进行支持,这使得它比DStream要好用的多,同时编码量也大幅度地减少,但是在当前版本V2.3下, Structured Streaming无法支持 多流(multiple stre...

2018-06-08 09:56:32

阅读数:53

评论数:0

Flink初探

编程模型 应该说Flink的编程编程模型和Spark Streaming的DStream还是非常相似的,也是抽象出了Stream概念也表示没有边界的数据流,针对Stream所施加操作是被称之为”transformation”,它会把一个流转换成另一个流作为转换的输出。与很多流计算模型一样,流的起...

2018-05-25 10:05:25

阅读数:1908

评论数:3

《Spark Structured Streaming》 官方文档解读

模型思想 从Spark 2.0开始,Spark Streaming引入了一套新的流计算编程模型:Structured Streaming,开发这套API的主要动因是自Spark 2.0之后,以RDD为核心的API逐步升级到Dataset/DataFrame上,而另一方面,以RDD为基础的编程模型...

2018-05-23 17:33:16

阅读数:234

评论数:1

应该广泛使用case语句简化函数字面量的实现

这篇文章很短,但足以单独作为一篇文章存在,因为这里介绍的这个Scala编程技巧非常的实用和高效。 在Scala里我们需要大量地编写一些函数字面量作为参数传递给高阶函数,而很多时候,被要求提供的函数字面量的参数是一些复合类型,比如tuple,在函数字面量的实现体中,往往第一步就是通过模式匹配从复合...

2018-05-03 15:40:23

阅读数:196

评论数:0

谨慎使用Scala Map的mapValues, 你需要的可能是transform

没有踩过mapValues的坑之前,我相信大多数人会认为mapValues和所有其他map类方法的逻辑是一样的:对Map里所有的value施加一个map函数,返回一个新的Map。但实际情况却并不这么简单,还是先看一段“诡异”的代码吧 (本文原文出处: 本文原文链接: http://blog.csd...

2018-05-01 14:07:48

阅读数:276

评论数:0

MySQL常见问题与常用语句汇总

root用户初始登入与重置密码 允许root用户远程登入 为特定数据库创建特定用户并赋予权限 导出完整的数据库到SQL脚本包含schema和insert语句 执行SQl脚本 把MySQL中的一些常见问题与常用语句汇总一下,以备后查。 root用户初始登入与重置密码 初...

2018-02-24 11:18:59

阅读数:299

评论数:0

再谈Scala集合

集合!集合!一个现代语言平台上的程序员每天代码里用的最多的大概就是该语言上的集合类了,Scala的集合丰富而强大,至今无出其右者,所以这次再回过头再梳理一下。集合“族谱”还是先上张图吧,这是我找到的最好的一个关于Scala集合的图了,出自:http://lkumarjain.blogspot.co...

2017-12-14 14:01:05

阅读数:805

评论数:0

Pull模式下流计算频率与周期相关性的分析

本文讨论的话题有一些特定的背景,这里的“流计算”具体指的是以Spark Streaming为代表的Micro Batch一类的流式计算框架,因此会涉及到Batch Duration、Window以及Slide等概念。在架构层面上,数据流的走向是:数据采集组件以Pull的模式采集数据后推送给消息队列...

2017-11-06 11:50:51

阅读数:756

评论数:0

BlockingQueue在任务调度中的精彩应用

问题来了…我们正在构建的系统需要从外部第三方系统中采集数据,受不可控的外部环境的影响,我们的数据采集工作经常被阻塞,一种典型的情况是:某个目标数据库因为要同时处理多个外围系统叠加的查询请求而经常响应缓慢,从而导致我们的Job严重超时,而这个Job原有的设计是每5分钟执行一次,每次执行时会从目标数据...

2017-11-05 10:04:38

阅读数:1064

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭