- 1 简介我们经常在日常生活中遇到这些"想当然"的口语:为什么有这个世界?本来就是这样的不用想,那是自然而然的那是理所应当的,吃太饱了...那是显而易见的...前人有言难道不是每个人都在一千次使用这个原则(PSR)吗?--莱布尼茨 1.1 存在是有原因的即使我们在坚持不懈地追求这种充分理由律的思路,就像我不会做的那样,我的一部分想法是真的很想停下来,因为我们知道这种追求可以赢得一些朋友和盟友... 1 简介我们经常在日常生活中遇到这些"想当然"的口语:为什么有这个世界?本来就是这样的不用想,那是自然而然的那是理所应当的,吃太饱了...那是显而易见的...前人有言难道不是每个人都在一千次使用这个原则(PSR)吗?--莱布尼茨 1.1 存在是有原因的即使我们在坚持不懈地追求这种充分理由律的思路,就像我不会做的那样,我的一部分想法是真的很想停下来,因为我们知道这种追求可以赢得一些朋友和盟友...
- 0 简介大多数企业依靠可扩展的平台和其服务或产品的数据化来保持市场竞争力。随着来自不同来源的数据的激增,其数量、速度和种类各不相同,企业需要新的数据战略。因此,人们认为需要数据管道将来自所有不同来源的数据整合到一个共同的目的地,以便进行快速分析,或者在连接的应用程序和系统之间处理和流式传输数据。这里简单解释两种经典数据处理架构和一个通用编程模型,并例举他们的组件和使用场景,最后做一个简单的... 0 简介大多数企业依靠可扩展的平台和其服务或产品的数据化来保持市场竞争力。随着来自不同来源的数据的激增,其数量、速度和种类各不相同,企业需要新的数据战略。因此,人们认为需要数据管道将来自所有不同来源的数据整合到一个共同的目的地,以便进行快速分析,或者在连接的应用程序和系统之间处理和流式传输数据。这里简单解释两种经典数据处理架构和一个通用编程模型,并例举他们的组件和使用场景,最后做一个简单的...
- 1 简介韧性从多个维度诠释了软件持续提供业务服务的能力,核心目标是提升软件的平均无故障时间(Mean Time Between Failure,MTBF)。从架构设计上,韧性包括服务异步化能力、重试/限流/降级/熔断/反压、主从模式、集群模式、AZ内的高可用、单元化、跨region容灾、异地多活容灾等。这里介绍保障业务韧性的一个经典方法,主从模式。当业务上线后,最不能接受的就是业务不可用,... 1 简介韧性从多个维度诠释了软件持续提供业务服务的能力,核心目标是提升软件的平均无故障时间(Mean Time Between Failure,MTBF)。从架构设计上,韧性包括服务异步化能力、重试/限流/降级/熔断/反压、主从模式、集群模式、AZ内的高可用、单元化、跨region容灾、异地多活容灾等。这里介绍保障业务韧性的一个经典方法,主从模式。当业务上线后,最不能接受的就是业务不可用,...
- 1 读写分离和主从复制大型应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务器读数据的时候,就可以通过从数据库获得数据,他们如何实现的?为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,使数据库读写分离对应用透明。 2 使用和配置二进制日志MySQL的二进制日志binlog可以说是MySQL最重要的日志... 1 读写分离和主从复制大型应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务器读数据的时候,就可以通过从数据库获得数据,他们如何实现的?为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,使数据库读写分离对应用透明。 2 使用和配置二进制日志MySQL的二进制日志binlog可以说是MySQL最重要的日志...
- 简介这里主要介绍索引的功能,以及为什么,它可帮助使用者优化如何查询已经存储的数据的同时,过多的使用反而导致性能下降?索引通过最大限度地减少完成查询所需的光盘访问次数来提高数据库性能。它是一种数据结构技术,用于查找和快速访问数据库中的数据。多个数据库字段用于生成索引。表的主键或候选键在第一列中重复,即搜索键。为了加快数据检索速度,这些值也按排序顺序保存。应该强调的是,不需要对数据进行排序。第... 简介这里主要介绍索引的功能,以及为什么,它可帮助使用者优化如何查询已经存储的数据的同时,过多的使用反而导致性能下降?索引通过最大限度地减少完成查询所需的光盘访问次数来提高数据库性能。它是一种数据结构技术,用于查找和快速访问数据库中的数据。多个数据库字段用于生成索引。表的主键或候选键在第一列中重复,即搜索键。为了加快数据检索速度,这些值也按排序顺序保存。应该强调的是,不需要对数据进行排序。第...
- 简介:这里介绍如何应对缓存击穿的场景,有哪些?比如: 黑客攻击,用户错误的服务? 服务启动了,但是缓存没有数据? 1 使用bloom fliter的场景Bloom 过滤器是由 Burton Howard 于 1970 年构思的一种概率数据结构,它提供了一种有效的方法来验证条目肯定不在集合中。这使得它在尝试在访问成本高昂的资源(例如通过网络或磁盘)上搜索项目时特别理想:如果我有... 简介:这里介绍如何应对缓存击穿的场景,有哪些?比如: 黑客攻击,用户错误的服务? 服务启动了,但是缓存没有数据? 1 使用bloom fliter的场景Bloom 过滤器是由 Burton Howard 于 1970 年构思的一种概率数据结构,它提供了一种有效的方法来验证条目肯定不在集合中。这使得它在尝试在访问成本高昂的资源(例如通过网络或磁盘)上搜索项目时特别理想:如果我有...
- 1 简介大型应用,服务器和数据库的压力基本持平,中小型软件,服务器压力没有数据库压力大,他们如何做到的?将一部分推拉数据功能模块转化为通过服务器缓存或计算去完成,从而将数据库压力转移到服务器。以上方案也无法降低数据库压力时,还可以凭借分布式数据库,主从读写分离数据库支持横向扩展能力,提升数据库性能,理论上横向扩展数据库性能可以无上限提高数据库承压能力。因此从代码层,中间层,分布式三个分析分... 1 简介大型应用,服务器和数据库的压力基本持平,中小型软件,服务器压力没有数据库压力大,他们如何做到的?将一部分推拉数据功能模块转化为通过服务器缓存或计算去完成,从而将数据库压力转移到服务器。以上方案也无法降低数据库压力时,还可以凭借分布式数据库,主从读写分离数据库支持横向扩展能力,提升数据库性能,理论上横向扩展数据库性能可以无上限提高数据库承压能力。因此从代码层,中间层,分布式三个分析分...
- 共识算法共识算法是一种用于分布式系统中的算法,其目的是让不同的节点在没有中心化控制的情况下,达成一致的决策。这个决策可以是任何事情。在一个分布式系统中,每个节点都有自己的数据和状态,这些节点需要相互通信以达成共识。共识算法的作用就是让这些节点在达成共识时,保持一致性和正确性。这对于构建高可用性、高性能、可拓展性的分布式系统至关重要。适用于实际系统的共识算法通常具有以下特性:安全。确保在非拜占... 共识算法共识算法是一种用于分布式系统中的算法,其目的是让不同的节点在没有中心化控制的情况下,达成一致的决策。这个决策可以是任何事情。在一个分布式系统中,每个节点都有自己的数据和状态,这些节点需要相互通信以达成共识。共识算法的作用就是让这些节点在达成共识时,保持一致性和正确性。这对于构建高可用性、高性能、可拓展性的分布式系统至关重要。适用于实际系统的共识算法通常具有以下特性:安全。确保在非拜占...
- 1 一个简单分布式算法物联网通常具有网络不稳定,速率低,分散较广的特点。没有毫无用处的算法,那是没有遇到合适的场景。 1.1 需要解决的问题:1,高速网络 与 延迟缓慢的网络, 需要 确保所有进程 使用相同的频率 与高速网络通信。2,如果当前使用的频率出现问题,需要切换频率。 1.2 问题特点:1,信息是幂等的,如果高速网络切换到不同的频率,新的频率不依赖于旧的频率。接受新频率的进程 可 ... 1 一个简单分布式算法物联网通常具有网络不稳定,速率低,分散较广的特点。没有毫无用处的算法,那是没有遇到合适的场景。 1.1 需要解决的问题:1,高速网络 与 延迟缓慢的网络, 需要 确保所有进程 使用相同的频率 与高速网络通信。2,如果当前使用的频率出现问题,需要切换频率。 1.2 问题特点:1,信息是幂等的,如果高速网络切换到不同的频率,新的频率不依赖于旧的频率。接受新频率的进程 可 ...
- 前言前段时间有同学在微信群里提问,要使用.NET开发一个简单的爬虫功能但是没有做过无从下手。今天给大家推荐一个轻量、灵活、高性能、跨平台的分布式网络爬虫框架(可以帮助 .NET 工程师快速的完成爬虫的开发):DotnetSpider。注意:为了自身安全请在国家法律允许范围内开发网络爬虫功能。框架设计图整个爬虫设计是纯异步的,利用消息队列进行各个组件的解耦,若是只需要单机爬虫则不需要做任何额外... 前言前段时间有同学在微信群里提问,要使用.NET开发一个简单的爬虫功能但是没有做过无从下手。今天给大家推荐一个轻量、灵活、高性能、跨平台的分布式网络爬虫框架(可以帮助 .NET 工程师快速的完成爬虫的开发):DotnetSpider。注意:为了自身安全请在国家法律允许范围内开发网络爬虫功能。框架设计图整个爬虫设计是纯异步的,利用消息队列进行各个组件的解耦,若是只需要单机爬虫则不需要做任何额外...
- 前言在当今大数据时代,数据的快速增长使得有效地管理、检索和分析数据成为企业发展的关键。Elasticsearch(以下简称ES)作为一种开源的分布式搜索和分析引擎,在这个领域中扮演着重要的角色。它不仅仅只是全文搜索,还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关系等。Elasticsearch是基于Apache Lucene的搜索引擎,但它不仅仅局限于搜索功能,还提供了... 前言在当今大数据时代,数据的快速增长使得有效地管理、检索和分析数据成为企业发展的关键。Elasticsearch(以下简称ES)作为一种开源的分布式搜索和分析引擎,在这个领域中扮演着重要的角色。它不仅仅只是全文搜索,还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关系等。Elasticsearch是基于Apache Lucene的搜索引擎,但它不仅仅局限于搜索功能,还提供了...
- 导言CatBoost是一种高效的梯度提升算法,可以处理大规模数据集并支持分布式训练。在实际应用中,处理大规模数据集时,分布式训练可以大大加快模型训练的速度,并提高训练效果。本教程将详细介绍如何在Python中使用CatBoost进行分布式训练与大规模数据处理,并提供相应的代码示例。 安装依赖首先,我们需要安装CatBoost和其他必要的依赖库。您可以使用以下命令来安装:pip instal... 导言CatBoost是一种高效的梯度提升算法,可以处理大规模数据集并支持分布式训练。在实际应用中,处理大规模数据集时,分布式训练可以大大加快模型训练的速度,并提高训练效果。本教程将详细介绍如何在Python中使用CatBoost进行分布式训练与大规模数据处理,并提供相应的代码示例。 安装依赖首先,我们需要安装CatBoost和其他必要的依赖库。您可以使用以下命令来安装:pip instal...
- 本文介绍了如何基于SpringAMQP实现消息队列。Spring AMQP是Spring框架对AMQP(高级消息队列协议)的支持,提供了在分布式系统中进行消息传递的强大机制。它构建在RabbitMQ之上,并提供了一种灵活且易于使用的方式,用于在微服务架构中进行异步通信和消息传递。 本文介绍了如何基于SpringAMQP实现消息队列。Spring AMQP是Spring框架对AMQP(高级消息队列协议)的支持,提供了在分布式系统中进行消息传递的强大机制。它构建在RabbitMQ之上,并提供了一种灵活且易于使用的方式,用于在微服务架构中进行异步通信和消息传递。
- 前言生成分布式唯一ID的方式有很多种如常见的有UUID、Snowflake(雪花算法)、数据库自增ID、Redis等等,今天我们来讲讲.NET集成IdGenerator生成分布式全局唯一ID。分布式ID是什么?分布式ID是一种在分布式系统中生成唯一标识符的方法,用于解决多个节点之间标识符重复或性能问题。分布式ID需要满足的条件全局唯一性:分布式ID在整个分布式系统中必须是唯一的,不同节点生成... 前言生成分布式唯一ID的方式有很多种如常见的有UUID、Snowflake(雪花算法)、数据库自增ID、Redis等等,今天我们来讲讲.NET集成IdGenerator生成分布式全局唯一ID。分布式ID是什么?分布式ID是一种在分布式系统中生成唯一标识符的方法,用于解决多个节点之间标识符重复或性能问题。分布式ID需要满足的条件全局唯一性:分布式ID在整个分布式系统中必须是唯一的,不同节点生成...
- 本文详细介绍了在Spring Cloud框架中集成RabbitMQ消息队列的步骤。首先,通过添加必要的依赖,配置RabbitMQ连接信息。接着,创建消息生产者和消费者,利用Spring Cloud Stream简化消息绑定过程。生产者负责发送消息到RabbitMQ队列,而消费者通过监听队列接收并处理消息。通过这种异步通信机制,实现了分布式系统中微服务之间的松耦合,提高了系统的可伸缩性和可维护性。 本文详细介绍了在Spring Cloud框架中集成RabbitMQ消息队列的步骤。首先,通过添加必要的依赖,配置RabbitMQ连接信息。接着,创建消息生产者和消费者,利用Spring Cloud Stream简化消息绑定过程。生产者负责发送消息到RabbitMQ队列,而消费者通过监听队列接收并处理消息。通过这种异步通信机制,实现了分布式系统中微服务之间的松耦合,提高了系统的可伸缩性和可维护性。
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签