在2019年,从Linux内核5.1开始,引入了io_uring这样的异步框架,io_uring的设计非常精巧,经过验证,其性能极其强悍,在文件读写的领域已经证明了其巨大的价值。很多数据库系统的底层已经引入并采用了io_uring这个组件。其文件读写性能远远超过了原来Linux中的AIO异步接口。下图是io_uring的4k顺序读和写与AIO顺序读写的性能差异。 不过很长一段时间,io_uring一直被认为只是在文件读写这种不需要缓存的场景下有非常优秀的表现。而且,在相当长的一段时间内,还没有公开发布真正用io_u…

2022年11月12日 0条评论 767点热度 0人点赞 阅读全文

eBPF定义 定义一(ebpf.io的定义) eBPF (which is no longer an acronym for anything) is a revolutionary technology with origins in the Linux kernel that can run sandboxed programs in a privileged context such as the operating system kernel. 定义二(Cilium的定义) BPF is a highly …

2022年10月07日 0条评论 935点热度 0人点赞 阅读全文

高性能网络IO框架研究一 IoT平台要求能够接入大规模的终端数据,因此对于底层的IO通信系统的性能和稳定性要求非常高。于是我对高性能IO框架进行了一些深入的研究。并将研究的内容总结出来,以供大家交流学习。 前面写了一篇关于高性能网络IO框架在,传统的Netty受到了非常大的挑战,不过总体来说,Netty在整个Java的生态体系中仍然还是最为重要的网络通信框架。 网络I/O的三种模式 BIO —— Block I/O 同步阻塞型IO 同步阻塞型IO是最简单的一种I/O模式。首先,阻塞与非阻塞的意思。阻塞IO指的是需要…

2022年09月10日 0条评论 727点热度 0人点赞 阅读全文

最为全球最早也是最大的云计算服务提供商AWS一直是行业标杆,是所有一线云计算厂商的对标目标。虽然最近几年在业务上受到微软Azure的强势挑战,但是在最近几年内仍然有望保持全球第一的地位。阿里云作为中国最大的云服务提供商,在规模和商业合作上都领跑全国,乃至整个亚太区。最近几年,在中国市场上受到政策以及竞争对手的双重挑战。但是营收仍然拉开第二名和第三名(华为云和腾讯云)一倍以上的差距。 图1 IDC公布的全球云计算市场份额 图2 Gartner公布的全球云计算市场份额 ​ 云计算最初是将企业的计算能力和存储能力通过接口…

2022年07月31日 0条评论 899点热度 2人点赞 阅读全文

[toc] DDD凝聚了软件工程的智慧 ​ 许多人对微服务设计中经常提及的DDD非常推崇,觉得这是最新的架构设计趋势和解决微服务业务划分的终极方法。实际上,DDD概念最早在2004年就提出来了,微服务的前身SOA的概念也是在那个时候被提出的。DDD的思想凝聚了软件工程师在面向对象和服务架构开发中的很多宝贵思想。本文试图解构DDD背后的思想。 DDD领域驱动设计的历史 ​ DDD根植于面向对象(OOP)思想以及面向服务架构(SOA)的影响。最早期的面向对象概念是Alan Key在1966年左右构思出来的。最早是通过像…

2022年07月24日 0条评论 818点热度 1人点赞 阅读全文

Vue概念快速整理 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue 的学习难度曲线相对于React来说比较平缓,不过React的灵活性是超过Vue的 Vue的安装 以下推荐国外比较稳定的两个 CDN。 Staticfile CDN(国内) : https://cdn.staticfile.org/vue/2.2.2/vue.min.js u…

2022年01月16日 0条评论 686点热度 3人点赞 阅读全文

gRPC的服务结构 gRPC可以运行在各种操作系统中,支持不同的编程语言。客户端和服务端通过protobuf的消息格式传递信息。protobuf有专门的数据格式: protobuf消息标记格式 protobuf的消息格式如下图所示: message Person { string name = 1; int32 id = 2; bool has_ponycpoter = 3; } 我们也可以在protobuf中定义消息的方法, 其中的Greeter就是服务的一个方法。 // The greeter service …

2021年02月20日 0条评论 335点热度 1人点赞 阅读全文

数据库系统中 OLTP和OLAP OLTP和OLAP系统表面上看都是数据库系统,但是这两种系统的功能和设计有着非常大的区别。 OLTP的基础就是我们通常所说的数据库系统,通常我们会假设OLTP系统会作为OLAP系统对数据进行分析的数据源来使用。 什么是OLTP? OLTP(Online Transactional Processing) 是一类数据处理过程,通常关注于事务性数据任务的执行。OLTP的一次作业可以简单理解为数据库操作一次前后关联的几个Insert, Update和Delete命令的执行。OLTP系统通…

2021年02月12日 0条评论 446点热度 3人点赞 阅读全文

如何提高你的思维能力(Bio-Hacker Way) Bio-Hacker 是最近十年出现的一个名词,主要是通过各种治疗疾病的药物或者保健品提高健康人的体力,脑力和精神状态。达到比正常水平更高的表现能力。最近通过国外网站的一些治疗,以及对各类药物的临床研究治疗。总结了一些能够提高人的思维,记忆和情绪的药物和保健品。但是要注意某些药品属于处方药范围,不能随便在药房购买。 大脑营养药,对大脑能力有提高的药物。 DHA (Docosahexaenoic acid) 英文资料: DHA is essential for b…

2021年01月30日 0条评论 388点热度 4人点赞 阅读全文

OPC UA 学习教程 — 总览和核心概念 OPC UA已经成为了工业自动化行业和IT系统对接的标准协议,同时由于其设计理念的先进性,联盟的开放性和广泛性,已经获得越来越多和越来越广泛的应用。尤其在工业物联网的数据通讯领域逐渐成为了一个最为流行的标准和解决方案。OPC UA的标准制定由OPC Foundation负责,这是一个集合了工业和信息技术行业几乎所有主流厂商的联盟。在这个系列的文章中,将会详细介绍OPC相关的概念,开发和应用。 历史 OPC UA标准的讨论和概念形成于2003-2006年,当时基于微软win…

2021年01月17日 0条评论 1892点热度 42人点赞 阅读全文