1 天前 / u128287
编者按 不起眼的一滴水,融汇在一起可以成为溪流,溪流汇聚成江河,江河最终变成大海。面对 2020 年初突然爆发的疫情,京东技术人作为抗疫的一份子,在口罩预约抢购上夜以继日,为了让更多有效用户可以买到急需的防疫口罩而奋斗。在 2021 年初疫情又略有抬头的今天,回顾以往,更具意义。 背景 突如其来的疫情,让口罩成为全国人民争相抢购的必需品。在疫情最严重的 2020 年 2 月份,京东组织力量采购了一批口罩,面向全国人民发售。由于库存十分有限,运营采用了预约 + 秒杀的营销模式,也就是用户先预约,到了指定时间才能通过秒杀系统抢购。
2 天前 / u578913
云原生和边缘计算是近两年都非常火的技术话题了,在第十届云计算标准和应用大会上,阿里云高级技术专家熊鹰分享了《基于融合、协同系统的边缘云原生架构演进和实践》,希望通过介绍现在阿里云在边缘计算和边缘云原生这些技术领域的系统架构演进,让大家了解到业务在云原生和边缘计算结合场景下落地的一些思考。 一、概述近几年边缘计算发展非常迅猛,大家可以在各种标准和资料中看到各家对它的定义,这里对其中的几个基础概念做一个总结性的表述:【缘起】边缘计算概念的缘起,可以追溯到比较久远的时期,但是真正热度兴起...
3 天前 / JAVA日知录
看多了应用服务的高可用架构,我们来看看数据库的高可用吧。 数据存储高可用的方案本质都是通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用。常见的高可用架构有主备、主从、主主、集群、分区等,接下来我们聊聊每种架构的优缺点。 主备架构基本架构拓扑图如下整体架构简单,几乎所有的数据库都提供了主备复制的功能,例如 Mysql、Oracle、MongoDB 等。在这种架构中备库主要承担数据备份的作用,不参与实际业务读写操作,如果把备机改成主机需要人工操作。
4 天前 / AddoZhang
本文译自 Application architecture: why it should evolve with the market 最初由 Mia Platform 团队发布在 Mia Platform 的博客上 如今,IT 挑战在于通过有效选择应用架构来适应市场和业务需求的发展。为了满足业务和客户的需求,IT 部门应能够对技术和方法采取行动以确保软件具有灵活性,并实现产品和服务的持续创新流程,从而做出更快的反应 。 当然,过去的单体应用程序和刚性基础设施无法做到这一点。相反,它可以通过为演化而设计的架构来实现,该架构在需要时易于更新和重构。
5 天前 / 多颗糖
▲点击上方"多颗糖"关注公众号 一个公司决定用软件解决一个特定的问题的时候,公司会去收集该软件的需求清单。需求可以说是软件开发的基础,但除了需求以外,架构师有很多因素需要去考虑。 下图在第 1 章出现过: 架构师可能会参与收集需求,但架构师一个关键的职责是要发现、定义其它和具体需求没有直接关系的东西,这些东西称之为架构特性(architectural characteristics)。 一个架构特性满足三个标准: 指定了一个非领域(业务)设计的考虑因素:例如,一个重要的架构特性是应用程序的性能水平...
5 天前 / djwang
本文作者为 StreamNative 软件工程师李鹏辉与 Overstock 数据工程师 Devin G. Bost。中文博客内容由 StreamNative 翻译并整理。 阅读本文需要大约 12 分钟。 关于 Apache PulsarApache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。 GitHub 地址:http://github.com/apache/pulsar/ Apache Pulsar 的性能通常指与读写消息相关的吞吐量和延迟。
5 天前 / 美团技术团队
总第 432 篇 2021 年 第 002 篇 Kafka 在美团数据平台承担着统一的数据缓存和分发的角色,针对因 PageCache 互相污染,进而引发 PageCache 竞争导致实时作业被延迟作业影响的痛点,美团基于 SSD 自研了 Kafka 的应用层缓存架构。本文主要介绍了该架构的设计与实现,主要包括方案选型,与其他备选方案的比较以及方案的核心思考点等,最后介绍该方案与其他备选方案的性能对比。Kafka 在美团数据平台的现状 Kafka 出色的 I/O 优化以及多处异步化设计,相比其他消息队列系统具有更高的吞吐,同时能够保证不错的延迟,十分适合应用在整个大数据生态中。
6 天前 / 逗逗
分享嘉宾:曲瑶 58 同城架构师 编辑整理:张磊 出品平台:DataFunTalk、AI 启蒙者 导读:随着大数据的快速发展,大数据应用已经融入各行各业。在很多场景中得到了商业化实践。今天和大家分享下 58 同城联盟广告平台架构及实践。主要包括:58 联盟广告 SSP 媒体平台、投放平台、程序化创意等核心模块的设计和实现,以及对联盟业务的思考与展望。 01 联盟广告平台简介 1.业务概述 58 联盟广告平台主要是以 58 站内的广告主为基础并结合站外流量,帮助 58 站内广告主获取站外潜在用户,从而实现流量变现。流量获取主要通过 SSP 和 DSP 这两种方式。
6 天前 / xF0rk
什么是文件系统? 文件系统是计算机中一个非常重要的组件,为存储设备提供一致的访问和管理方式。在不同的操作系统中,文件系统会有一些差别,但也有一些共性几十年都没怎么变化: 数据是以文件的形式存在,提供 Open、Read、Write、Seek、Close 等 API 进行访问; 文件以树形目录进行组织,提供原子的重命名(Rename)操作改变文件或者目录的位置。 文件系统提供的访问和管理方法支撑了绝大部分的计算机应用,Unix 的“万物皆文件”的理念更是凸显了它的重要地位。
6 天前 / reesunhuang
背景 流利说目前的离线计算任务中,大部分数据源都是来自于业务 DB,业务 DB 数据接入的准确性、稳定性和及时性,决定着下游整个离线计算 pipeline 的准确性和及时性。同时,我们还有部分业务需求,需要对 DB 中的数据和 hive 中的数据做近实时的联合查询。 在引入阿里云 EMR Delta Lake 之前,我们通过封装 DataX 来完成业务 DB 数据的接入,采用 Master-Slave 架构,Master 维护着每日要执行的 DataX 任务的元数据信息,Worker 节点通过不断的以抢占的方式获取状态为 init 和 restryable 的 DataX 任务来执行...
7 天前 / u128287
阿里妹导读:什么是领域模型?什么又是数据模型?两者可以等同吗?在实际应用中,怎么样才能用好它们?本文介绍领域模型和数据模型的概念定义,并举例说明两者相互混淆的错误用法,分享如何正确地应用它们。 文末福利:16 本大数据电子书免费下载! 依稀记得我第一次设计一个系统的时候,画了一堆 UML(Unified Modeling Language,统一建模语言)图,面对 Class Diagram(其实就是领域模型),纠结了好久,不知道如何落地。因为,如果按照这个类图去落数据库的话,看起来很奇怪,有点繁琐。可是不按照这个类图落库的话,又不知道这个类图画了有什么用。
9 天前 / 多颗糖
0. 写在前面什么是好的代码?好的代码应该模块化。 王垠在其《编程的智慧》中也提到,要“写模块化的代码”。( 不对人做评价,这篇文章写得是非常好的。) 如果你读过《代码大全》和《代码整洁之道》等书,一定对“高内聚、低耦合”不陌生。 好的模块化代码就是要高内聚、低耦合。 事实上,内聚和耦合是 1972 年就提出的概念,由于耦合不好具体的衡量,Meilir Page-Jones 在 1992 年提出了共生性(Connascence)。本章重点就是介绍如何评估模块化架构,以及引入共生性这一概念来帮助更好的模块化。
13 天前 / 多颗糖
▲点击上方"多颗糖"关注公众号 架构思维指用架构的眼光和观点来看待事物,主要包括: 理解软件架构和软件设计的区别,知道与开发团队合作,并让架构发挥作用。 拥有技术广度的同时,保持一定的技术深度,看到别人看不到的解决方案和可能性。 理解、分析、协调各种解决方案和技术之间的权衡。 理解业务驱动的重要性,以及如何将其转化为架构。 架构与设计软件架构和软件设计的区别往往是一个令人困惑的问题。
13 天前 / 多颗糖
▲点击上方"多颗糖"关注公众号 架构思维指用架构的眼光和观点来看待事物,主要包括: 理解软件架构和软件设计的区别,知道与开发团队合作,并让架构发挥作用。 拥有技术广度的同时,保持一定的技术深度,看到别人看不到的解决方案和可能性。 理解、分析、协调各种解决方案和技术之间的权衡。 理解业务驱动的重要性,以及如何将其转化为架构。 架构与设计软件架构和软件设计的区别往往是一个令人困惑的问题。
16 天前 / mr7
文 / 明道云创始人任向晖 本文来自即将出版的《零代码企业应用搭建指南》中的关键章节,指导用户进行相对复杂应用的前期信息架构工作。 零代码平台赋能了业务开发者,让他们可以不写代码就能完成应用实现。但是企业应用设计和开发毕竟是一个复杂过程,对于大多数用户来说,即兴创作是很难的。对于比较复杂的应用搭建需求,它依然需要一个完善的分析和计划的过程。 在企业信息系统建设过程中,开发和实施前都离不开架构设计工作,对于复杂的系统,信息架构所花的工作时间比例更高。