慢聊Golang协程池Ants实现原理
大家都知道goroutine 是 Go语言中的轻量级线程实现,由 Go 运行时(runtime)管理,Go 程序会智能地将 goroutine 中的任务合理地分配给每个 CPU。创建一个goroutine大小大概在2k左右,可以说非常的节省机器资源。
thumbnail
发表于 1年以前  ·  阅读量:1343
Redis为什么使用哈希槽而不用一致性哈希
不知道朋友们记不记得Redis Cluster的实现,也是用了Hash的方式将键值按照一定算法分配到各个节点的,但是却没有使用一致性哈希算法,而是引入了哈希槽的概念!
thumbnail
发表于 1年以前  ·  阅读量:1072
五分钟了解一致性哈希算法
一致性哈希算法是一种常用的分布式算法,其主要用途是在分布式系统中,将数据根据其键(key)进行散列(hash),然后将散列结果映射到环上,再根据数据节点的数量,将环划分为多个区间,每个节点负责处理环上一定区间范围内的数据。
thumbnail
发表于 1年以前  ·  阅读量:1088
一口气读完 Java 8 ~ Java 21 的所有新特性
在 Java 版本中,一个特性的发布都会经历孵化阶段、预览阶段和正式版本。其中孵化和预览可能会跨越多个 Java 版本。
thumbnail
发表于 1年以前  ·  阅读量:1609
MySQL Binlog 入门
binlog 是一个二进制格式的文件,用于记录用户对数据库更新的 SQL 语句信息,例如更改数据库表和更改内容的 SQL 语句都会记录到 binlog 里,但是对库表等内容的查询不会记录。默认情况下,binlog 日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi 等)查看,而使用 mysqlbinlog 解析查看。
thumbnail
发表于 1年以前  ·  阅读量:1230
一文详解 Java 限流接口实现
本文介绍的实现方式属于应用级限制,应用级限流方式只是单应用内的请求限流,不能进行全局限流。要保证系统的抗压能力,限流是一个必不可少的环节,虽然可能会造成某些用户的请求被丢弃,但相比于突发流量造成的系统宕机来说,这些损失一般都在可以接受的范围之内。
thumbnail
发表于 1年以前  ·  阅读量:1533
开发同学的“做事情”&“想事情”&“谈事情”
作为一名后端偏业务向的一线开发,作者抛开技术栈和方案经验等这些具体的内容,从做事情、想事情、谈事情三个方面总结了自己的一些感悟。
thumbnail
发表于 1年以前  ·  阅读量:1311
微信业务开发方法与实践
拔开迷雾,直达本质,万字长文带你搞透业务开发。业务是什么,如何挖掘价值?本文从几方面来探讨做好业务开发的思考,第一篇谈业务,抛砖引玉,欢迎探讨改进。
thumbnail
发表于 1年以前  ·  阅读量:1304
搜索引擎原理解析:从0开始实现一个搜索引擎
搜索无处不在,作为信息化时代大多数人获取信息的最重要的路径,说搜索引擎是使用最为广泛和频繁的中间件之一,应该没有人会反驳。在实际的应用场景中, 小到个人博客, 大到电商平台,你在谷歌上搜索的每一个关键字, 在电商网站上搜索的每一件商品, 追剧听音乐的时候在搜索栏输入的每一个名字的背后都是搜索引擎的处理和输出。就像是你提问,然后搜索引擎告诉你一个答案,搜索不仅无处不在,无所不知,默默的主宰着网络世界的入口。
thumbnail
发表于 1年以前  ·  阅读量:937
放弃使用UUID,ULID才是更好的选择!
和 UUID 要么基于随机数,要么基于时间戳不同,ULID 是既基于时间戳又基于随机数,时间戳精确到毫秒,毫秒内有1.21e + 24个随机数,不存在冲突的风险,而且转换成字符串比 UUID 更加友好。
发表于 1年以前  ·  阅读量:1085
关于消息队列的知识总结
鹅厂技术同学站在时间维度的视角上,给大家分享下这三款主流MQ所诞生的背景以及解决了哪些问题。
thumbnail
发表于 1年以前  ·  阅读量:1287
2024年值得关注的8个rust开源数据项目
随着大数据生态系统、分布式文件系统、map-reduce、NoSQL、机器学习、深度学习、人工智能以及最近的大语言模型的兴起,数据得到了广泛的关注。我们本期推荐8个开源数据项目。
thumbnail
发表于 1年以前  ·  阅读量:3000
dubbo的SPI 机制与运用实现
SPI(Service Provider Interface),是 JDK 内置的一种服务发现机制,可以用来启用框架扩展和替换组件,主要被开发人员使用。比如 java.sql.Driver 接口,不同厂商可以针对同一接口提供不同实现,MySQL 和 PostgreSQL 都有各自不同实现提供给用户。Java SPI 机制可以为某个接口寻找服务实现。Java 中 SPI 机制主要思想是将装配控制权移到程序之外,模块化设计中这个机制尤其重要,其核心思想就是 解耦。
thumbnail
发表于 1年以前  ·  阅读量:1134
深入了解UDP和TCP的用法和区别
thumbnail
发表于 1年以前  ·  阅读量:875
用一张图解释 8 种热门网络协议
HTTP, HTTP/3, HTTPS, TCP, UDP, SMTP, FTP等协议的说明。
thumbnail
发表于 1年以前  ·  阅读量:1017
如何选择数据库?
本文介绍选择数据库时,您需要考虑的内容。
thumbnail
发表于 1年以前  ·  阅读量:707
一图搞懂Kafka核心概念,值得收藏
什么是kafka?Kafka是一种高性能、分布式的流数据平台,用于处理、存储和传输实时数据流。世界上一些最大的数据管道都在使用 Kafka。Netflix和Uber等的工作流程都依赖它。
thumbnail
发表于 1年以前  ·  阅读量:1221
一图了解高可用、高性能和高扩展系统的常见实现方案
我们经常被要求设计高可用性、高可扩展性和高性能。上图包含了针对“三高”的常见解决方案。
thumbnail
发表于 1年以前  ·  阅读量:989
一文带你搞懂 Docker 容器的核心基石 Cgroups
Cgroups 是 Linux 系统内核提供的一种机制,这种机制可以根据需求将一些列系统任务机器子任务整合或分离到按资源划分登记的不同组内,从而为系统资源管理提供一个的框架。简单地说,cgroups 可以限制、记录任务组所使用的物理组员(比如 CPU、Memory、IO等),为容器实现虚拟化提供了基本保证,是构建 Docker 等一些列虚拟化管理工具的基石。今天我们就来详细介绍一下 cgroups 相关的内容。
发表于 1年以前  ·  阅读量:1387
一文讲透阿里商旅账单系统架构设计实践
阿里商旅作为飞猪旅行旗下面向企业客户的数字化差旅解决方案产品,依托飞猪旅行机票、酒店供应链为企业客户提供一站式的机票、酒店、火车票、用车等预订管控及结算票据服务。阿里商旅不仅是集团欢行的供应商,而且近几年在商业化差旅市场上崭露头角,服务了2万+中大型客户,43万+小微企业。
thumbnail
发表于 1年以前  ·  阅读量:1021
腾讯云原生场景下内存多级卸载落地实践
近期,第四届中国云计算基础架构开发者大会(China Cloud Computing Infrastructure Developer Conference – 简称 CID)在深圳举办。本届 CID 大会聚焦业界最前沿的云计算基础架构技术成果,围绕基础架构技术领域的技术交流,展示先进技术在行业中的典型实践。在主论坛上,作者以《云原生场景下内存多级卸载落地实践》为议题,分享内存多级卸载方案(内部称“Tencent OS悟净”)在公司业务落地过程中所遇到的实际问题、对应的解决方案,以及在容器平台上的落地数据。以下为分享重点。
thumbnail
发表于 1年以前  ·  阅读量:1118
Vim 一下日志文件,Java 进程没了?
一次端口告警,发现 java 进程被异常杀掉,而根因竟然是因为在问题机器上 vim 查看了 nginx 日志。下面我将从时间维度详细回顾这次排查,希望读者在遇到相似问题时有些许启发。
thumbnail
发表于 1年以前  ·  阅读量:1130
扫码支付是怎么工作的?
过去的几十年,支付技术发生了很大的改变。下图给我们显示了 POS 终端的进化。从一开始的纸钞收银机,到刷卡机,再到如今的支持刷卡、扫码和数字钱包的一站式智能手机 POS 机,交易流程被彻底改变了。
thumbnail
发表于 1年以前  ·  阅读量:1203
容器的文件系统(三): 存储挂载原理
容器使用 volume 和 bind mount 都可以将容器内的文件或者目录挂载宿主机上,但是 volume 可由 Docker 来管理,bind mount 是直接与 Linux 原生文件系统对接。tmpfs 与 volume、bind mount 不同的是 tmpfs 是将容器内的文件、目录挂载到内存中,不会将数据存放在文件系统中。下面详细看看这三种挂载类型的使用。
thumbnail
发表于 1年以前  ·  阅读量:1138
容器的文件系统(二): 容器如何使用 OverlayFS
针对 OverlayFS 提供了两个存储驱动:最初的 overlay,以及更新更稳定的 overlay2 ,这里简单介绍下这两种驱动。
thumbnail
发表于 1年以前  ·  阅读量:1196
容器的文件系统(一): OverlayFS 原理
容器的文件系统在用户视角和宿主机的文件系统没有什么区别,但是其背后的原理却不同。在容器里运行 df 命令,可以看到在容器中根目录(/)的文件系统类型是 overlay,它不是我们在普通 Linux 节点上看到的 Ext4 或者 XFS 之类常见的文件系统。
thumbnail
发表于 1年以前  ·  阅读量:1496
一文搞懂微服务架构演进
本文将介绍微服务架构和相关的组件,介绍他们是什么,以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。
thumbnail
发表于 1年以前  ·  阅读量:843
SQL 优化经历:从 30248.271s 到 0.001s
今天分享一篇SQL优化的文章,用的数据库是mysql5.6。
thumbnail
发表于 1年以前  ·  阅读量:1078
20个Go编程最佳实践
在本教程中,我们将探讨 Golang 中的前 20 个最佳编码实践。这将帮助你编写有效的 Go 代码。
发表于 1年以前  ·  阅读量:1366
Java中保持扩展性的几种套路和实现
在日常的开发中,作者总结了平常用到的一些低成本、保持扩展性的套路,分享出来,欢迎大家讨论。
thumbnail
发表于 1年以前  ·  阅读量:1204