首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    云原生时代的业务流程编排

    在这些开源项目中,Netflix Conductor和Uber Cadence的实现代码我有深入研究,并且两个都在生产项目中应用过。...后来SWF的tech lead去了Uber,在Uber把工作流引擎发扬光大,由专门的引擎团队负责用Go语言打造Cadence平台,多个业务部门基于Cadence平台开发出支撑几十个业务的流程编排服务,也有一些业务部门根据自身业务特点定义特定的...Cadence也不是没有缺点,譬如,比较棘手的一个问题:DSL中实现的状态和Cadence自身的event(Cadence使用event记录调度决策和任务执行的每个状态转换)不能产生关联,event id...如果开发者希望将DSL中的state/step和Cadence event做映射以方便调试或理解内部运行的逻辑,则需要修改Cadence核心代码,第一,方面不利于维护;第二,Cadence的主要服务组件设计文档缺乏...的架构设计有不错的水平扩展能力,用堆机器的手段仍然可以应付很多业务场景的需求,我估计Uber内部用来运行Cadence集群的服务器数量一定不少 ^_^ 前面介绍了工作流引擎/流程编排的概念和相关优秀开源项目

    15K111

    Uber Go语言规范

    Uber公司推出的Go语言规范,建议没看过的同学看一遍,内容同步到了我的GitHub上,后续会补充一些case,感兴趣的同学可以点击原文查看 介绍 指南 退出一次 错误类型 错误包装 错误命名 指向interface...Mutexes的零值是有效的 在边界拷贝Slices和Maps 使用Defer释放资源 Channel大小应为0或1 枚举从1开始 使用time包来处理时间 错误 处理断言失败 不要使用Panic 使用go.uber.org...本指南的目的是通过详细描述在Uber编写Go代码的注意事项来管理这种复杂性。这些规则的存在是为了保持代码库的可管理性,同时还允许工程师有效地使用Go语言的特性。...这记录了我们在 Uber 所遵循的 Go 代码中的习惯性约定。...= nil { t.Fatal("failed to set up test")} 使用 go.uber.org/atomic 使用 sync/atomic 包的原子操作对数据类型进行操作(int32

    98920

    UBER数据大迁徙

    想象一下如果你必须在几个星期内迁移数以亿计的数据和100多个服务项目,同时还要保持UBER被几百万的乘客正常使用,这是多么艰巨的任务啊!...而以下这个故事就是关于数十名工程师是如何帮助UBER在2014年迁移到Mezzanine的故事。...背景 就像大多数基于网络服务的公司那样,UBER后端系统一开始是采用“单一化”的软件架构,其中包括一群应用服务器和一个单独的数据库。...对于UBER平台,它一切如常。这一起就像万圣节,可能看起来吓人,但其实只是娱乐一下! 教训总结 要使用UUID(通用唯一识别码):请始终使用的UUID。...UBER积极心态!有一个积极和敢做的态度会使全队全力以赴创造辉煌。 自从我们迁移了大数据以来,我们已经增加了一倍的路径存储了,且实现了零死机,并实施了许多性能和运营改进。

    2.2K70

    Cadence宣布收购Rambus SerDes和内存接口PHY IP

    当地时间7月20日,EDA大厂Cadence和半导体IP提供商Rambus宣布,双方已就 Cadence 收购 Rambus SerDes 和内存接口 PHY IP 业务达成最终协议。...预期的技术资产购买还将为Cadence带来在美国、印度和加拿大经过验证且经验丰富的 PHY 工程团队,进一步扩大 Cadence 领域丰富的人才基础。...,Rambus IP 和经验丰富的团队的加入进一步加速了 Cadence 的智能系统设计战略,从而推动卓越设计。”...值得注意的是,就在数日前的7月15日,Cadence宣布完成对半导体设计公司Pulsic的收购,进一步拓展了其多物理场系统分析和计算流体力学 (CFD) 产品阵容。...资料显示,Cadence成立于1988年,由ECAD Systems和SDA Systems两个公司合并而成,目前已成为全球EDA龙头企业之一。

    22820
    领券