摘要: 上篇提到,按当前对web-service功能需要,我们需要完成数据转换marshalling,服务接口routing这两部分的调研和示范。上篇已经完成了对序列化marshalling的讨论,这篇就介绍一下routing了。akka-http提供了一套功能强大,使用又很方便的Routing DSL。R阅读全文
posted @ 2019-06-20 09:25 雪川大虫 阅读(40) 评论(0) 编辑
摘要: 前面几篇讨论了关于gRPC方式的前后端连接集成方式。gRPC也是一个开放的标准,但讲到普及性就远远不及基于http/1.1协议的web-service了。特别是gRPC的前端编程还是有一定的门槛,所以作为一种开放的网络大平台还是必须考虑用web-service方式的集成。平台服务api可以有两样选择阅读全文
posted @ 2019-06-19 16:31 雪川大虫 阅读(106) 评论(0) 编辑
摘要: 使用gRPC作为云平台和移动前端的连接方式,网络安全应该是必须考虑的一个重点。gRPC是支持ssl/tls安全通讯机制的。用了一个周末来研究具体使用方法,实际上是一个周末的挖坑填坑过程。把这次经历记录下来与各位分享。 gRPC的ssl/tls的原理是在服务端安装安全证书公用certificate和私阅读全文
posted @ 2019-06-17 13:50 雪川大虫 阅读(79) 评论(0) 编辑
摘要: 前面我们完成了一个CQRS模式的数据采集(录入)平台。可以预见:数据的产生是在线下各式各样的终端系统中,包括web、桌面、移动终端。那么,为了实现一个完整的系统,必须把前端设备通过某种网络连接形式与数据采集平台集成为一体。有两种方式可以实现需要的网络连接:Restful-api, gRPC。由于gR阅读全文
posted @ 2019-06-12 09:07 雪川大虫 阅读(181) 评论(0) 编辑
摘要: 前面我们已经讨论了CQRS-Reader-Actor的基本工作原理,现在是时候在之前那个POS例子里进行实际的应用示范了。 假如我们有个业务系统也是在cassandra上的,那么reader就需要把从日志读出来的事件恢复成cassandra表里的数据行row。首先,我们需要在cassandra上创建阅读全文
posted @ 2019-05-30 11:12 雪川大虫 阅读(38) 评论(0) 编辑
摘要: 我们在这篇通过一个具体CQRS-Reader-Actor的例子来示范akka-persistence的query端编程和应用。在前面的博客里我们设计了一个CQRS模式POS机程序的操作动作录入过程,并示范了如何实现CQRS的写端编程。现在我们可以根据这个例子来示范如何通过CQRS的读端reader-阅读全文
posted @ 2019-05-21 08:55 雪川大虫 阅读(66) 评论(0) 编辑
摘要: 前面我们全面介绍了在akka-cluster环境下实现的CQRS写端write-side。简单来说就是把发生事件描述作为对象严格按发生时间顺序写入数据库。这些事件对象一般是按照二进制binary方式如blob存入数据库的。cassandra-plugin的表结构如下: 事件对象是存放在event里的阅读全文
posted @ 2019-04-27 18:34 雪川大虫 阅读(53) 评论(0) 编辑
摘要: 上篇我们做了一个WriterActor的例子,主要目的是示范WriterActor如何作为集群分片用persistentActor特性及event-sourcing模式实现CQRS的写功能。既然是集群分片,那么我们就在这篇讲讲WriterActor的部署和测试,因为这个里面还是有些值得注意的地方。下阅读全文
posted @ 2019-04-06 20:55 雪川大虫 阅读(188) 评论(0) 编辑
摘要: 我觉着,CQRS的写部分最核心、最复杂的部分应该是Writer-Actor了。其它的监管(supervising)、分片部署等都比较规范,没太多的变动。几乎Writer-Actor所有的业务逻辑都在Receive函数里,这个地方应该算是最复杂的地方。我的想法是搭建一个标准框架,保证可以运行Write阅读全文
posted @ 2019-03-30 09:47 雪川大虫 阅读(215) 评论(1) 编辑
摘要: 上篇我介绍了CQRS模式存写部分的具体实现和akka-persistence一些函数和消息的用法。在这篇本来是准备直接用一个具体的例子来示范CQRS模式编程,主要是写端,或者是数据采集端。想着模拟收银机的后端操作,可以使用集群分片(cluster-sharding),每个分片shard代表一部POS阅读全文
posted @ 2019-03-20 14:36 雪川大虫 阅读(249) 评论(0) 编辑