草庐IT

分离架构

全部标签

整洁架构在前端的设计思想与应用实践

随着业务的发展,前端项目承载了越来越多的职责,也越来越复杂,简单通过cli生成的框架结构越来越无法满足。面对前端项目复杂度的不断提升,我们开始思考前端的架构组织方式怎么才更合理?应该如何设计良好的前端架构?行业是否有比较好的优秀实践?本文先从架构基本概念开始介绍,然后介绍整洁架构的概念和设计理念,最后结合整洁架构、DDD方法论,一起探讨整洁架构在前端的应用实践。1、 为什么需要了解架构对于每个软件系统,我们都可以通过行为和架构两个维度来体现它的实际价值。行为是指系统实现的功能特性,一般是比较紧急的,需要按时上线。架构就是指系统架构,是重要的,但是并不总是特别紧急。因此导致我们常常忽视系统的架构

使用查询分离 后 从20s优化到500ms

在前面一篇文章中提到过对于业务主表读写缓慢的解决方案:冷热分离,有不了解的请看:业务主表读写缓慢如何优化?冷热分离固然是一个性价比高的解决方案,但也并不是银弹,仍然有诸多限制,比如:查询冷数据慢业务无法修改冷数据冷数据多到一定程度系统依旧扛不住此时如果需要解决以上问题,可以采用另外一种方案:使用 查询分离 优化业务主表数据大查询缓慢的问题什么是查询分离?查询分离从字面上来说非常容易理解,其实就是在写数据时保存一个备份数据到另外的存储系统,在查询时直接从另外的存储系统中获取数据,如下图:图片查询分离以上只是简单的架构图,其中有些细节还是需要深究,如下:什么时候触发查询分离?如何实现查询分离?查询

直播房间服务基于CQRS的架构演进实践

引言房间系统是直播业务的“基石”,开播和看播两大体系都是围绕房间场景展开。房间系统架构也经历一系列的升级和挑战,从房间读多活、混沌流量治理、热点发现、多级缓存等,支撑了S11破千万PCU的流量洪峰冲击。为了应对业务更大的挑战,基于CQRS思想,分离大流量的用户高读场景(Query)和注重数据强一致性的开播创建房间等写场景(Command)。对于用户端可以无状态无限制的扩容服务副本,做到支持更大线上用户同时在线的目标。背景直播业务的技术服务体系也实践过从单体到微服务化的演进之路,以技术视角看微服务体现单一职责和关注分离的思想,从大单体应用的进程模块拓展到分布式的应用服务模块化。同时微服务也是有额

华为云HBase冷热分离最佳实践

本文分享自华为云社区 《华为云HBase冷热分离最佳实践》,作者:pippo。HBase介绍HBase是HadoopDatabase的简称,是建立在Hadoop文件系统之上的分布式面向列的数据库,它具有高可靠、高性能、面向列和可伸缩的特性,提供快速随机访问海量数据能力。HBase采用Master/Slave架构,由HMaster节点、RegionServer节点、ZooKeeper集群组成,底层数据存储在HDFS上。整体架构如图所示:HMaster主要负责:在HA模式下,包含主用Master和备用Master。主用Master:负责HBase中RegionServer的管理,包括表的增删改查;

新零售SaaS架构:面向中小连锁的SaaS系统整体规划

零售企业的发展路径零售企业的发展路径一般可分为以下几个阶段:单店经营阶段:企业在一个地区或城市开设单个门店。这时,企业需要把精力放在了解当地市场和顾客需求上,这是积累经验和品牌知名度的重要环节。为了在市场中建立竞争力,企业需要不断提升产品和服务的质量,比如探索新的零售方式、创新商品、提高服务质量、改善售后等。分店扩张阶段:企业开始逐步在不同地区开设更多的门店,以满足更广泛的市场需求。这样可以增加品牌曝光率,提高采购、物流效率。在这个阶段,企业考虑增加新的销售渠道,比如电商平台、社交平台等,以吸引更多的消费者。区域连锁阶段:企业开始在不同城市或地区开拓新市场,通过直营或加盟模式,建立起多区域的连

交易日均千万订单的存储架构设计与实践

一、订单系统概述1.1业务范围服务业务线:快递、快运、中小件、大件、冷链、国际、B2B合同物流、CLPS、京喜、三入三出(采购入、退货入、调拨入、销售出、退供出、调拨出)等1.2订单中心价值1、解耦(提升系统稳定性)原系统:交易与生产耦合在一起,业务新增需求,涉及个上下游多个系统。ECLP、外单、运单、终端系统等。多条业务线的逻辑耦合在一起,单一业务条线的需求改动,涉及原系统中其他业务线的关联改造。新系统:交易与生产运营解耦:交易相关的需求在订单的域内解决;生产侧的需求,在生产域内解决,减少上下游的相互影响。业务条线接耦:不同业务线,业务流程不同,单一业务条线的需求改动,只在具体的流程中做迭代

常用内核架构

 本文分享自天翼云开发者社区《常用内核架构》,作者:JackW 宏内核应用程序调用内存分配的API(应用程序接口)函数。处理器切换到特权模式,开始运行内核代码。内核里的内存管理代码按照特定的算法,分配一块内存。把分配的内存块的首地址,返回给内存分配的API函数。内存分配的API函数返回,处理器开始运行用户模式下的应用程序,应用程序就得到了一块内存的首地址,并且可以使用这块内存了。特点:功能耦合,效率高;但是开发一个新的功能也得重新编译、链接、安装内核,因为它没有模块化,没有扩展性、没有移植性,高度耦合在一起,一旦其中一个组件有漏洞,内核中所有的组件可能都会出问题。微内核应用程序发送内存分配的消

iOS 将 scrollView 和 collectionView 委托(delegate)分离到单独的文件中

我有一个UICollectionView并且希望能够在用户滚动通过实现scrollView委托(delegate)方法时执行自定义行为。在使用collectionView时,是否可以有两个单独的对象充当collectionView委托(delegate)和scrollView委托(delegate)? 最佳答案 您不能有单独的代表。UICollectionView是UIScrollView的子类,并重写其delegate属性以将其类型更改为UICollectionViewDelegate(这是一个UIScrollViewDelega

FFmpeg视音频分离器----向雷神学习

雷神博客地址:https://blog.csdn.net/leixiaohua1020/article/details/39767055本程序可以将封装格式中的视频码流数据和音频码流数据分离出来。在该例子中,将FLV的文件分离得到H.264视频码流文件和MP3音频码流文件。注意:这个是简化版的视音频分离器。与原版的不同在于,没有初始化输出视频流和音频流的AVFormatContext。而是直接将解码后的得到的AVPacket中的的数据通过fwrite()写入文件。这样做的好处是流程比较简单。坏处是对一些格式的视音频码流是不适用的,比如说FLV/MP4/MKV等格式中的AAC码流(上述封装格式中

夜莺官方文档优化第一弹:手把手教你部署和架构讲解,消灭所有部署失败的 case!干!

前置说明各种环境的选型建议Dockercompose方式:仅仅用于简单测试,不推荐在生产环境使用Dockercompose,升级起来挺麻烦的,除非你对Dockercompose真的很熟二进制部署:最推荐的方式,稳,升级也方便Helm方式:公司大规模使用了Kubernetes,可以选择 Helm方式,前提是贵司对Helm这套真的很熟存储选型:如果之前没有部署过,是个新环境,时序库选型建议使用VictoriaMetrics,单机版VictoriaMetrics就可以抗住每秒上百万数据点,性能很好,CPU、内存的占用都比Prometheus少,而且,完全兼容Prometheus的查询接口时间校准:社