Zeebe服务学习2-状态机】的更多相关文章

1.什么是状态机? 第一次接触到这个名词,感觉自己是明白这个东东是啥的,但是后来发现,emm-,是的,只是理解了这个词而已. 贴一下官方介绍: 有限状态机,(英语:Finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型. 有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件.在计算机科学中,有限状态机被广泛用于建模应用行为.硬件…
1.Zeebe是什么? Camunda公司研发的工作流引擎Zeebe,目标是对微服务的编排.具体详细介绍可以参考官网:https://zeebe.io/what-is-zeebe/ 2.背景 随着微服务的发展,大家都单体服务进行了拆分,解耦,这样做引发了另外的一个问题:之前一个接口实现的功能,现在需要调用几个接口才能完成.如何解决这些原子性的接口呢? 这时候我们想到了Zeebe服务. 3.服务部署 3.1 第一步:安装环境,不管你是Linux系统还是Win系统,首先需要安装上docker,因为我…
一.背景 在0.21版本之前,Zeebe不支持多实例元素,在2019年10月9号发布的0.21版本中,加入这一特性, 主要是体现在Zeebe Modeler 0.7.0以及之后的版本中. 二.特性介绍 我对这个多实例比较好奇,研究了一下,它最终是解决了什么问题,在官方文档中介绍如下: A multi-instance activity is executed multiple times - once for each element of a given collection (like a…
1.背景Zeebe集群里面保证分布式一致性问题,是通过Raft实现的,其实这个算法用途比较广泛,比如Consul网关,也是通过Raft算法来实现分布式一致性的. 首先简单介绍一下Raft: 在学术界,解决分布式一致性最耀眼的算法是Paxos,同时,这个算法也是最晦涩.而Raft算法就是基于这个背景被提出来,相对Paxos,Raft比较容易上手. 2.Raft算法介绍 集群每个节点都有三个状态:Follower,Leader,Candidate(Leader候选人)三个状态之间是可以互换的. 集群…
本篇接着上一篇angular的uiRouter服务学习(3)继续讲解uiRouter的用法 本篇主要讲解uiRouter的url路由 大多数情况下,状态是和url相关联的: 当url改变,激活对应的状态.当状态发生改变,同步url. 所以,在设置状态的一开始,就应该把url路由的设计考虑进去,同时保持路由和状态的分离. 其实在之前几篇的栗子里,已经多次用到了url路由,比如: $stateProvider .state('contacts', { url: "/contacts", t…
本篇接着上一篇 angular的uiRouter服务学习(2) 继续讲解uiRouter的用法 本篇主要讲解uiRouter的多个命名的视图 我们可以给ui-view元素添加ui-view的值来给它命名,这样,一个视图模板里就可以有多个ui-view标签. 比如下面这个应用,它需要动态的填充一个图表,图表里有一些表格数据,筛选项,等: 给视图命名,需要在状态里定义views属性. views的属性值为一个对象. views属性会覆盖template属性: 如果给状态定义了views属性,那么状态…
本篇接着上一篇 angular的uiRouter服务学习(1) 继续讲解uiRouter的用法 本篇主要讲解uiRouter的嵌套状态&嵌套视图 嵌套状态的方法: 状态和状态之间可以互相嵌套,状态的嵌套共有以下几种方式: 1.使用'.state()'进行嵌套. 比如 .state('contact',{}).state('contact.list',{}) 2.使用 ui-router.stateHelper 来创建状态嵌套树. 这种方式需要另外引入依赖,所以很少被使用.也就不具体详解了 3.定…
SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Monolithic比较适合小项目 单体架构优点: 开发简单直接,集中式管理, 基本不会重复开发功能都在本地,没有分布式的管理开销和调用开销. 单体架构缺点: 开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断 代码维护难:代码功能耦合在一起,新人不知道何从下手 部署不灵活:构建时间长…
原文:微服务学习笔记(1)--使用MagicOnion实现gRPC 1.什么是gRPC 官方文档:https://grpc.io/docs/guides/index.html 2.什么是MagicOnion MagicOnion开源地址:https://github.com/Cysharp/MagicOnion 3.服务端代码 新建一个WebAPI项目 using MagicOnion; namespace ServerDefinition { // 定义接口和方法,IService,Unary…
原文:微服务学习笔记(2)--使用Consul 实现 MagicOnion(GRpc) 服务注册和发现 1.下载打开Consul 笔者是windows下面开发的(也可以使用Docker). 官网下载windows的Consul https://www.consul.io/ 使用cmd窗口打开,输入consul agent -dev 访问默认127.0.0.1:8500就可以看到界面化的Consul 2.在服务端注册 接着上一篇 using Consul; using Grpc.Core; usi…