草庐IT

分离架构

全部标签

架构探索之路-第一站-clickhouse

一、前言架构,软件开发中最熟悉不过的名词,遍布在我们的日常开发工作中,大到项目整体,小到功能组件,想要实现高性能、高扩展、高可用的目标都需要优秀架构理念辅助.所以本人尝试编写架构系列文章,去剖析市面上那些经典优秀的开源项目,学习优秀的架构理念来积累架构设计的经验与思考,在后续日常工作中遇到相同问题时能有更深一层的认知.本章以实时OALP引擎Clickhouse(简称ck)为例,以其面向场景,架构设计,细节实现等方面来介绍,深度了解其如何成为了OLAP引擎中的性能之王.二、Clickhouse简介Clickhouse是俄罗斯Yandex(俄罗斯网络用户最多的网站)于2016年开源的一个用于联机分

构建高可用的MongoDB部署架构:应对故障和灾难恢复

MongoDB是一种流行的NoSQL数据库,广泛用于各种规模的应用程序。为了确保数据的高可用性和灾难恢复能力,构建一个可靠的MongoDB部署架构至关重要。本文将重点介绍如何构建高可用的MongoDB部署架构,以应对故障和灾难恢复。一、复制集(ReplicaSet)复制集是MongoDB高可用性的基础。它由多个MongoDB节点组成,其中一个节点作为主节点,其他节点作为从节点。以下是构建高可用的MongoDB复制集的关键步骤:1、部署节点:根据需求部署多个MongoDB节点,并确保节点之间的网络互通。2、设置复制集配置:指定一个节点作为主节点,将其他节点添加为从节点。通过在主节点上运行rs.i

一文搞懂微服务架构演进

大家好呀,我是楼仔。本文将介绍微服务架构和相关的组件,介绍他们是什么,以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。不BB,详见目录:图片01最初的需求几年前,小明和小皮一起创业做网上超市。小明负责程序开发,小皮负责其他事宜。当时互联网还不发达,网上超市还是蓝海。只要功能实现了就能随便赚钱。所以他们的需求

【Spring Boot】开发基于三层架构设计:Dao层、Service层、Controller层及案例一(91)

三层架构设计:基于SpringBoot开发要使用三层架构:数据访问层(Dao)、业务逻辑层(Service)、控制层(Control-ler)(1)数据访问层(Dao):Dao层是最底层的设计,用户操作数据库。通过MyBatis持久化实现接口开发,XML文件。Dao层的设计步骤:1、在数据库中生成数据库表2通过XML文件实现数据库的映射和操作。(2)业务逻辑层(Service):Service层是中间层,在Dao层和Controller层之间进行逻辑处理工作。考虑到程序的耦合度问题,为了降低各个模块的关联,每个接口都封装有各自的业务处理方法。(3)控制层(Controller):Control

面向数据湖的应用架构设计

作者:禅与计算机程序设计艺术1.简介随着互联网公司对海量数据的需求越来越强烈,一些数据处理工作也越来越具有挑战性。传统的数据分析方法已经不能很好地适应这一规模的数据处理需求了。为了解决这一问题,大数据分析技术蓬勃发展,比如hadoop、spark等框架和工具的出现,把海量数据分布式存储于不同的机器上进行计算处理,充分利用多核CPU资源,有效提升数据处理效率。然而这些技术只能处理一定规模的数据集,如TB级别的高并发日志数据处理。而实际生产环境中的数据往往都是庞大的海量数据集,如何根据海量数据进行实时分析、推荐系统、风险识别等应用,需要一个统一的面向海量数据的应用架构。数据湖的理念就是将企业的各种

微服务架构中实施CQRS失败的四个重大原因,引以为戒!

CQRS(命令查询职责分离)是一种在复杂商业应用中非常有用的模式,特别是当读操作和写操作有不同需求时。举个例子,写操作可能想要在关系型数据库中以规范化形式维护一个模型,而读操作则可以将模型表现为文档数据库中的文档。但是理解CQRS并不容易。它涉及到读操作、写操作、事件、命令、领域驱动设计(DDD)、事件溯源以及最终一致性等概念。实现CQRS的常见方式是创建两个服务,并通过事件进行通信。我们的CQRS实现为了将CQRS集成到我们的自定义框架中,我们使用了Axon框架。因为Axon是最容易使用的,并且对SpringBoot框架有很好的支持。架构图如下所示:我们为写入和读取创建了两个单独的服务。这两

Android 架构组件 ViewModel 上下文

我正在研究谷歌的架构组件来为我的应用程序实现ViewModel和LiveData,官方文档说:Note:SincetheViewModeloutlivesspecificactivityandfragmentinstantiations,itshouldneverreferenceaView,oranyclassthatmayholdareferencetotheactivitycontext.IftheViewModelneedstheApplicationcontext(forexample,tofindasystemservice),itcanextendtheAndroidVi

【软考系统架构设计师】2022下论文写作历年真题

【软考系统架构设计师】2022下论文写作历年真题【软考系统架构设计师】2022下论文写作历年真题【软考系统架构设计师】2022下论文写作历年真题试题四论湖仓一体架构及其应用(75分)试题三论区块链技术及应用(75分)试题二论软件维护方法及其应用(75分)试题一论基于构件的软件开发方法及其应用(75分)试题四论湖仓一体架构及其应用(75分)试题四论湖仓一体架构及其应用随着5G、大数据、人工智能、物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多样性的特点,特别是非结构化数据呈现出爆发式增长趋势。在这一背景下,企业数据管理不再局限于传统的结构化OLTP(On-LineTr

黑豹程序员-架构师学习路线图-百科:API接口测试工具Postman

文章目录1、为什么要使用Postman?2、什么是Postman?1、为什么要使用Postman?目前我们开发项目大都是前后端分离项目,前端采用h5+css+js+vue基于nodejs,后端采用java、SpringBoot、SSM,大型项目采用SpringCloud微服务。后端为和前端对接,形成很多API接口,也就是URL链接和其参数。这时后端写完后我们前端还有大量代码需要写,所以写前端之前最好保证后端的代码是正确的。那就需要我们进行测试。目前主流web项目我们采用get和post方式,或者新的采用put、delete方式。get的好说,直接浏览器中敲入URL就可以,但post/put/d

云计算:从基础架构原理到最佳实践之:云计算大数据处理与存储

作者:禅与计算机程序设计艺术1.背景介绍云计算已经成为全球IT技术转型的一个重要组成部分。随着大数据的快速增长、高速发展,云计算应用也正在广泛地普及。如何利用云计算平台实现海量数据存储、处理、分析与挖掘是一个值得探讨的问题。本文将通过云计算平台的原理和架构,结合大数据处理和存储的实际场景,介绍云计算大数据处理与存储的相关技术和方法。云计算可以帮助企业摆脱传统的“裸奔”IT架构,实现服务商模式下的互联网化、动态化、灵活性强等特点。云计算平台由多种软硬件组件构成,包括服务器、网络设备、存储、数据库、操作系统、中间件、应用程序框架等,能够自动管理和调配资源,提升资源利用率,降低成本。同时,云计算平台