loredp的博客

一切都是浮云,唯有技术

小规模的流处理框架.Part 1: thread pools

原文链接 作者:Tomasz Nurkiewicz 译者:simonwang (译者:强力推荐这篇文章,作者设计了一个用于小流量的流式数据处理框架,并详细给出了每一个需要注意的设计细节,对比了不同设计方案的优缺点,能够让你对流处理过程,某些设计模式和设计原则以及指标度量工具有一个更深刻的认识!)...

2017-03-27 15:52:41

阅读数 247

评论数 0

限流模式-Guava的RateLimiter

目前有几种常见的限流方式: 1、通过限制单位时间段内调用量来限流 2、通过限制系统的并发调用程度来限流 3、使用漏桶(Leaky Bucket)算法来进行限流 4、使用令牌桶(Token Bucket)算法来进行限流 具体我们看下第三种和第四中算法,也是我们目前看到的最常见的限流算法...

2017-03-24 14:13:10

阅读数 6020

评论数 0

ElasticSearch-6.3.2源码解读(1)-----部署源码

今天决定走读一遍elasticsearch的源码,算是对这一类分布式系统(分布式的计算存储架构都是差不多的)有一个深入的了解。 首先,获取elasticsearch源码 编译调试代码,大家可以看下这篇文章,讲的很好,我是基本按照这篇文章来操作的,目前环境正常 今天就只弄到了这些了,代码每天会看...

2019-05-24 17:39:13

阅读数 6

评论数 0

架构设计

软件模块:是一套一致而互相有紧密关连的软件组织。它分别包含了程序和数据结构两部分。现代软件开发往往利用模块作为合成的单位。模块的接口表达了由该模块提供的功能和调用它时所需的元素。模块是可能分开被编写的单位。这使它们可再用和允许人员同时协作、编写及研究不同的模块。 软件组件定义为自包含的、可编程的...

2019-03-09 14:40:34

阅读数 11

评论数 0

Resilience4j-----BulkHead

介绍 Bulkhead意指船舶中的隔舱板,它将船体分割为多个船舱,在船部分受损时可避免沉船。框架中的Bulkhead通过信号量的方式隔离不同种类的调用,并进行流控,这样可以避免某类调用异常危及系统整体。(注:不同于Hystrix,该框架不提供基于线程池的隔离) 初始化Bulkhead Bul...

2019-01-22 14:52:30

阅读数 60

评论数 0

Resilience4j------CircuitBreaker

与Hystrix相比,它有以下一些主要的区别: Hystrix调用必须被封装到HystrixCommand里,而resilience4j以装饰器的方式提供对函数式接口、lambda表达式等的嵌套装饰,因此你可以用简洁的方式组合多种高可用机制 Hystrix的频次统计采用滑动窗口的方式,而res...

2019-01-22 14:51:27

阅读数 138

评论数 0

Resilience4j------RateLimiter

高频控制的配置方式与熔断类似,有对应的RateLimiterRegistry 和 RateLimiterConfig,自定义配置的可选项有: 频次阈值 阈值刷新时间 限流后的冷却时间 初始化: private void init() { // For example you want...

2019-01-22 14:50:03

阅读数 38

评论数 0

Flink基础教程-----学习笔记

Flink基础教程 Flink,Apache Flink 是为分布式、高性能、随时可用以及准确的流处理应用程序打造的开源流处理框架。 Flink是如何实现批处理和流处理?Flink 将批处理(即处理有限的静态数据)视作一种特殊的流处理。 Flink技术栈的核心组成部分,如下图: Da...

2019-01-20 11:40:40

阅读数 1089

评论数 1

java并发编程之美----学习笔记总揽1

并发和并行 1.并发是指同一时间段内多个任务同时在执行,且都没有执行结束,而并行是指在单位时间内多个任务同时在执行。并发任务强调的是一个时间段内同时在执行,而一个时间段是由多个单位时间累积而成,所以说并发的多任务在单位时间内不一定同时执行。在单CPU的时代多个任务都是并发执行的,这是因为单个CPU...

2019-01-16 16:36:50

阅读数 344

评论数 0

kafka并不难学---学习笔记

在kafka系统中,核心组件的元数据信息均存储在zookeeper中。这些元数据信息具体包含:控制器选举次数、代理节点和主题、配置、管理员操作、控制器。他们在zookeeper系统中的分布如图所示:控制器选举次数,在kafka系统中,控制器每进行一次选举次数,都会在zk系统/controller_...

2019-01-16 16:26:40

阅读数 361

评论数 0

spring开始

本参考指南提供有关Spring框架的详细信息。它为所有功能提供了全面的文档,以及Springq潜在的基本概念(如“依赖注入”)的背景知识。 如果您刚开始使用Spring,则可能需要通过创建基于Spring Boot的应用程序来开始使用Spring Framework。 Spring Boot提供...

2017-08-17 20:04:03

阅读数 123

评论数 0

多线程成本

从单线程应用程序到多线程应用程序不仅提供了优势,它也有一些成本。不要只是因为可以使用多线程启用应用程序。你应该有一个好主意:这样做所带来的好处大于成本。如有疑问,请尝试衡量应用程序的性能或响应能力,而不是仅仅猜测。 更复杂的设计 尽管多线程应用程序的某些部分比单线程应用程序更简单,但其他部分更...

2017-08-15 14:21:22

阅读数 172

评论数 1

多线程优点

尽管面临挑战,仍然使用多线程的原因是多线程可以有几个好处: 1.更好的资源利用率。 2.在某些情况下更简单的程序设计。 3.更灵敏的程序。 更好的资源利用率 想象一下从本地文件系统读取和处理文件的应用程序。假设从磁盘读取af文件需要5秒钟,处理时间需要2秒钟。然后处理两个文件 5 se...

2017-08-14 10:09:29

阅读数 207

评论数 0

Java并发/多线程教程

过去计算机有一个单CPU,只能一次执行一个程序。后来计算机可以处理多任务,这意味着计算机可以同时执行多个程序(AKA任务或进程)。但是这不是真的“同时”。单个CPU在程序之间共享。操作系统将在运行的程序之间切换,在切换之前执行每个程序一段时间。 随着多任务处理,软件开发人员面临新的挑战。程序不能...

2017-08-11 15:54:58

阅读数 532

评论数 0

线程安全和不变性

竞争条件只有在多个线程正在访问同一资源且一个或多个线程写入资源时才会发生。如果多线程读取相同的资源竞争条件是不会发生的。 我们可以确保线程之间共享的对象永远不会被任何线程更新,那就是让共享对象不可变,从而线程安全。以下一个例子:public class ImmutableValue{ priv...

2017-08-04 13:25:37

阅读数 795

评论数 0

java内存模型

java内存模型指明了java虚拟机如何利用计算机内存(RAM)工作的。因为java虚拟机是整个计算机的一个模型,那么很自然的他也包含一个内存模型。 如果你想设计一个正确稳定的并发程序,那么理解java内存模型将会对此有很大的帮助。因为java内存模型指明了不同线程怎样和在什么时候能看到其他线程...

2017-08-02 14:46:04

阅读数 171

评论数 0

使用Redis SETNX 命令实现分布式锁

使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。 SETNX命令简介 命令格式 SETNX key value 将 key 的值设为 value,当且仅当 key 不存在。  若给定的 key 已经存在,则 SETNX 不做任何动作。  ...

2017-05-04 15:19:15

阅读数 183

评论数 0

并发场景下HashMap死循环导致CPU100%的问题

问题的症状 从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()...

2017-03-29 15:21:17

阅读数 175

评论数 0

fail-fast

fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出Concurre...

2017-03-29 14:42:40

阅读数 115

评论数 0

浅谈Java中的equals和==

在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String("hello"); 3 4 System.out.print...

2017-03-27 13:32:51

阅读数 118

评论数 1

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