首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏架构之家

    从单体架构迁移到 CQRS架构

    当现有的架构遇到问题而又无法解决时,系统就会开始演进。每一次演进都会伴随着一些技术上的选择。需要解决什么问题?需要付出什么样的代价? 作为一名架构师或高级工程师,必须找到一种合理的演进方式,在开发进度、技术栈、团队水平等各方面都能满足条件,这样才能制定出可行的解决方案。 我们将从一个小型单体架构开始,逐步演进,像每一个软件系统的演进一样。本文将介绍每一次演进背后的原因和方法。 传统单体架构 这是最常见的系统设计。 从系统架构的角度来看,数据库很容易成为整个系统的瓶颈。读取和写入都必须在它上面进行。因为缺少横向扩展能力,RDBMS 的问题就更加严重了。 基于任务的单体架构 为了解决上述传统单体架构中存在的问题,这里我们尝试引入域的概念。 这个图与上面的图基本相同。唯一的区别是在写路径上用消息代替了 DTO。

    69220编辑于 2022-09-27
  • 来自专栏云计算

    迁移到微服务架构

    第一个问题是为什么金融科技公司应当把遗留的传统架构应用迁移到现代的架构风格上;其次,如何在这一范式迁移过程中重用现有的应用资产;最后是这种迁移将以何种方式解决这一领域中包括代码质量和重用性在内的一系列令人望而生畏的问题 因而类似的公司在早期并不会给予应用架构足够的重视。他们往往采用单体架构建立应用程序。这一架构易于实现,但在增加功能时会形成紧密的依赖关系。 对于难以适应变化的单体架构而言这种问题会更加严重。 单体架构 单体应用的架构是单层结构,用户接口和数据访问代码都集成在一个平台中。 未来之路 事实上,迁移到微服务牵涉到风险,努力和成本。但是,如果我们能制定正确的策略,那么从长远来看,应用程序的整体质量将会增加。这是无可否认的。 为了消除这种迁移风险,公司可以考虑先用微服务架构完成新需求的开发,并逐渐将传统模块转变为基于微服务的体系结构。 腾讯云分布式微服务来啦!

    1.2K60发布于 2018-06-25
  • 来自专栏超级架构师

    「数据架构」数据迁移神器 pgloader,迁移各种数据到PostgreSQL

    命令 pgloader实现了自己的命令语言,这是一种DSL,允许指定要实现的数据加载和迁移的各个方面。该语言中提供的一些功能只适用于特定的源类型。 : pgloader [<options>] [<command-file>]...pgloader [<options>] SOURCE TARGET 您可以使用pgloader命令语言拥有一个包含迁移规范的命令文件 intro.html 本文:https://pub.intelligentx.net/pgloader-loads-data-various-sources-postgresql 讨论:请加入知识星球或者微信圈子【首席架构师圈 】 微信公众号 如果喜欢仙翁的分享,请关注微信公众号【首席架构师智库】 仙翁小号 如果想进一步讨论,请加仙翁小号【intelligenttimes】,注明你希望加入的群:架构,云计算,大数据,数据科学, 微信圈子 如果想和志趣相投的同好交流,请关注仙翁的微信圈子【首席架构师圈】。 如果想向大咖提问,近距离接触,或者获得私密分享,请加入知识星球【首席架构师圈】

    3.4K10发布于 2020-01-14
  • 来自专栏杨建荣的学习笔记

    迁移到MySQL的架构演进(一)

    这是学习笔记的第 2010 篇文章 我们经过了一个相对漫长的周期把SQL Server业务迁移到了MySQL分布式架构,整个过程算是跌宕起伏。我来复现一下这个过程。 迁移前,我们做了业务梳理,发现这个业务其实可以划分为两个大类,一个是数据业务,一个是账单业务。数据业务负责事务性数据,而账单业务是状态数据的操作历史。整体的系统现状梳理如下表10-4。 所以对于架构的改进,我们为了能够落地,同时在这个过程中尽可能和研发团队保持架构的同步迭代,我们整体上走过了如下图所示的4个阶段。 ? (1)功能阶段:梳理需求,对存储过程进行转义,适配MySQL方向 (2)架构阶段: 对系统架构和业务架构进行改进设计,支持分布式扩展 (3)性能阶段: 对系统压力进行增量测试,全量测试,全面优化性能问题 (4)迁移阶段: 设计数据迁移方案,完成线上环境到MySQL分布式环境的迁移 我们主要讨论上面3个阶段,我总结为8个架构演进策略,我们逐个来说一下。

    87820发布于 2019-06-18
  • 来自专栏斑斓

    【系统架构】遗留系统的技术栈迁移

    最后,还有一种方式,则是对遗留系统进行技术栈迁移

    1.3K70发布于 2018-03-07
  • 来自专栏杨建荣的学习笔记

    迁移到MySQL的业务架构演进实战

    本文会着重讨论迁移到MySQL架构体系的演进过程,相信大大小小的公司在不同的发展阶段都会碰到其中一些共性的问题。 我们先来简单介绍一下系统迁移的背景,在这个过程中我们不会刻意强调源数据库的一些功能性差异,相对来说是一种更通用的架构改进方式。 一、架构改造背景和演进策略 迁移前,我们做了业务梳理,整体的系统现状梳理如下表,可以发现这个业务其实可以划分为两个大类,一个是数据业务,一个是账单业务。 (4)迁移阶段:设计数据迁移方案,完成线上环境到MySQL分布式环境的迁移。 我们主要讨论上面前3个阶段,我总结为8个架构演进策略,我们逐个来说一下。 六、架构里程碑和补充:基于分布式架构的水平扩展方案 至此,我们的分布式集群架构初步实现了业务需求,后续就是数据迁移的方案设计了,3套集群的实例部署架构如下图所示。 ?

    1.1K20发布于 2019-10-31
  • 来自专栏计算机视觉战队

    学习迁移架构用于Scalable图像的识别

    链接:https://arxiv.org/abs/1707.07012 ---- 1、Introduction 在ImageNet上学习到的分类网络,其特征迁移到其他任务时,往往能获得更好的效果。 所以作者就想在CIFAR-10上训练得到一个比较好的网络,然后迁移到ImageNet上也能获得很好的效果。为了能完成这种迁移,作者设计一个与网络深度和图片大小无关的搜索空间。

    95350发布于 2018-04-17
  • 来自专栏AIoT技术交流、分享

    嵌入式SoC多线程架构迁移多进程架构开发技巧

    将嵌入式SoC开发从单进程多线程架构迁移多进程架构是一项需要谨慎规划和实施的任务,尤其在资源有限的嵌入式系统中。 这种架构转变通常是为了提高系统的稳定性、隔离性、安全性和并发处理能力。 多进程架构将应用分割成多个独立的进程,每个进程有自己独立的内存空间和资源控制。 这种架构带来的好处包括: 稳定性增强:一个进程崩溃不会影响其他进程,系统更具弹性。 1、架构迁移步骤 1、分析系统功能模块 首先,需要对现有的单进程多线程架构中的功能模块进行分析。 找出哪些模块可以独立运行,并识别哪些模块间存在紧密通信的依赖。 2、架构迁移的关键点 性能与资源管理 多进程架构在嵌入式系统中的使用可能会增加内存和资源开销,因为每个进程都有自己的独立地址空间和资源。 3、迁移实例 这里以一个简单的嵌入式系统为例,逐步展示如何从单进程多线程架构转变为多进程架构。 在这个架构中,系统有三个主要功能模块: 温度传感器数据采集线程。 数据处理线程。

    29900编辑于 2024-12-20
  • 来自专栏Rainbond开源「容器云平台」

    x86架构应用如何向Arm架构低成本迁移

    多数交付团队在 X86_64 架构下,都已经有了自己的解决方案。那么容器、Kubernetes、DevOps这些先进的工具方法,在 Arm64 架构下如何复刻? Rainbond 通过不同层次的能力来解决从 X86_64 到 Arm64 的迁移问题。 既有能力:Rainbond 本身是一款适用于软件交付,或者应用运维管理的云原生应用管理平台。 自身兼容 Arm64 :Rainbond 很早就开始落子国产化架构适配,自身适配了包含 Arm64 在内的多种架构。 源码构建兼容 Arm64 :这是打通迁移到 Arm64 架构的最后一环。在 Rainbond 中,开发人员可以不改一行代码,直接利用源码构建自己的业务组件,即可将之部署运行于 Arm64 环境中。 这种体验,可以被称之为将业务零成本迁移至 Arm64 容器之中。极大的减轻了开发人员的技术负担,降低了迁移适配成本。

    3.5K10编辑于 2022-01-12
  • 来自专栏Cloud Native - 产品级敏捷

    微服务架构 (二): 从既有的架构迁移到微服务的策略

    当将既有的架构迁移到微服务时, 常见的作法便是: A.      只将既有架构的功能模块拆解成粒度较小的功能模块: 这样的作法, 其实, 实质上的意义是不大的。 同时, 也会为产品的架构引入新的风险, 甚至是致命的伤害。 B.       , 粒度是过小或过大, 而需合并或再拆解功能模块时, 都将会有极大的概率, 会花费相当大的工作量在数据库的迁移上。 在将既有的架构迁移到微服务时, 架构师必需要考虑下列两个因素: 1.        数据库的迁移风险极大; 一定要谋定而后动。 所以, 从既有的架构迁移到微服务的策略是: I.       先以产品架构的性能、可靠性与安全性为首要的考量; 先拆解出粒度大的功能模块。

    66160发布于 2018-01-05
  • 来自专栏方俊贤的专栏

    微服务架构 : 从既有的架构迁移到微服务的策略 ( 二 )

    全世界没有任何的一个系统, 可一步到位的, 就达到微服务核心概念中, 所谈及的架构上的要求。 我们真正应该要做的事是: 找出将既有架构迁移到微服务的策略、方法、实践与技术。 本篇文章便是先来探讨下: 将既有架构迁移到微服务的策略。 本篇文章便是先来探讨下: 将既有架构迁移到微服务的策略。 本文 当将既有的架构迁移到微服务时, 常见的作法便是: A. 在将既有的架构迁移到微服务时, 架构师必需要考虑下列两个因素: 1. 数据库的迁移风险极大; 一定要谋定而后动。 从既有的架构迁移到微服务的策略是: I. 先以产品架构的性能、可靠性与安全性为首要的考量; 先拆解出粒度大的功能模块。 II.

    1.1K20发布于 2017-06-06
  • 来自专栏深度学习与python

    Slack 蜂窝架构迁移:背后的技术策略与挑战

    为了实现这些目标,在过去的一年半里,我们将 Slack 最关键的面向用户的服务从单体架构迁移到了基于蜂窝的架构。 在本系列文章中,我们将解释我们为什么要进行大规模迁移、介绍蜂窝拓扑设计以及我们在此过程中所做出的工程技术权衡,并讨论我们成功对许多相连接的服务进行深度改造所采用的策略。 我们最初的架构,后端分布在各个 AZ 中,因此错误会出现在所有 AZ 的前端 最终,我们得到了一个蜂窝架构。所有服务都存在于所有 AZ 中,但每个服务只与其 AZ 内的服务通信。 筒仓架构,一个 AZ 中的故障被包含在该 AZ 中,流量可能被抽走 有了筒仓架构,我们就可以将精力集中在一个地方来实现流量转换:将来自用户的查询路由到 us-east-1 区域的核心服务。 在过去的几年里,我们进行了大量投入,从 HAProxy 迁移到了 Envoy/xDS 生态系统,因此我们所有的边缘负载均衡器现在都在运行 Envoy,并从我们内部的 xDS 控制平面 Rotor 接收配置

    69620编辑于 2023-09-18
  • 来自专栏Rainbond开源「容器云平台」

    如何正确地迁移到云原生应用架构

    超快创新速度 持续可用的服务 弹性web 以移动为中心的用户体验 迁移到云是软件的自然演化,原生态云应用架构是这些公司获得他们这种破坏性特征的核心。 最近,另一个转变也正在兴起,也就是将虚拟化服务器迁移到容器中。 这种向云端的转变为更多的创新敞开了大门,因很多公司不再需要花费大量启动资金来部署他们的应用,后续维护成本也会大幅降低。 管理程序行政类或管理类任务,例如数据库迁移,在与应用长期运行的程序相同环境中,作为一次性程序运行。 当没有对即将部署的环境给予适当的考虑时,这些特征可以使它们很好的快速部署应用。 我们能否建立一个那样的架构? 这就是原生态云架构的选择者设法创建的架构。 明确地找出应用架构中的脆弱性,插入故障因素,强迫修正,最终这个架构会自然地趋于实现更高级别的安全性。 总结 在本文中,我们从通过软件为业务提供的能力的角度,验证了迁移到原生云应用架构的共同动机。

    1.8K50发布于 2018-05-31
  • 来自专栏锅总

    各种redis部署架构及版本的数据迁移指南

    to help you get data in and out of Redis. redis作为重要的缓存中间件,在业务风云变化的过程中,数据显得尤为重要,对于redis的日常运维,难免会对其数据进行迁移 为保证迁移数据的准确性,官方提供了一个现成的工具,不需要再重复造轮子,即可获得丝滑的数据迁移体验,下文将介绍这一工具的使用技巧。 riot/tags 找到Oct 4,2021之后时间接近的最新bug版本,v2.14.6 备注:v主要版本.次要版本.bug版本, eg:v1.2.3,其中1为主要版本,2为次要版本,3为bug版本 迁移命令示例 : 源redis dst_redis_host :目的redis src_redis_passwd:源redis密码 dst_redis__passwd:目的redis密码 集群向集群迁移 a 'src_host_passwd'-c replicate -h dst_redis_host -p 6379-a 'dst_host_passwd'-c --batch 10 单节点向集群迁移

    33710编辑于 2024-06-12
  • 来自专栏纯洁的微笑

    漫谈何时从单体架构迁移到微服务?

    本文从单体架构,微服务架构,微服务风险评估,微服务落地条件等几个方面探讨微服务的落地过程,希望对你有所启发。 讲解微服务之前,我们先简单了解下单体架构。 一、单体架构 ? 前期投入成本较高 微服务架构图 微服务架构图谱谷歌或Bing下,可以看到各种各样的架构图,源于业务和架构师自身的喜好或者粗细粒度,但是每个架构图的基本组件和架构分层都差别不大,只是有的细一些,有的粗一下 以上架构图主要分4层,每个层次遵循架构分层的核心思想:关注点分离,职责各异,边界清晰。 ④ 合作方式 如果采用借助外部架构力量来助推架构升级,和架构单位的合作就不是简单的外包,涉及的面会变得比较广,在完全交接过来之前,周期会比较长。 包括对我们业务架构的深入了解,然后根据业务架构绘制可靠技术架构蓝图,再根据技术蓝图进行落地实施(不建议只提供架构方案而由其他单位实施落地),包括新系统的开发,旧系统的升级,当然这种升级是平滑过度的,对业务窗口并不会产生影响

    75210发布于 2019-09-05
  • 来自专栏架构师之路

    从IDC到云端架构迁移之路(GITC2016)

    大家好,很高兴来到GITC2016的舞台,我是来自58到家的沈剑,今天我分享的主题是《58到家从IDC到云端架构迁移之路》。 “单机房架构-全连” 要说机房迁移,先来看看被迁移的系统是一个什么样的架构。 ? “机房迁移的目标是平滑” 单机房架构的特点是“全连”,那么机房迁移我们是要做一个什么样的事情呢?先看这张图: ? 之前单机房架构部署在机房A内,迁移之后仍然是单机房架构,只是换了一个B机房,做完这个迁移,有什么好的方案?最容易想到的一个方案,把所有服务在新机房全部搭一套,然后流量切过来了。 所以,机房迁移的难点,是“平滑”迁移,整个过程不停服务,整体迁移方案的目标是: (1)可以分批迁移; (2)随时可以回滚; (3)平滑迁移,不停服务; “伪多机房架构-同连” 如果想要平滑的迁移机房,不停服务

    1.8K50发布于 2018-03-01
  • 来自专栏程序猿DD

    为何从单体架构迁移到微服务这么难?

    本文从单体架构,微服务架构,微服务风险评估,微服务落地条件等几个方面探讨微服务的落地过程,希望对你有所启发。 讲解微服务之前,我们先简单了解下单体架构。 前期投入成本较高 微服务架构图 微服务架构图谱谷歌或Bing下,可以看到各种各样的架构图,源于业务和架构师自身的喜好或者粗细粒度,但是每个架构图的基本组件和架构分层都差别不大,只是有的细一些,有的粗一下 以上架构图主要分4层,每个层次遵循架构分层的核心思想:关注点分离,职责各异,边界清晰。 3.3.4合作方式 如果采用借助外部架构力量来助推架构升级,和架构单位的合作就不是简单的外包,涉及的面会变得比较广,在完全交接过来之前,周期会比较长。 包括对我们业务架构的深入了解,然后根据业务架构绘制可靠技术架构蓝图,再根据技术蓝图进行落地实施(不建议只提供架构方案而由其他单位实施落地),包括新系统的开发,旧系统的升级,当然这种升级是平滑过度的,对业务窗口并不会产生影响

    60920编辑于 2023-04-04
  • 来自专栏全栈程序员必看

    动态迁移_动作迁移

    概念 在虚拟化环境中的迁移,又分为动态迁移,静态迁移,也有人称之为冷迁移和热迁移,或者离线迁移在线迁移;静态迁移和动态迁移的 区别就是静态迁移明显有一段时间客户机的服务不可用,而动态迁移则没有明显的服务暂停时间 ,静态迁移有两种1,是关闭客户机将其硬板镜像复制到另一台宿主机系统,然后回复启动起来,这种迁移不保留工作负载,2是,两台客户机公用一个存储系统,关闭一台客户机,防止其内存到另一台宿主机,这样做的方式是, 保存迁移前的负载 迁移效率的衡量 1)整体的迁移时间:从源主机迁移操作系统开始,到客户机迁移到目主机并恢复起服务所花的时间 2)服务器停机时间:在迁移过程中,源主机和目的主机都处于不可用的状态,源主机服务已经停止 ,目的主机还没有启动服务 3)对服务性能的影响:不仅包括迁移后客户机中应用程序性能的比较,还包括源主机性能是否下降 迁移的应用场景 1)负载均衡:当一台为服务器的负载较高时,可以将其上运行的客户机动态迁移到负载低的主机 透明大页就被打碎为常规的4Kb大小,当系统内存比较充裕时,就透过khugepage进程把常规内存转换成大页; AVX(advance vector Extensions)高级适量扩展 avx是amd和intel公司cpu架构指令集的一个扩展

    1.9K20编辑于 2022-11-17
  • MySQL迁移技术指南:腾讯云DTS深度实践与架构优化

    通过零停机迁移、自动校验等特性,DTS将迁移效率提升300%(IDC 2024报告),故障率降低90%。一、技术解析:MySQL迁移的核心挑战与价值1. 核心价值业务连续性保障:支持热迁移,避免业务停机(如金融交易系统)数据传输服务 MySQL 迁移至 MySQL_腾讯云 技术栈升级:实现自建MySQL/第三方云数据库(AWS RDS、阿里云PolarDB )到腾讯云MySQL的无缝迁移数据传输服务 数据迁移支持的数据库_腾讯云 成本优化:据IDC报告,云数据库TCO较自建降低40%(2024 Global Cloud Database Analysis :将阿里云RDS MySQL 5.6(10TB)迁移至腾讯云MySQL 8.0 DTS实施效果: 增量同步延迟:<500ms(双11流量峰值期)腾讯云数据库迁移服务(DMS)如何简化从本地到云的数据库迁移过程 割接窗口:3.2秒(支付系统无缝切换) 成本节约:原预估$18万,实际支出$1.5万 架构师建议:对关键业务系统迁移,推荐组合使用DTS+云审计+数据库智能管家DBbrain,实现迁移过程可观测、性能瓶颈预诊断

    41600编辑于 2025-06-21
  • 多模态数据湖仓:AI团队正在迁移架构详解

    其承诺很简单:用一个系统支持SQL分析、数据科学和机器学习,而不是在数据湖、数据仓库和专门存储之间来回迁移数据。 为了防止回归到孤岛式架构——团队需要维护独立的向量数据库、搜索引擎和对象存储——各团队正在重新审视湖仓概念。 性能优化: 某中心从Parquet迁移到LanceDB,以统一视频帧和元数据,解决了媒体分析所需的高频访问模式中的瓶颈。 基础设施整合: 对于AI代码审查工具CodeRabbit而言,迁移是出于操作考量。 为多模态AI定义数据基础设施的竞赛催生了其他架构,每种架构都针对延迟、吞吐量或工作流编排中的特定瓶颈。

    42410编辑于 2026-01-09
领券