草庐IT

数仓架构

全部标签

一个全面、完整、稳定的 k8s 集群架构,值得借鉴!

来源:https://www.cnblogs.com/zisefeizhu/p/13692782.html前言我司的集群时刻处于崩溃的边缘,通过近三个月的掌握,发现我司的集群不稳定的原因有以下几点:1、发版流程不稳定2、缺少监控平台【最重要的原因】3、缺少日志系统4、极度缺少有关操作文档5、请求路线不明朗总的来看,问题的主要原因是缺少可预知的监控平台,总是等问题出现了才知道。次要的原因是服务器作用不明朗和发版流程的不稳定。推荐一个开源免费的SpringBoot实战项目:https://github.com/javastacks/spring-boot-best-practice解决方案发版流程

606. 【系统架构】系统架构因何而来

随着软件组件化开发方式的发展,如何在设计阶段对软件系统进行抽象,获取系统蓝图以支持系统开发中的决策成为迫切而现实的问题,分析问题的根源和产生的原因,以下现象应该获得关注:软件复杂、易变,其行为特征难以预见,软件开发过程中需求和设计之间缺乏有效的转换,导致软件开发过程困难和不可控。随着软件系统的规模越来越大、越来越大复杂,整个系统的结构和规格说明就显得越来越大重要。对于大规模的复杂软件系统,相较于对计算算法和数据结构的选择,系统的整体结构设计和规格说明已经变得明显重要得多。对软件系统结构的深入研究将会成为提高软件生产率和解决软件维护问题的最优系统的新途径。在这种情况下,软件架构应运而生。

基于Telegram二次开发 --- MTProtoKit 架构

MTProto是Telegram的核心协议,旨在支持多种传输协议;当前版本的Telegram-iOS仅支持TCP传输;HTTP传输已于2018年删除;VoIP模块libtgvoip支持UDP和TCP传输。MTProtoKit源码仓库MTProto官方文档Telegram-iOS在Network内置了用于冷启动的种子地址:letseedAddressList:[Int:[String]]seedAddressList=[1:["149.154.175.50","2001:b28:f23d:f001::a"],2:["149.154.167.50","2001:67c:4e8:f002::a"],

Android Jetpack架构组件(十一)— DataStore

一、DataStore简介JetpackDataStore是一种数据存储解决方案,允许您使用协议缓冲区存储键值对或类型化对象。DataStore使用Kotlin协程和Flow以异步、一致的事务方式存储数据。PreferencesDataStore和ProtoDataStoreDataStore提供两种不同的实现:PreferencesDataStore和ProtoDataStore。PreferencesDataStore使用键存储和访问数据。此实现不需要预定义的架构,也不确保类型安全。ProtoDataStore将数据作为自定义数据类型的实例进行存储。此实现要求您使用协议缓冲区来定义架构,但

终于有人将jvm讲清楚了,阿里架构师推荐jvm架构解析文档

一、JVM内存区域划分程序计数器(线程私有)程序计数器(ProgramCounterRegister),也有称作为PC寄存器。保存的是程序当前执行的指令的地址(也可以说保存下一条指令的所在存储单元的地址),当CPU需要执行指令时,需要从程序计数器中得到当前需要执行的指令所在存储单元的地址,然后根据得到的地址获取到指令,在得到指令之后,程序计数器便自动加1或者根据转移指针得到下一条指令的地址,如此循环,直至执行完所有的指令。也就是说是用来指示执行哪条指令的。由于在JVM中,多线程是通过线程轮流切换来获得CPU执行时间的,因此,在任一具体时刻,一个CPU的内核只会执行一条线程中的指令,因此,为了能

02-架构师的视图和视角

1.架构师的视图image.png1.1上下文视图1.1.1概念上下文视图总结我们所设计的架构背后究竟是怎么样的一个系统,包括系统本身、外部实体和相关接口。1.1.2示例image.png1.2功能视图1.2.1概述描述系统运行时功能元素及其职责、接口和交互关系。功能视图和上下文视图有一定的重合之处,但功能视图脱离环境,描述的是系统组件定义及各个组件之间的交互关系而不是业务场景分析.1.2.2示例image.png1.3数据视图1.3.1概念数据视图描述系统存储、操作、管理和分发数据的方式,是系统中核心业务数据的一种载体和表现形式。1.3.2数据视图对数据的处理数据视图对数据的处理包括几个主要

架构必修课:使用Bom管理依赖项,告别依赖包版本冲突

如果你使用过SpringBoot,应该能注意到我们只需要声明使用的库即可,而不必指定版本。如下所示:dependencies{implementation'org.springframework.boot:spring-boot-starter-web'implementation'javax.cache:cache-api'implementation'jakarta.xml.bind:jakarta.xml.bind-api'runtimeOnly'org.springframework.boot:spring-boot-starter-actuator'runtimeOnly'com.h

订单中心架构设计与实践

不同的业务采用不同的系统架构,会有自己的一些特色架构难题。今天我们来学习下电商业务中的订单中心的架构设计,以及会遇到哪些技术挑战。一、背景随着用户量级的快速增长,vivo官方商城v1.0的单体架构逐渐暴露出弊端:模块愈发臃肿、开发效率低下、性能出现瓶颈、系统维护困难。从2017年开始启动的v2.0架构升级,基于业务模块进行垂直的系统物理拆分,拆分出来业务线各司其职,提供服务化的能力,共同支撑主站业务。订单模块是电商系统的交易核心,不断累积的数据即将达到单表存储瓶颈,系统难以支撑新品发布和大促活动期间的流量,服务化改造势在必行。本文将介绍vivo商城订单系统建设的过程中遇到的问题和解决方案,分享

架构师自诉:如何做到百万数据半小时跑批结束

业务背景跑批通常指代的是我们应用程序针对某一批数据进行特定的处理在金融业务中一般跑批的场景有分户日结、账务计提、欠款批扣、不良资产处理等等具体举一个例子🌰客户在我司进行借款,并约定每月10号码还款,在客户自主授权银行卡签约后在每月10号(通常是凌晨)我们会在客户签约的银行卡上进行扣款然后可能会有一个客户、两个客户、三个客户、四个客户、好多个客户都需要进行扣款,所以这一“批”所有数据,我们都要统一地进行扣款处理,即为我们“跑批”的意思跑批任务是要通过定时地去处理这些数据,不能因为其中一条数据出现异常从而导致整批数据无法继续进行操作,所以它必须是健壮的;并且针对于异常数据我们后续可以进行补偿处理,

【5分钟背八股】简述kafka架构设计?

语义概念1brokerKafka集群包含一个或多个服务器,服务器节点称为broker。broker存储topic的数据。如果某topic有N个partition,集群有N个broker,那么每个broker存储该topic的一个partition。如果某topic有N个partition,集群有(N+M)个broker,那么其中有N个broker存储该topic的一个partition,剩下的M个broker不存储该topic的partition数据。如果某topic有N个partition,集群中broker数目少于N个,那么一个broker存储该topic的一个或多个partition。在