什么是事件网格? - solace

2179 22
事件网格是一个可配置的动态基础设施层,用于在解耦的应用程序、云服务和设备之间分发事件。它使事件通信能够得到管理、灵活、可靠和快速。事件网格是通过互连的事件代理网络创建和启用的。换句话说,事件网格是一个.

uber/cadence:Cadence是一种分布式,可扩展,持久且高度可用的流程编排引擎

11402 6 5K
定位类似zeebe、activiti之类工作流引擎,高级别的区别在于zeebe是基于BPMN的,Cadence支持使用Java或Go等普通编程语言编写编排代码。大多数复杂程序都不是使用可视化编程编写的.

java-callgraph:为Java程序生成静态和动态调用依赖图

3093 8
一套用于在Java中生成静态和动态调用图的程序。 javacg-static。从jar文件中读取类,沿着方法体走,并打印出一个调用者-被调用者的关系表。 javacg-dynamic。作为一个Java.

Spring Boot如何生成swagger.json?

11724 7
使用java spring boot框架创建REST api,可以在maven中导入“springfox-swagger2和springfox-swagger-ui”来生成swagger文档,可以使用.

JDK 17垃圾回收GC性能飞跃提升 - kstefanj

13539 2 2K
JDK 17 已经发布了几个月,它不仅包含了新的语言功能。在性能提升相比老版本的JDK也确实显著。与之前的 LTS 版本 JDK 8 和 JDK 11 相比,这一点变得尤为明显。 性能的大部分改进来自.

从PHP迁移到Java后又返回:不玩微服务啦 · allegro.tech

5633 14 2K
五年前,我们开始对Allegro平台进行重大技术改造。从那时起,我们已经从一个单片的1000万行代码PHP应用程序转变为一个800多个基于JVM的微服务系统。然而,这种新的架构结果却是一个死胡同,我们.

ACID中C与CAP定理中C的区别

7 12898 11 2K
ACID和CAP定理中都有C,代表Consistent一致性,很多人容易将这两个C混为一谈,其实这两个一致性是有区别的。事务的定义是一系列操作要么全部成功,要么全部不成功,数据库的事务机制是通过ACI.

Spring Boot Admin教程

11234 7 11K
Spring Boot Admin是在Spring Boot Actuator端点上监控和管理具有良好UI的Spring Boot应用程序。Actuator是一个Spring Boot模块,它为您的应.

使用@ConfigurationProperties配置Spring Boot模块

16881 4 20K
SpringBoot应用经常需要一些参数,这些参数可以定义要连接的数据库,要支持的区域设置或要应用的日志记录级别。这些参数应该外部化(放在代码之外),这意味着我们不应该将它们变成可部署的工件,而是在启.

为什么要使用MVC+REST+CQRS架构

13 14818 11 2K
具体来说,前端浏览器:angular.js等MVC框架;后端: REST+ CQRS。angular.js等MVC框架是指前端浏览器的MVC框架,而不是类似Struts 或SpringMVC之类的服务.

微服务分布式事务Saga框架

1 12688 7
Eventuate Tram Saga框架是使用JDBC / JPA的Java微服务的Saga框架。微服务架构遇到的主要挑战是维护跨服务的数据一致性。每项微服务都有自己的私有数据,不能使用传统的分布式.

模块化与微服务比较

8876 12 2K
本文比较了微服务和模块化整体架构(modularized monolith )的区别。现在大家一股脑从整体单片monolith迁移到微服务,但是这种转变真的适合你公司吗?整体单片monolith确实有.

微服务分布式事务Saga模式简介

14449 6 6K
该文是基于《微服务模式》作者Chris Richardson的QCONSF 2017会议上的PPT文章(这里)和其 Eventuate Tram Saga框架之上,对Saga模式进行的原理性解说,其中.

Domain Events – 救世主

21 15703 14 4K
在Evans DDD实现过程中,经常会碰到实体和服务Service以及Repository交互过程,这个交互过程的实现是一个难点,也是容易造成失血贫血模型的主要途径。因为实体的业务方法需要和服务或Re.

使用qi4j实现DCI架构

16 18925 11 4K
我曾经DCI架构是什么?在一文中提到Qi4j框架实现DCI架构比较好,dzone今天就有一篇文章专门谈Implementing DCI in Qi4j。DCI是一种新的构建面向对象应用的方法途径,DC.

领域驱动设计之实践与反思

2 11000 15 2K
领域驱动设计之实践与反思一、引言前两三年,在这里我先后写过三个帖子,分别阐述了对三个问题的思考。1)什么是程序?结论是:程序=数据结构+算法+设计模式。2)什么是领域模型?结论是:人对领域的认知,即其.

微服务入门所需了解的一切 - DEV

6981 8 7K
微服务正在完全打乱我们当今构建应用程序的方式。当涉及到软件体系结构时,这是最热门的趋势之一。越来越多的开发人员正在采用它。微服务是整体方法的替代方法,可为开发人员提供构建复杂软件应用程序所需的灵活性,.

使用Akka, Spring Boot, DDD建立Java分布式系统

10136 10 4K
当需要处理的数据增长超过单个JVM中时,这时候AKKA集群提供了构建此类实现的可扩展的解决方案。这是一篇涉及分布式计算许多方面的文章。请准备在文章上阅读上花费大量的时间,参考所提到的各种外部链接,才能.

面向服务和面向领域的不同

5 12596 12
2013-12-16 17:00 "@ sinaID99267"的内容想求老大进一步用代码的方式来阐述一下这个问题,最好是一个简单易懂的示例,谢谢! ... 这个问题其实.

Java的CQRS和事件溯源ES入门:如何从CRUD切换到CQRS/ES - Baeldung

7783 7 26K
在本教程中,我们将探索命令查询责任隔离(CQRS)和事件源设计模式的基本概念。虽然通常被称为互补模式,但我们将尝试分别理解它们,并最终了解它们如何相互补充。这些模式通常在企业应用程序中一起使用。在这方.

算法还是最重要的

94 21859 10
学习了2年多的java,设计模式,感觉小有所成,可是最近两个月的笔试和面试,我慢慢觉得原来算法是最重要的,无论是微软,亚马逊,百度还是豆瓣,笔试的都是大量的算法题,而且都是比较深入的那种,现在我买了本.

我是一名程序员而且我很蠢

128 2
来自Anton Zhiyanov文章:我写代码赚钱已经有 15 年了:我尝试过其他角色--产品管理、分析、测试--但都没有坚持下来。这些年来,我发现自己很笨。我没有被诊断出患有任何特殊疾病,但我的智力.

看了这篇有关Go语言的Channel文章,整个人都感觉不好了

11412 10 5K
Go的Channel是一个很强大的并发数据模型,在一个发送者和多个消费者情况下工作得最好,但是如果是多个发送者,那么在Channel关闭时需要协调多个发送者,等待它们发送消费完毕,同时也会导致一个Ch.

DCI,领域模型,领域事件的一些想法

15 10798 19 3K
去年我们讨论了很多关于异步,伸缩性架构的主题。近期我们也讨论DCI的一些主题。我就DCI,DDD以及领域事件说说自己的想法。 领域模型和领域事件本站已经讨论了很多,本人就略过,下面我结合本.

如何从职责和协作中发现丰富对象?

9 12083 17 3K
DDD领域驱动设计给我们指出统一建模统一语言的方向,从辨识角度提出区分实体和值对象的方法,如果说DDD只是给出了领域建模的方向,也就是WHAT部分,那么,对象设计:角色、责任和协作"(Object D.

如何提高web系统的吞吐能力?

8 6464 28
我刚刚开发了一个小型的网上商店,采用的是struts1.3的一部分代码来做的交易分发,前端用javascript在jQuery的基础上自己做的UI组件。对系统也做了一些性能优化上的考虑,比如.

业务建模:CQRS应用场景

42 13636 12
分析了做过的一些项目(基于经典DDD),觉得应用CQRS的场景还是蛮多的,特别是当出现模块之间出现相互依赖的时候,我这里说的应用场景不是为了保证查询数据的一致性,而是由领域出发自然而然的过程。举一个例.

Java中的上下文对象设计模式(Context Object Design Pattern)

11014 6 17K
我们可以使用上下文对象以独立于协议的方式封装状态,以便在整个应用程序中共享。在上下文对象中封装系统数据的上下文对象模式允许它与应用程序的其他部分共享,而无需将应用程序耦合到特定的协议。例如,HTML表.

Go语言的Web框架比较

1 28026 4 3K
这是Square工程师对几个Go语言的Web框架比较:A Comparison of Go Web Frameworks推荐使用net/http作为入门起步的标准库,如果你需要路由方面功能,可使用Go.

为何软件IT行业重视创新而不是稳定?

55 2
为何软件IT行业重视创新而不是稳定?用户为此受苦:用户体验差!彼得-蒂尔有一句名言:"竞争是失败者的事"。 如果没有必要,就不要把自己置于被迫竞争的境地。 我给年轻程序员的建议是,如果你想创建自己的编.