• 开源工作流引擎很多,主要以Activiti为主,后来有Camunda等等,但是这些工作流引擎有其基因问题,因为是基因问题,属于原罪,也称为四重罪: 1. 对于使用者来说,如果需要精通工作流引擎,必须同时掌握Java语言 BPMN XML语法和图形符号,需要在这三者之间做到一一对应。 对参与人员的逻辑
  • 微服务是通过否定单体巨石monolithic而诞生的,单体巨石意思是铁板一块,高度耦合在一起,如同搅拌在一起的意大利面,或者说拌面,代码之间纠缠不清,修改维护难度很大,难以增加新功能,而微服务是根据业务领域中自然形成的聚合进行切分,也就是说,微服务不是对单体随意一刀切进行分割,而是根据有界上下文,在
  • 服务网格是企业服务总线ESB的一种云原生版本,在面向服务的体系结构(SOA)中,微服务不断在进化,已经涉及到传统SOA中企业服务总线(ESB)所处理的任务,所以现在需要的是一种ESB的云原生版本。 在精彩的软件容器世界中,新项目的出现不断解决你认为早已经解决的问题,可以感觉到脚下的地面不断在移动,现 icon
  • 最近,我们的开发团队在功能交付计划方面略有突破。技术领导层决定,这次将我们的单片单体架构分解为微服务是最好的时机。经过一个月的调查和准备,我们却取消了这项迁移,而是决定坚持使用我们的单体巨石系统。 对我们来说,微服务不仅不会帮助我们; 还会伤害我们的开发进程。微服务作为理想的架构售给我们可能已经一年 icon
  • 流媒体平台SoundCloud在2014年从SOA切换到微服务架构以后,几年经验证明其软件开发交付速度和生产力都有所提高。 遥想当初2014年,流行音乐和播客的流媒体平台SoundCloud变成自己成功的受害者。当时,用户每分钟都会上传12小时的音乐,每天有成千上万的游客从平台上消费各种音频。Sou icon
  • 结构化RPC比面向URL的REST API更容易设计和维护,因为他们让你专注于业务逻辑,而不是路由方案。更改API包括添加新字段或方法更容易,并且可以隐藏序列化的特性(例如,JSON缺少64位数字)。 gRPC实现了结构化RPC,但人们发现其复杂性和蔓延带来了无法接受的错误数量 - 而且我们无法证明 icon
  • SOA代表面向服务的架构,MSA是微服务架构简称,CNA是云原生架构简称。 SOA肯定是会向后两者转变,但是MSA是不是一定转向CNA,还是可能直接转向Serverless并没有定论,该文虽然默认CNA比MSA高级,但是作者不是上帝,我们看看该文的闪光点: [b]端点和管道[/b] 在从SOA转向M icon
  • 基于SpringBoot Mybatis MySQL druid security jta-atomikos lombok swagger 多数据源,跨数据库事务,权限过滤,单点登录. banq注:SpringBoot也可以用来实现传统SOA单体架构,在一个大服务当中实现跨数据源的跨数据库事务,这个 icon
  • 问题:什么对象应该有责任,当你不想使高凝聚力和低耦合时,但其他原则提供的解决方案不合适? 解决方案:将一组高度凝聚力的责任分配给脚手架或帮助类之类工具,这些工具并不代表问题域中的概念。 有时候很难弄清楚应该在哪里放置责任。这就是领域驱动设计中存在领域服务概念的原因。领域服务保存与一个特定实 icon
  • 自单体数据中心以来,软件架构已经走过了漫长的道路,而且这种演变产生的术语比许多组织学习它们的速度更快。随着云计算正在推动软件变革,并成为企业IT计划中几乎普遍的一部分,我们需要了解云软件的结构。这意味着 icon
  • 我们的行业倾向于迷恋Google,Netflix等公司的技术架构。他们已经构建了一些令人印象深刻的技术来解决罕见的扩展问题,所以这并不奇怪。但是,您的公司/系统是否需要类似的解决方案?可能不是... 对服务网格、K8S和其他原生技术的强烈抵制是合理的质疑,厂商供应商的营销和强大技术思想领先导致较小的 icon
  • 作为单体一部分编写代码很容易,我们可以随时查询数据库,在应用程序的其他部分调用我们想要的任何函数,而不必考虑整个单体组织结构,因为我们正在插入现有的体系结构。然而,这种类型的开发导致的问题是一个脆弱的 icon
  • 在业务应用程序方面,您需要一个可以很好地扩展的体系结构。这是我的看法,基于Uncle Bobs EBI。 尽管大多数人都认为我是DevOps人,但我经常在咨询项目期间使用业务应用程序,甚至在为DevOps企业编写管理软件时也是如此。在我这么多年的时间里,我意识到我编写代码的方式并不是非常有效。 首先 icon
  • 微服务是面向服务架构(SOA)的变体,使用各种相互依赖的模块来标识它们之间的相互关系,并可衡量每个模块之间的松耦合程度。 基于微服务的架构主要关注: [list] [*]自然地强制执行模块化结构。 [*]适 icon
  • 数据集成是一个复杂的问题,数据有不同的来源流向和流出方向,如各种数据库,云,遗留系统,ERP和内部部署应用程序。数据集成模式能让企业组合来自不同源的数据,为用户提供统一的视图。 云本地世界中的数据以多种不同的方式形成,并且存在于许多地方。您如何选择使用,集成和分析云原生数据可能与您习惯的不同。目前有 icon
  • 微服务是SOA的发展演进,但是来自IBM一篇博客文章好像将两者完全置于平等的角度进行比较,本文翻译中加入了本人的批判观点。 如果你在IT部门工作,可能已经听过SOA与微服务的争论。毕竟,现在每个人都在谈论微服务和敏捷应用程序。 乍一看,这两种方法听起来非常相似,是的,在某些方面,他们是相似,两者都不 icon
  • SOA是面向服务的架构,大数据是处理大规模数据,这两个门派其实还是有很大区别的。 服务是一种对象化概念,一个服务包含很多函数方法,基于服务的治理从服务注册发现 集成 路由和流程; 数据处理从函数式编程到数据流。 问题来了,服务跟着数据跑,还是数据跟着服务跑? 如果能够发现业务边界与上下文,把数据与服 icon
  • 本文您推荐采取三个领域驱动的步骤,能使您的代码库变得更易于管理 毫不讳言,在单体(整体/铁板一块monolith)架构中编写代码是容易的。我们可以随时直接查询数据库,在应用程序的其他部分调用我们想要的任何功能,而不必考虑整体架构组织,因为我们正在向现有架构插入新代码。然而,这种类型风格的发展会导致脆 icon