官网地址:https://activiti.gitbook.io/activiti-7-developers-guide/components/spring-cloud
从Activiti框架的角度来看,我们依赖于Spring Boot / Spring Cloud / Spring Cloud Kubernetes的3个关键方面,
它们使我们的组件(如Process Runtime)能够很好地与其他基础设施集成。
首先,我们依赖Spring Boot HATEOAS来实现所有的REST端点,以确保它们是对齐的,并且我们有最少的代码需要维护。
我们还为遵循Alfresco API准则的JSON有效负载提供了另一种格式。
Spring Boot是我们创建微服务的首选武器。我们依赖Spring Boot来提供一组基本的测试框架,以创建REST端点和依赖注入来引导我们的服务。
我们严重依赖Spring Boot Starter概念,其中我们使用@EnableAutoConfiguration创建运行时需要的所有bean。
这些AutoConfigurations还帮助我们提供配置点,以参数化所提供服务的行为。
其次,我们严重依赖Spring Cloud Stream,以确保我们能够以异步的方式消费和发射事件。这是确保独立组件可以在不紧密耦合的情况下进行协作的关键促成因素。Spring Cloud Stream支持绑定的概念,它允许我们使用底层消息代理的不同实现,如:RabbitMQ, Kafka, Amazon SQS等。
最后,我们利用了几个服务之上的抽象层,如服务注册、用于动态服务注册的网关、发现和路由、分布式配置服务等。
为了在Kubernetes内部利用这些功能,我们使用Spring Cloud Kubernetes项目,该项目已经包含在Spring Cloud发布系列中。
通过使用Spring Cloud Kubernetes,我们可以将我们的服务集成到Kubernetes本地服务中,以利用服务发现、配置、秘密等功能。
我们利用所有的组件来确保我们在分布式环境中良好地运行,比如Kubernetes内部的Docker技术。
我们还确保Activiti Cloud不会与这些技术提供的任何功能重叠,以免造成任何摩擦。