找到约 94 条结果
  • 在 libevent 中使用 MariaDB(MySQL)
    在之前我翻译的官方文档中提到了 MariaDB 提供了对异步 I/O 的支持。那篇文章是一个比较简要的介绍。不过实际适配中,官方也提供了一个完整适配 libevent 的示例代码。本文算是对我上述示例代码的阅读笔记吧。阅读本文之前,作者假设读者已经有了 libevent 的相关知识。如果没有的话,可以参见我的系列文章:Libevent官...
    2025-04-26
  • 使用 libev 构建 TCP 响应服务器(echo server)的简单流程
    基本流程创建 socket,绑定 socket 地址Listen socket创建一个 watcher,用来承载accept事件写一个 callback 用来做实际的accept调用创建并初始化一个 watcher 用来从 client 中读取请求写一个 callback 用来read启动 event loop创建 socket 并绑定 address注意:原文例子中未显示的是,应当将 fd 设置为非阻塞的。带非...
    2025-04-26
  • 译/理解node事件循环
    第一个基本论点:IO是昂贵的。 看图:  所以,当前编程技术的最大浪费,是等待IO完成。 解决这个性能效应有几个方法(来自sam rushing) 同步:按照次序,一次处理一个请求。好处:简单,坏处:任何人的一个请求都会阻塞其他全部人的请求 建一个新进程:一个进程处理一个请求。好处:容易 坏处:不具备可伸缩性,几百个...
    2015-07-15
  • 使用Rancher-Gen动态更新配置文件
    Docker和Rancher让大家能更轻易地部署和管理基于微服务的应用程序。然而,如果有些服务是依赖于其他动态服务的,那该如何管理它们的配置?你是否时常觉得,要是有方法能自动检测后端服务的变化,并实现配置文件的动态更新就好了?本文给你答案。
    2017-01-13
    1
  • muduo记录
    1.muduo编译安装 Github源码目录: [链接] 编译muduo遇见的报错可以在github上的issue上面查找。一般都能顺利解决,我遇到的就是没有安装boost-dev. centos7系统 执行: sudo yum install boost-dev 2.截取流程图 图片截取自《Linux多线程服务端编程:使用muduo C++网络库》 3.源码摘录 摘录一个examples里面的pingpong为例...
    2018-08-16
  • python基础教程:异步IO 之 概念和历史
    编程中,我们经常会遇到“并发”这个概念,目的是让软件能充分利用硬件资源,提高性能。并发的方式有多种,多线程,多进程,异步IO等。多线程和多进程更多应用于CPU密集型的场景,比如科学计算的时间都耗费在CPU上,利用多核CPU来分担计算任务。多线程和多进程之间的场景切换和通讯代价很高,不适合IO密集型的场景(关于多...
    2019-05-17
  • 对libuv的C++封装
    uv-cpp是一个基于libuv的C++封装网络库,基于本人实际项目需求开发并使用。接口较为简单易用,并对libuv一些特性做了扩展及优化。压测结果稳定、高效。未发现内存泄漏及崩溃相关bug。
    2019-03-19
  • Node.js异步I/O,事件驱动
    Node.js以高效,轻量著称,具有非阻塞I/O,事件驱动的特性.非阻塞I/O很浅显的解释就是: 代码以单线程的方式执行,在遇到I/O操作时Node会开辟新的线程去执行I/O操作,主线程代码继续执行.事件驱动很浅显的解释就是: 事件产生者发布一个事件,事件订阅者在收到事件后执行某段代码.但非阻塞I/O,事件驱动到底是如何实现的呢,它们跟...
    2017-07-05
  • node了解
    Node之父的Ryan Dahl阻塞式IO是错误的方式,V8的发布为Node的诞生奠定了坚实的基础。JavaScript本身就是单线程的,而且浏览器发起的AJAX请求就是非阻塞的。所以将JavaScript和异步IO以及一个简单的HTTP服务器集合在一起,就达到一个比较好的配合。虽然Node的非阻塞模型没有了多线程,但却多出了“回调地狱”问题。Ryan认为...
    2022-04-23
  • 异步IO的应用
    循环:早期系统使用简单的循环选择解决方案,即循环遍历打开的网络连接的列表,判断是否有要读取的数据。这种方法既缓慢(尤其是随着连接数量增加越来越慢),又低效(因为在处理当前连接时其他连接可能正在发送请求并等待响应)。在系统循环遍历每个连接时,其他连接不得不等待。如果有 100 个连接,其中只有一个有数据...
    2016-03-06
  • 结合React源码,五分钟带你掌握优先队列
    这是第 85 篇不掺水的原创,想获取更多原创好文,请搜索公众号关注我们吧~ 本文首发于政采云前端博客:结合React源码,五分钟带你掌握优先队列前言最近写一个需求用到了优先队列和二叉堆的相关知识,借此机会梳理了一些二叉堆的相关知识分享给大家。什么是优先队列优先队列是数据结构中的基础概念,与队列先进先出(FIFO...
    2021-01-13
    1
  • MySQL数据库运维之数据备份02
    上篇文章介绍了一下MySQL数据库逻辑备份第一部分mysqldump的使用,本篇文章将继续介绍MySQL数据库逻辑备份第二部分Xtrabackup工具的操作过程!微信搜索公众号:”菜鸟封神记“,定期分享一线大厂常用技术干货。
    2018-06-19
  • mysql 中的备份恢复、分区分表、主从复制、读写分离
    备份所需权限:select,reload,lock tables,replication client,show view,event,process
    2022-08-16
    1
  • Python 协程与 JavaScript 协程的对比
    以前没怎么接触前端,对 JavaScript 的异步操作不了解,现在有了点了解。一查发现 Python 和 JavaScript 的协程发展史简直就是一毛一样!
    2022-07-06
  • K6 在 Nebula Graph 上的压测实践
    背景对于数据库来说,性能测试是一个非常频繁的事情。优化查询引擎的规则,调整存储引擎的参数等,都需要通过性能测试,查看系统在不同场景下的影响。即便是同样的代码,同样的参数配置,在不同的机器资源配置,不同的业务场景下也有较大的区别,记录一下内部的压测实践过程,有一个参考。本文中操作系统为 x86 架构 Cen...
    2021-09-24
  • Python协程与JavaScript协程的对比
    以前没怎么接触前端对JavaScript 的异步操作不了解,现在有了点了解一查,发现 python 和 JavaScript 的协程发展史简直就是一毛一样!这里大致做下横向对比和总结,便于对这两个语言有兴趣的新人理解和吸收.
    2021-05-12
    2
  • 《编程时间简史系列》Web Server 编年史
    Web 是一种典型的分布式应用架构。Web 应用中的每一次信息交换都要涉及到客户端和服务端两个层面。因此,Web 开发技术大体上也可以被分为客户端技术和服务端技术两大类。
    2020-06-29
    15