[置顶]我理解的Linux IO模式及select,poll,epoll

前言 本文是在本人查阅部分资料,并综合了众多博客分析后,于此阐述的个人理解。若有错误,欢迎指正。 基本概念 用户空间和内核空间 操作系统核心-内核负责处理用户程序和硬件之间的驱动交互。内核是在用户程序(进程)和硬件之间一个中枢。目地:专门负责用户进程和硬件之间的交互,用户程序必须使用内核才能和计算机底层硬件进行交流。为了保证内核的安全,于是将内存划分开,比如针对linux 4G的内存空间,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低...阅读全文

www.allocmem.com 2018-04-21 13:30 www.allocmem.co 等

[置顶]nginx搭配frp进行端口和服务转发

###引言:   java接入三方运营商服务接口,需要可供回调的公网接口,并在本地两台(及以上)调试接口服务,于是使用开源frp进行穿透,nginx搭配负责分发请求到不同机器。 ###安装环境: 1. ubuntu 16.04 LTS 一台服务器 两台客户机 2. 已安装好nginx ###frp配置过程: 参考我之前博文[http://blog.csdn.net/yan_chou/article/details/53406095](http://blog.csdn.net/yan_chou/a...阅读全文

www.allocmem.com 2017-02-20 16:06 www.allocmem.co 等

Flink的窗口介绍

Flink的Watermark细节介绍一文中提到了Watermark其实主要就是解决Event Time + Window中的数据完整性问题的,本文作为那篇文章的补充,再介绍一下Window这个概念。关于这部分,我觉得官方文档已经介绍的非常详细了,如果你是Flink使用者,强烈建议好好读几遍。我这里就主要概括性的介绍一下,作为前面文章的补充,同时解决前文遗留的一个问题。What & Why什么是Window?为什么需要Window?流处理里面一般都是事件驱动的(Spark是微批),即每个事件来就...阅读全文

NYC's Blog 2020-05-30 00:00 NYC's Blog

Flink 自定义触发器实现带超时时间的 CountWindow - 云+社区

Flink 的 window 有两个基本款,TimeWindow 和 CountWindow。 TimeWindow 是到时间就触发窗口,CountWindow 是到数量就触发。如果我需要到时间就触发,并且到时间之前如果已经积累了足够数量的数据;或者在限定时间内没有积累足够数量的数据,我依然希望触发窗口业务,那么就需要自定义触发器。import org.apache.flink.api.common.functions.ReduceFunction; import org.apache.flin...阅读全文

腾讯云 2020-08-03 00:00 腾讯云

双亲委派模型与 Flink 的类加载策略

我们知道,在 JVM 中,一个类加载的过程大致分为加载、链接(验证、准备、解析)、初始化5个阶段。而我们通常提到类的加载,就是指利用类加载器(ClassLoader)通过类的全限定名来获取定义此类的二进制字节码流,进而构造出类的定义。Flink 作为基于 JVM 的框架,在 flink-conf.yaml 中提供了控制类加载策略的参数 classloader.resolve-order,可选项有 child-first(默认)和 parent-first。本文来简单分析一下这个参数背后的含义。p...阅读全文

知乎 2020-09-24 00:00 知乎

Java 类隔离加载的正确姿势

什么是类隔离技术只要你 Java 代码写的足够多,就一定出现这种情况:系统新引入了一个中间件的 jar 包,编译的时候一切正常,一运行就报错:java.lang.NoSuchMethodError,然后就哼哧哼哧的开始谷歌找解决方法,最后在几百个依赖包里面找的眼睛都快瞎了才找到冲突的 jar,把问题解决之后就开始吐槽中间件为啥搞那么多不同版本的 jar,写代码五分钟,排包排了一整天。上面这种情况就是 Java 开发过程中常见的情况,原因也很简单,不同 jar 包依赖了某些通用 jar 包(如日志...阅读全文

知乎 2020-05-17 00:00 知乎

Hive笔记之collect_list/collect_set(列转行) - CC11001100

Hive中collect相关的函数有collect_list和collect_set。 它们都是将分组中的某列转为一个数组返回,不同的是collect_list不去重而collect_set去重。   做简单的实验加深理解,创建一张实验用表,存放用户每天点播视频的记录:create table t_visit_video ( username string, video_name string ) partitioned by (day string) row format delimited ...阅读全文

博客园 2018-05-16 01:12 博客园

Flink窗口全解析:三种时间窗口、窗口处理函数使用及案例

我写的《Flink原理与实践》已由人民邮电出版社出版,感兴趣的朋友请到电商平台购买,谢谢!微信公号:ilulaoshi 个人网站:https://lulaoshi.info/flink/chapter-time-window/window.html我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理。本文将介绍如何在Flink上进行窗口的计算。一个Flink...阅读全文

Flink中对keyBy的探究_dinghua_xuexi的专栏

0 摘要        在Flink实时流数据处理中,经常用到keyBy算子, 虽然能够大致不差的使用它,实现自己的需求。然而这个算子到底做了什么事情,心里一直没有底。这篇文章算是对keyBy算子稍微深入一点的探究。   1 Spark中的按key分组操作        对于经常使用spark的同学而言,分组操作数据,那是再熟悉不过。比如groupBy, reduceBy, aggregateBy等一系列算子。基本思路都是指定key之后, 将相同key的元素集合到一个集合里面,形成一个新的集合元...阅读全文

CSDN博客_flink keyby 2020-08-01 18:33 CSDN博客_flink ke 等

deleted

Flink是下一代大数据计算平台,可处理流计算和批量计算。《Flink-1.9流计算开发:十三、min、minBy、max、maxBy函数》cosmozhu写的本系列文章的第十三篇。通过简单的DEMO来演示min、minBy、max、maxBy函数执行的效果 。需求本篇文章我们来区分min(max)与minBy(maxBy)之间的区别,下面案例是每10秒计算一次最近1分钟的最小值订单。解决方案 public static void main(String[] args) throws Excep...阅读全文

腾讯云 2020-06-15 00:00 腾讯云

Socks5代理工作原理 - 云+社区

Socks5代理工作原理&抓包分析 Socks5代理工作原理[TOC]1. Socks5协议以下摘自维基百科 SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。SOCKS是”SOCKetS”的缩写[注 1]。 当防火墙后的客户端要访问外部的服务器时,就跟SOCKS代理服务器连接。这个代理服务器控制客户端访问外网的资格,允许的话,就将客户端的请求发往外部的服务器。 这个协议最初由David Koblas开发,而后由NEC的Ying-Da Lee将其扩展到SOCKS4。最新...阅读全文

Linux利用iptables实现真

对于经常要浏览油管等被墙网站的人而言,利用代理来实现fq是非常有必要的。现在fq的方法中,最为主流的应该要数ssr了,因此本教程都是基于ssr的socks5代理而言的。 在windows中,ssr客户端设置的系统代理,大部分应用还是能够起到作用的,但是也有不少却不走代理。这里有个不错的解决方案就是通过sstap来实现网卡层的代理,这样一来,所有的流量都会通过代理流通转发出去了。 然而,windows并不是我们的全部,偶尔我也会用用linux,这样的话,对于linux有没有较好的全局代理方案呢?这...阅读全文

全局代理 2019-05-11 00:00 全局代理

理解RTMP、HttpFlv和HLS的正确姿势

登录注册写文章首页下载APPIT技术抽奖理解RTMP、HttpFlv和HLS的正确姿势北塔资讯关注赞赏支持理解RTMP、HttpFlv和HLS的正确姿势 需求比协议重要,理解你的需求在前,选择应用的协议在后! 第一、是什么? 解释这个问题有很大的难度,你所处的角度不同,决定了所需答案的不同。不管怎么样,协议是为了解决问题而生的,它有着天然的指向性。同时,也有着它自身的局限。这三个协议的背后,有着一段凄美的爱情故事。我说说,你听听,在想当初…. 千禧年的钟声敲响了,人们迈进了一个新的世纪。当时的移...阅读全文

P2P通信原理与实现

当今互联网到处存在着一些中间件(Middle Boxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信. 这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还有其他中间件如防火墙阻挡了链接的建立. 目前部署的中间件多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求. 大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接, 除非经过中间件管理员...阅读全文

MySQL中大于小于,IN,OR,BETWEEN性能比较_听海Movie的专栏

在MySQL中经常会有朋友问关于大于小于,IN,OR,BETWEEN,哪个性能更好? 我想有很多朋友会用它们但确实不知道大于小于,IN,OR,BETWEEN性能哪个更好吧,下面总结一下关于大于小于,IN,OR,BETWEEN性能。 这里的查询条件有四种:>=和<=;between;or;in 这里id列是索引列,如果不是的话,三个查询都是全表扫描,性能差距应该不大。   1  准备环境 mysql> show create table tinG *************************...阅读全文

CSDN博客 2015-09-15 17:49 CSDN博客

stunnel配置实例

stunnel简介 stunnel是一个开源跨平台进行通信加密的软件。它可以对原生不支持加密通信的服务(如FTP, Telnet等)在上层提供加密功能,而无须修改这些服务的代码。 stunnel分为client和server两种不同的角色,二者之间的通信使用X509证书进行加密。在初装时,stunnel会自动生成一个自签名的证书用于加密,但它更推荐用户使用自己生成的证书。 stunnel证书生成 用OpenSSL生成自签名的证书其实非常容易,在已安装OpenSSL的Linux环境下: $ ope...阅读全文

Finisky Garden 2019-07-21 00:00 Finisky Garden

SSE和WebSocket的用法和比较 - like2372

在我们日常开发中,会遇到服务端和客户端的通讯,今天我们就来比较一下HTML5新特性SSE和WebSocket的用法。 一,SSE 简介 SSE(Server-Sent Events,服务器发送事件)是围绕只读Comet 交互推出的API 或者模式。 SSE API允许网页获得来自服务器的更新(HTML5),用于创建到服务器的单向连接,服务器通过这个连接可以发送任意数量的数据。服务器响应的MIME类型必须是text/event-stream,而且是浏览器中的JavaScript API 能解析格式...阅读全文

Java阻塞延迟队列DelayQueue原理及使用_Hopefully Sky的博客

阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,从队列中获取元素的消费者线程会一直等待直到队列变为非空。当队列满时,向队列中放置元素的生产者线程会等待直到队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。 在阻塞队列不可用时,这两个附加操作提供了4种处理方式: 抛出异常:当队列满时,插入元素会抛出IllegalStateException;返回特殊值:offer()是入队方法...阅读全文

CSDN博客_java 延迟队列 2020-04-23 21:26 CSDN博客_java 延迟队 等

NullPointerException 没有堆栈 - cdfive

周五在公司搭好的ELK上查看日志,组长让看看其中NullPointerException出现很多的原因。 通过NullPointerException搜索,点看其中一个查看,发现异常的信息就一行java.lang.NullPointerException,并没有堆栈信息。 看了几个都没有,然后翻代码看记日志的地方,调用了日志基础工程的一个方法,异常对象通过封装传了进去,其中异常信息属性取值用的是Throwables.getStackTraceAsString(e),这是guava包提供的方法,点...阅读全文

博客园 2018-05-27 12:19 博客园

XOR 加密简介

本文介绍一种简单高效、非常安全的加密方法:XOR 加密。 一、 XOR 运算 逻辑运算之中,除了 AND 和 OR,还有一种 XOR 运算,中文称为"异或运算"。 它的定义是:两个值相同时,返回false,否则返回true。也就是说,XOR可以用来判断两个值是否不同。 true XOR true // false false XOR false // false true XOR false // true true XOR false // true JavaScript 语言的二进制运算,有...阅读全文

阮一峰的网络日志 2017-05-31 00:00 阮一峰的网络日志