首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大型系统重构的步骤梳理

作者:Yomut 原文:https://my.oschina.net/yomut/blog/714497 目前正在参与公司一个核心大系统的重构工作。本文梳理一下大型系统重构的一些步骤和心得。...当产品的用户数达到一定量的时候,对系统的各个方面的要求就越高,例如qps、cpu、容灾、降级、限流、可扩展性、可维护性等等。...根据当前业务,把一些表字段下沉到其他表,从另外一个维度输出; 5. 如果一个表的扩展属性太多的话,可以另外建立一张表存储。 等等。。。。 数据库重构,一般由专门的数据架构师来处理。...全量迁移:需要做一个只跑一次的全量迁移程序,把旧数据库中一次性迁移过来; 增量迁移:新系统上线之前,旧系统也一直在工作着,那么新增的数据也必须通过一个增量迁移程序把数据迁移到新数据库。...db数据自检程序 为了验证迁移程序是否正常工作,还必须写一个自检程序,不断的比对新旧数据库中的数据,看看有没有漏迁的数据或者值不相等的数据。

1.7K20

NLP系列笔记:通俗理解LDA主题模型

比如,某观测数据服从概率分布P(θ)时,当观测到新的X数据时,我们一般会遇到如下问题: 可否根据新观测数据X,更新参数θ?...针对于这种观测到的数据符合二项分布,参数的先验分布和后验分布都是Beta分布的情况,就是Beta-Binomial 共轭。”...通过上文的3.2节,我们知道狄利克雷分布(Dirichlet分布)是多项式分布的共轭先验概率分布: “ 把从整数集合延拓到实数集合,从而得到更一般的表达式如下: 针对于这种观测到的数据符合多项分布.../%E9%9A%90%E5%90%AB%E7%8B%84%E5%88%A9%E5%85%8B%E9%9B%B7%E5%88%86%E5%B8%83,狄利克雷分布的wiki:http://zh.wikipedia.org...1jGghtQm; 主题模型之pLSA:http://blog.jqian.net/post/plsa.html; 主题模型之LDA:http://blog.jqian.net/post/lda.html

1.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通俗理解LDA主题模型

    (此问题1包括下文的问题2-问题4皆取材自LDA数学八卦): 问题1 随机变量 ?...比如,某观测数据服从概率分布P(θ)时,当观测到新的X数据时,我们一般会遇到如下问题: 可否根据新观测数据X,更新参数θ? 根据新观测数据可以在多大程度上改变参数θ,即 ?...针对于这种观测到的数据符合多项分布,参数的先验分布和后验分布都是Dirichlet 分布的情况,就是Dirichlet-Multinomial 共轭。...对应的是二项分布 ? 的计数。针对于这种观测到的数据符合二项分布,参数的先验分布和后验分布都是Beta分布的情况,就是Beta-Binomial 共轭。”...,可得:P(比例7:1|5个男生) = P(比例7:1)*P(5个男生|比例7:1) / P(5个男生),P(5个男生)是5个男生的先验概率,与学校无关,所以是个常数;类似的,P(比例1:7|5个男生)

    20.6K83

    技术干货 | 一文详解LDA主题模型

    为此,MCMC先构造出服从p分布的独立同分布随机变量 再得到上式的无偏估计 然而,若概率密度函数p(x)很复杂,则构造服从p分布的独立同分布样本也很困难。...在统计文本建模中,我们希望猜测出上帝是如何玩这个游戏的,这会涉及到两个最核心的问题: 上帝都有什么样的骰子; 上帝是如何抛掷这些骰子的; 第一个问题就是表示模型中都有哪些参数,骰子的每一个面的概率都对应于模型中的参数...我们知道多项式分布和狄利克雷分布是共轭分布,因此一个比较好的选择是采用狄利克雷分布 此处, 就是归一化因子 ,即 由多项式分布和狄利克雷分布是共轭分布,可得: 此时,我们如何估计参数 呢...但是,在LDA中,主题分布和词分布是不确定的,LDA的作者们采用的是贝叶斯派的思想,认为它们应该服从一个分布,主题分布和词分布都是多项式分布,因为多项式分布和狄利克雷分布是共轭结构,在LDA中主题分布和词分布使用了...根据第二小节中的Gibbs Sampling 算法,我们需要求任一个坐标轴 i 对应的条件分布 假设已经观测到的词 ,则由贝叶斯法则,我们容易得到: 由于 只涉及到第 m 篇文档和第k个

    3.4K91

    jenkins手把手教你从入门到放弃01-jenkins简介(详解)

    5、文件识别:jenkins能够跟踪那次构建生成那些jar,那次构建使用哪个版本的jar等。 6、插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。...这减少了开发者们在检 查彼此相互依存的代码中变化情况需要花费的时间和精力(说直接一点也是钱啊,呵呵)。   ...、(配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器)或存储为软件仓库中的一个新版本。...软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像Java.net、 SourceForge之类的网站。   6....CI系统在整个开发过程中的主要作用是控制:当系统在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么CI系统将通知相关人员,然后继续监视存储库。

    2.2K40

    谈谈服务雪崩、降级与熔断

    需要说明的是熔断其实是一个框架级的处理,那么这套熔断机制的设计,基本上业内用的是断路器模式,如Martin Fowler提供的状态转换图如下所示 最开始处于closed状态,一旦检测到错误到达一定阈值...,便转为open状态; 这时候会有个 reset timeout,到了这个时间了,会转移到half open状态; 尝试放行一部分请求到后端,一旦检测成功便回归到closed状态,即恢复服务; 业内目前流行的熔断器很多...直到5s钟之后,重新检测该触发条件,判断是否把熔断器关闭,或者继续打开。 这些属于框架层级的实现,我们只要实现对应接口就好! 服务降级 那么,什么是服务降级呢?...那接下来最关键的一个问题,哪些业务需要埋点? 一般有以下方法 (1)简化执行流程 自己梳理出核心业务流程和非核心业务流程。...比如你配置是放在git上,就用jgit去改配置中心的配置。如果配置放数据库,就用jdbc去改。 (3)改完配置中心的配置后,应用就可以自动检测到配置的变化,进行降级!

    1.1K20

    Lancet Microbe -- 新冠轻症者可能是“超级传播者”

    尽管这种方法遭到反对,但现在已经产生了关于公共卫生核心问题的数据,比如症状的严重程度是否与人们的接触传染相关,以及家庭COVID-19测试是否可以减少病毒传播。...这项研究“支持了超级传播者的存在”,他说。 快检价值的体现 参与者在隔离期间每天都使用侧流试验,也称为快速抗原检测。...在检测到阳性之前,没有参与者向空气中释放可检测到的病毒水平,只有很少一部分人在他们的手上、表面或临时戴上的口罩上留下可检测到的病毒。 在检测出阳性时,大多数参与者已经出现了轻微症状,如疲劳或肌肉酸痛。...一些研究人员质疑这项研究结果在当今世界情形的相关性。马里兰大学帕克分校的空气传染病研究员Donald Milton表示,感染途径(通过鼻子滴入)与大多数自然感染不同。...因此,研究参与者与现实世界中感染者之间的病毒排放可能会有所不同。他的同事Kristen Coleman补充说,现在占主导地位的奥密克戎变种与研究人员使用的2020年的病毒株传播方式也有所不同。

    17830

    多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)

    作者:Edison_G 深度特征学习方案将重点从具有细节的具体特征转移到具有语义信息的抽象特征。...skip-connection技术通过在网络的不同层级之间传播信息,缩短它们的连接,在一定程度上解决了梯度消失的问题,这激发了构建更深网络的热点研究,并获得了性能的提升。...从5层的LeNet5到16层的VGGNet,再到1000层以上的ResNet,网络的深度急剧增加。ResNet-101显示了其在特征提取和表示方面的优势,尤其是在用作对象检测任务的基础网络时。...下面我通过一小段视频展示下多尺度深度特征学习的效果,主要基于单分支的YoloV3-Tiny网络,效果如下: 小型的篮球被检测到 科比投出的篮球被检测到 观众席的观众的领带被检测到 简单训练后,不同尺寸都是可以检测到...,部分错检是因为没有该类型数据,被错检为相似目标 © THE END

    2.4K20

    多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)

    计算机视觉研究院专栏 深度特征学习方案将重点从具有细节的具体特征转移到具有语义信息的抽象特征。它通过构建多尺度深度特征学习网络 (MDFN) 不仅考虑单个对象和局部上下文,还考虑它们之间的关系。...skip-connection技术通过在网络的不同层级之间传播信息,缩短它们的连接,在一定程度上解决了梯度消失的问题,这激发了构建更深网络的热点研究,并获得了性能的提升。...从5层的LeNet5到16层的VGGNet,再到1000层以上的ResNet,网络的深度急剧增加。ResNet-101显示了其在特征提取和表示方面的优势,尤其是在用作对象检测任务的基础网络时。...下面我通过一小段视频展示下多尺度深度特征学习的效果,主要基于单分支的YoloV3-Tiny网络,效果如下: 小型的篮球被检测到 科比投出的篮球被检测到 观众席的观众的领带被检测到 简单训练后,不同尺寸都是可以检测到...,部分错检是因为没有该类型数据,被错检为相似目标

    28810

    ERP物流中的物料状态

    以待检库为例: ①如果现实仓库中设置单独的待检库区域,那么在判定质量状态以后,就需要按照不同的结果转移到不同的库区,同时反映在ERP系统内,但是来回的搬运会增加运输成本。   ...②如果现实仓库内不设置单独的待检库区域,那么在判定质量状态以后,就需要按照不同的结果在物料上用不同的标识来区分,同时反映在ERP系统内,这对仓库的管理水平有一定的要求。   ...但是有两个问题需要注意:一是降级使用一般来说会有价格上的差异,这部分差异应该由供方来承担,因为供方提供的物料不能完全满足工厂的质量要求。...二是降级使用后,在ERP系统内可能会变成不同的物料,这种情况在原材料方面发生的比较多,需要进行转换处理。   b、挑选使用。就是对该批物料进行全部检验,合格的入库,不合格的退货。...5、其他物流:还有一些其他方式的物流。   ①直运业务:包括直运销售业务和直运采购业务。是指产品由供方直接将商品发给工厂的顾客,工厂没有实物的出入库,即可完成购销业务。

    4.3K120

    go 如何给服务做限流?

    降级 【1】降级就是在主流程、主方案以外,还有兜底方案,当主方案出现问题时,可以马上切换到兜底方案, 说白了就是当在系统过载时,尽可能地保证用户产品体验。...【2】降级也分为自动降级和手动降级,前者是系统自动检测到问题时自动切换,后者是系统检测到问题报警, 人为进行切换。...所以需要在做设计的时候结合业务场景考虑哪些环节可能会出问题,出了问题如何降级,是自 动降级还是手动降级,降级后需要启用怎么样的应急处理流程等等。...【3】一般以下情況均可采用降級方法:超时降级、异常降级、失败次数降级、拒绝服务降级、限流也是降级。熔断【1】熔断一般是在服务异常或调用出现问题时,及时断掉,不再调用。...【5】 使用go.uber.org/ratelimit库提供的漏桶算法import ("fmt""go.uber.org/ratelimit""net""net/http""strconv""testing

    3K11

    Redis迁移工具redis-port使用&代码分析

    Redis现在是互联网公司缓存的标配了,在一些场景下我们需要将redis的数据从一些实例迁移到其它实例上,一个好的Redis数据迁移工具可以起到事半功倍的效果,今天为大家介绍一款好用、稳定的工具:redis-port...2、使用 主要讲下迁移数据吧,redis-port有很多参数,这里只列一些常用参数: -m:表示从哪里迁 -t:表示迁移到哪里去 ....(图片来自 https://blog.csdn.net/sk199048/article/details/50725369 ) 从服务器向主服务器发送sync命令,主服务器收到命令后,在后台用BGSAVE...(PSYNC1只解决上面场景1的问题,Redis4.0推出的PSYNC2可以解决场景2下的问题) 再回到redis-port上,我们看下它的工作原理,先统一几个概念: 源服务器:表示要从哪个redis...5、写在最后 使用redis-port迁移数据需要停机吗,答案是需要,因为在迁移数据的时候源服务器会不断的有写请求进来,等真正迁移完的时候停服才能保证数据一致,准备工作做的好的话,这个过程会很短。

    1.4K10

    如何保证服务的高可用性 HA(High Availability)?

    自动故障转移:当nginx挂了的时候,keepalived能够探测到,会自动的进行故障转移,将流量自动迁移到shadow-nginx,由于使用的是相同的virtual IP,这个切换过程对调用方是透明的...自动故障转移:当web-server挂了的时候,nginx能够探测到,会自动的进行故障转移,将流量自动迁移到其他的web-server,整个过程由nginx自动完成,对调用方是透明的。 3....自动故障转移:当service挂了的时候,service-connection-pool能够探测到,会自动的进行故障转移,将流量自动迁移到其他的service,整个过程由连接池自动完成,对调用方是透明的...自动故障转移:当读库挂了的时候,db-connection-pool能够探测到,会自动的进行故障转移,将流量自动迁移到其他的读库,整个过程由连接池自动完成,对调用方是透明的(所以说DAO中的数据库连接池是很重要的基础组件...自动故障转移: 当写库挂了的时候,keepalived能够探测到,会自动的进行故障转移,将流量自动迁移到shadow-db-master,由于使用的是相同的virtual IP,这个切换过程对调用方是透明的

    8K30

    技术干货:一文详解LDA主题模型

    ,而狄利克雷(Dirichlet)分布是多项式分布的共轭分布。...为此,MCMC先构造出服从p分布的独立同分布随机变量再得到上式的无偏估计 然而,若概率密度函数p(x)很复杂,则构造服从p分布的独立同分布样本也很困难。...假定平稳马尔科夫链T的状态转移概率(即从状态X转移到状态的概率)为,t时刻状态的分布为p(x^t), 则若在某个时刻马尔科夫链满足平稳条件 则p(x是马尔科夫链的平稳分布,且马尔科夫链在满足该条件时已收敛到平稳条件...在统计文本建模中,我们希望猜测出上帝是如何玩这个游戏的,这会涉及到两个最核心的问题: 上帝都有什么样的骰子; 上帝是如何抛掷这些骰子的; 第一个问题就是表示模型中都有哪些参数,骰子的每一个面的概率都对应于模型中的参数...我们知道多项式分布和狄利克雷分布是共轭分布,因此一个比较好的选择是采用狄利克雷分布 此处,就是归一化因子,即 由多项式分布和狄利克雷分布是共轭分布,可得: 此时,我们如何估计参数呢?

    1.5K00

    广州上海高比例无症状感染者数据从何而来——基于核酸检测准确性的分析

    全国各地都在紧张应对奥密克戎的广泛感染,与之前多数人认为的“大号流感”不同的是,一旦自己中招,就备受煎熬和折磨。...-6.9%的误检率,认为过度依赖核酸阳性结果诊断新冠感染是很危险的。...文中特别提到,剔除来自中国的研究后,漏检率有所下降。 由以上研究和报道可知,无论中外,核酸检测普遍地存在准确率不足的问题,在灵敏度(漏检率)和特异度(误检率)两个方面都不容乐观。...面对奥密克戎这种传染性极强的病毒,几乎无法将所有隐秘的传播链断开,慌乱的管理者惟有层层加码,动态清零实际上必然演变为全域静态。...综上所述,面对奥密克戎,当感染率相对较低,而检测性能未达足够高的灵敏度和特异度,大规模全员检测存在明显的实质性缺陷。

    32610

    PowerShell 降级攻击的检测与防御

    Powershell 降级攻击 在之前的博客文章中,我谈到要尽可能避免使用 PowerShell v2,因为它提供了不记录日志的功能,理想情况下应该部署 PowerShell v5.x 或更高版本,因为它提供了更好的日志记录功能...你只要没有安装默认的 powershell V2 或者说没有安装 .NET Framework 2.0 ,那么它就不会激活,但是很多系统都默认安装了 .NET Framework 2.0 ,这就导致了可以使用降级攻击...据赛门铁克的报告,在实际的攻击实例中还没有观察到有 PS V2 到降级攻击,这可能是由于现在企业对 Powershell 的审计做的还不好,攻击者完全可以不用关心这个问题,不需要做这个操作。...('https://bit.ly/L3g1t') 上面的命令可以通过查找 *Net.WebClient*,*DownloadString*或 *https*模式可以轻松检测到。...应急 能够检测到发生恶意 PowerShell 活动是我们要做的第一步,我们如果能够确定哪些命令是恶意的,那么为什么不在造成损害之前阻止他的呢?

    2.3K00

    马斯克称Twitter将专注“硬核软件工程”:要么加班,要么走人

    整理 | 凌敏、Tina 据外媒报道,马斯克在当地时间周三凌晨向 Twitter 员工发送一封电子邮件,要求员工在周四下午 5 点之前做出选择——要么接受“极其硬核”的 Twitter 2.0 计划...从马斯克的各种言论里,可以推测他所认为的“硬核软件工程”,在某种程度上等同于长时间、高强度的工作。毕竟在接手 Twitter 后,马斯克不止一次强调工时问题。...一位程序员网友对此评论说:“我从事过高压项目,如果要从所有这些项目中吸取一个教训,那就是在编码方面,更长的工作时间会导致负生产力,因为你必须在后面进行更多测试、修复更多(最初未检测到的)错误。...经过进一步分解,Monorail 逐渐被分离出来,整个系统从 Ruby 平台迁移到 JVM 上。...RPC 了,所以他们构建了 Finagle;Twitter 的内部数据库 Manhattan 的延迟非常低,导致 Twitter 尝试迁移到云并切换到某些云数据库时还曾因此出现问题....

    32620

    打车的江山 马蹄声狂乱 ——帝都滴滴抢修记

    随着LVS扩容、柔性降级后,更多的问题逐层暴露出来:交易表庞大且订单量暴增,mysql性能已跟不上;司机在线量上不去,管理在线的pushserver是用java编写,没人熟悉;定位服务(查找周边订单/司机...昔孟母三迁,为子择邻处。我们陆续六迁,只想找个安静且不影响别人,同时能有个稳定网络的地方。这里特别感谢北分负责协调工作环境的美眉,负责部署专有WIFI“DDbi”的sun同学。...施主:“……” 我:“罪过罪过,降级太狠,这个不可当真。” 这段有点散。跟这两天的事情一样,琐碎而忙碌。 四 “多年后史书页 ,还把这夜撰写。”...最后特别提到了那一夜:2014年2月23日凌晨,滴滴打车的服务,成功的从滴滴自运营机房,迁移到腾讯深圳机房。几天几夜的不眠抢修,这一刻终可绽开笑颜。 之前已经说过,搬迁,这是一个艰巨的工作。...腾讯多年沉淀下来的海量服务之道价值观值得每位互联网开发者好好学习。 5. 合作过程中,有争议时,需要有一锤定音来拍板的人。

    820100

    【每日要闻】富士康重组五条产线生产iPhone 14 Pro系列;孙正义将于十月访韩与三星商讨合作

    据不完全统计,郑州厂已拆或将拆的iPhone 14生产线间至少有5个以上。...也有消息人士指出,苹果正把iPhone部分生产线转移到印度,而在大陆市场则将标准版的产线转到高配版。...如果能够重新来过,埃隆·马斯克(Elon Musk)可能不会将首家欧洲工厂设在德国。 分析师认为,德国政府严重的官僚作风和强大的工会让解决这类非常规问题变得更加困难。...上个月,马斯克在特斯拉年会上表示,在奥斯汀和格伦海德,仍有许多问题需要解决。虽然这两家工厂可能都很难运营,但该公司显然已经表现出更大的意愿,愿意在得克萨斯州开展更多业务。...自2018 年将生产重心从格罗方德转移到台积电以来,AMD一直与其保持着相当健康的合作关系。按照计划,AMD希望在2024年试水Zen 4 @ 3nm 工艺节点。

    33020

    打车的江山 马蹄声狂乱 ——帝都滴滴抢修记

    随着LVS扩容、柔性降级后,更多的问题逐层暴露出来:交易表庞大且订单量暴增,mysql性能已跟不上;司机在线量上不去,管理在线的pushserver是用java编写,没人熟悉;定位服务(查找周边订单/司机...昔孟母三迁,为子择邻处。我们陆续六迁,只想找个安静且不影响别人,同时能有个稳定网络的地方。这里特别感谢北分负责协调工作环境的美眉,负责部署专有WIFI“DDbi”的sun同学。...施主:“……” 我:“罪过罪过,降级太狠,这个不可当真。” 这段有点散。跟这两天的事情一样,琐碎而忙碌。 四 “多年后史书页 ,还把这夜撰写。”...最后特别提到了那一夜:2014年2月23日凌晨,滴滴打车的服务,成功的从滴滴自运营机房,迁移到腾讯深圳机房。几天几夜的不眠抢修,这一刻终可绽开笑颜。 之前已经说过,搬迁,这是一个艰巨的工作。...腾讯多年沉淀下来的海量服务之道价值观值得每位互联网开发者好好学习。 5. 合作过程中,有争议时,需要有一锤定音来拍板的人。

    96140
    领券