[置顶]我理解的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 等

如此狂妄,自称高性能队列的Disruptor有啥来头? - 博学谷狂野架构师

并发框架Disruptor 1. Disruptor概述 1.1 背景 ​ Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级),基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注,2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。 ​ 目前,包括Apache Storm、Ca...阅读全文

博客园 2022-09-19 14:30 博客园

高性能队列——Disruptor

背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。目前,包括Apache Storm、Camel、Log4j 2在内的很多知名项目都应用了Disruptor以获取高性能...阅读全文

美团技术团队 2016-11-18 00:00 美团技术团队

kafka是如何保证消息不丢失的 - 腾讯云开发者社区

今天和大家聊一下,kafka对于消息的可靠性保证。作为消息引擎组件,保证消息不丢失,是非常重要的。 那么kafka是如何保证消息不丢失的呢?前提条件任何消息组件不丢数据都是在特定场景下一定条件的,kafka要保证消息不丢,有两个核心条件。第一,必须是已提交的消息,即committed message。kafka对于committed message的定义是,生产者提交消息到broker,并等到多个broker确认并返回给生产者已提交的确认信息。而这多个broker是由我们自己来定义的,可以选择只...阅读全文

腾讯云 2020-01-22 00:00 腾讯云

Kafka Producer重试参数retries设置取舍【实战笔记】 - 腾讯云开发者社区

目录1.retries参数说明 2.retries使用建议 3.retries后续发展复制1.retries参数说明参数的设置通常是一种取舍,看下retries参数在版本0.11.3说明:Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error. Note that this retry is no...阅读全文

kafka系列之重试机制(15)

kafka 重试机制 kafka 消息的重试机制作为kafka 生产者端的数据不丢失的重要保障,对我们学习和理解kafka 大有裨益,前面我们学习kafka 生产者的时候,了解了kafka 异步生产者的Callback 机制,合理使用Callback机制也可以保证我们生产者端的数据不丢失,但是Callback我们往往是在重试机制之后使用的,也会是说重试之后依然失败的情况下,可以作为我们生产者端最后的保障。 重试源码 首先我们从KafkaProducer的send 方法入手我们看到其实客户端是不会...阅读全文

Kafka消费者 之 指定位移消费 - 腾讯云开发者社区

每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。放弃不难,但坚持很酷~由于消费者模块的知识涉及太多,所以决定先按模块来整理知识,最后再进行知识模块汇总。今天学习一下消费者如何指定位移消费。一、auto.offset.reset值详解在 Kafka 中,每当消费者组内的消费者查找不到所记录的消费位移或发生位移越界时,就会根据消费者客户端参数 auto.offset.reset 的配置来决定从何处开始进行消费,这个参数的默认值为 “latest” 。auto.offset.reset 的值可...阅读全文

腾讯云 2019-07-21 00:00 腾讯云

Mac M1 Brew install 报错Command failed with exit 128:git_红枫啊的博客

Mac M1 Brew install 报错Command failed with exit 128:git 记录一个问题,原因是今天使用Mac上面的Brew安装一个Redis发生了错误,我也是头一次使用Brew。报错Commandfailedwithexit128git。理论上来说使用brew安装出现这种Error都是可以解决的!后会提示你执行两个配置命令,直接复制执行就ok了!... 复制链接阅读全文

CSDN博客 2023-02-23 11:48 CSDN博客

Docker容器访问宿主机网络

缘起最近部署一套系统,使用nginx作反向代理,其中nginx是使用docker方式运行: 1$ docker run -d --name nginx $PWD:/etc/nginx -p 80:80 -p 443:443 nginx:1.15 需要代理的API服务运行在宿主机的1234端口,nginx.conf相关配置如下: 12345678server { ... location /api { proxy_pass http://localhost:1234 } ...} 结果访问的时候发...阅读全文

jingsam 2018-10-16 00:00 jingsam

Hadoop 安装详细步骤_51CTO博客_hadoop安装详细步骤linux

系统学习大数据技术:大数据高级工程师学习路线 写在前面 如果你想通过这篇博客在本地成功搭建 Hadoop 集群的话,你需要先跟着视频课程 三天入门大数据实操课程 在本地搭建集群环境,在这个视频课程中你需要学习的章节是: 课程目标 VMWare WorkStation 安装 创建虚拟机 安装 Centos 7 操作系统 Centos 7 网络配置方式说明 Centos 7 网络配置 使用客户端登录操作虚拟机 克隆三台虚拟机 修改主机名 ip 映射主机名 配置无密钥登录 虚拟机的文件上传和下载 关闭...阅读全文

blog.51cto.com 2020-04-28 22:22 blog.51cto.com

Linux 快速删除已输入的命令_DreamLee0625的博客

linux 命令删除命令,Linux 命令之删除命令 weixin_33019827的博客 04-28 2778 在Linux下删除文件用rm命令,具体用法如下:rm [选项] 文件选项说明:-f    -force      忽略不存在的文件,强制删除,无任何提示-i    --interactive    进行交互式地删除-r | -R  --recursive    递归式地删除列出的目录下的所有目录和文件-v    --verbose    详细显示进行的步骤命令实例:1、常规删除a.t...阅读全文

CSDN博客_linux删除已输入的命令 2017-08-02 09:13 CSDN博客_linux删除已 等

fastjson:对key为非String类型的Map的序列化和反序列化问题_map序列化和反序列化_10km的博客

我们可以看到,免邀请码安装成功,两个用户成功绑定了邀请关系,且过程中未使用复杂的邀请码机制。总的来说,免填邀请码是基于 Xinstall 的携带参数安装功能实现的,免填邀请码只是其中一个比较典型的应用场景,实质通过携带邀请人 id 参数安装,实现用户关系绑定。而且Xinstall 只负责帮 App 传递需要的参数,具体该参数如何定义,怎么使用,企业可以大开脑洞,根据自身业务需求来实现。因此,根据携带参数安装的原理,除了免填邀请码之外,同样可以实现用户关系绑定、场景还原、推广效果统计等功能。阅读全文

CSDN博客 2020-03-31 14:00 CSDN博客

高性能无锁并发框架Disruptor,太强了

Disruptor是一个开源框架,研发的初衷是为了解决高并发下队列锁的问题,最早由LMAX提出并使用,能够在无锁的情况下实现队列的并发操作,并号称能够在一个线程里每秒处理6百万笔订单官网:http://lmax-exchange.github.io/disruptor/目前,包括Apache Storm、Camel、Log4j2在内的很多知名项目都应用了Disruptor以获取高性能为什么会产生Disruptor框架「目前Java内置队列保证线程安全的方式:」ArrayBlockingQueue...阅读全文

知乎 2020-09-10 01:13 知乎

Actor模型是解决高并发的终极解决方案

写在开始一般来说有两种策略用来在并发线程中进行通信:共享数据和消息传递。使用共享数据方式的并发编程面临的最大的一个问题就是数据条件竞争。处理各种锁的问题是让人十分头痛的一件事。   传统多数流行的语言并发是基于多线程之间的共享内存,使用同步方法防止写争夺,Actors使用消息模型,每个Actor在同一时间处理最多一个消息,可以发送消息给其他Actor,保证了单独写原则。从而巧妙避免了多线程写争夺。和共享数据方式相比,消息传递机制最大的优点就是不会产生数据竞争状态。实现消息传递有两种常见的类型:基...阅读全文

知乎 2019-10-13 19:15 知乎

IO设计模式:Actor、Reactor、Proactor - _raindrop

先看看io模型   先介绍两种高性能服务器模型Reactor、Proactor Reactor模型: 1 向事件分发器注册事件回调 2 事件发生 4 事件分发器调用之前注册的函数 4 在回调函数中读取数据,对数据进行后续处理 Reactor模型实例:libevent,Redis、ACE Proactor模型: 1 向事件分发器注册事件回调 2 事件发生 3 操作系统读取数据,并放入应用缓冲区,然后通知事件分发器 4 事件分发器调用之前注册的函数 5 在回调函数中对数据进行后续处理 Preacto...阅读全文

博客园 2018-06-20 11:11 博客园

Linux高性能IO网络模型对比分析:Reactor vs Proactor - 腾讯云开发者社区

1、前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力。本文旨在为大家提供有用的高性能网络编程的I/O模型概览以及网络服务进程模型的比较,以揭开设计和实现高性能网络架构的神秘面纱。 2、关于作者 陈彩华(caison):主要从事服务端开发、需求分析、系统设计、优化重构工作,主要开发语言是 Java。 3、线程模型 上篇《高性能网络编程(五):一文读懂高性能网络编程中的I/O模型》介绍完服务器如何基于 I/O 模型管理连接,获取输入数据,下面将介绍基于进程/线...阅读全文

腾讯云 2021-01-06 18:26 腾讯云

深入理解Akka actor模型

Carl Hewitt 在1973年对Actor模型进行了如下定义:"Actor模型是一个把'Actor'作为并发计算的通用原语". Actor是异步驱动,可以并行和分布式部署及运行的最小颗粒。也就是说,它可以被分配,分布,调度到不同的CPU,不同的节点,乃至不同的时间片上运行,而不影响最终的结果。因此Actor在空间(分布式)和时间(异步驱动)上解耦的。而Akka是Lightbend(前身是Typesafe)公司在JVM上的Actor模型的实现。我们在了解actor模型之前,首先来了解acto...阅读全文

知乎 2021-08-29 21:16 知乎

云数据库 MongoDB 基于 CVM 连接 MongoDB 进行数据导入导出的方法-最佳实践-文档中心

通过云服务器 CVM 连接云数据库 MongoDB 可以进行数据导入和导出,请注意使用最新版本的 MongoDB 客户端套件,具体操作可参见 连接实例。注意local 数据库主要存储副本集的配置信息、oplog 等元数据;admin 数据库则主要存储用户、角色等信息。为了防止数据错乱、鉴权失败等现象发生,云数据库 MongoDB 禁止将 local 和 admin 数据库导入实例。导出导入命令MongoDB 官方提供了两套数据导入导出工具:mongodump 和 mongorestore mon...阅读全文

腾讯云 2022-05-27 16:40 腾讯云

IDEA启动项目:java: java.lang.IllegalArgumentException_liangsheng_g的博客

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、现象二、解决方法1.问题进一步描述2. 解决方法 总结 一、现象 IDEA启动springboot项目,提示java: java.lang.IllegalArgumentException,没有多余的信息,百度之后都是让修改idea的Java compiler,但是我全都设置的Java8,所以没头绪。 二、解决方法 1.问题进一步描述 谷歌搜了一下,发现Jetbrains的官网有人提这个问题,大致浏览了下,描述和我的...阅读全文

CSDN博客 2022-07-12 16:47 CSDN博客

Esper教程 —— Esper 入门介绍(1) - Java开发

当前位置:首页 > Java开发 > Esper教程 —— Esper 入门介绍(1) 大屏阅读 Esper教程 —— Esper 入门介绍(1) 2年前 (2020-09-25) 分类:Java开发 阅读(2461) 评论(0) 一、规则引擎是什么Esper的官网:http://esper.codehaus.org/ 参考文档:https://www.cnblogs.com/yudar/tag/esper/小明历险记:规则引擎Drools教程:http://www.ibloger.net/ar...阅读全文

程序喵 2001-02-09 00:00 程序喵