我在前面提到过MongoDB不支持像SQL般字符式的操作指令,所以我们必须对所有的MongoDB操作指令建立protobuf类型才能支持MongoDB指令的序列化.在对上一篇博文里我们把MongoDB的消息指令序列化单独挑出来讨论了一番,在这篇我们准备在一个MongoDB scala开发环境里通过streaming运算来示范这些protobuf消息的应用. 与前面我们介绍过的JDBC-streaming和Cassandra-streaming对应操作指令的处理相同,MGO-streaming也是…
前两篇我们介绍了JDBC和Cassandra的gRPC streaming实现.相对MongoDB来说,JDBC和Cassandra支持字符类型的query语句SQL,CQL,所以把query指令转换成protobuf structures是简单直接的.而MongoDB没有提供字符类的query,所以我们必须进行MongoDB query涉及的所有类型与protobuf类型的相互转换,实现gRPC功能会复杂的多.我们在这篇讨论里先介绍MongoDB query的protobuf转换. 在前面的M…
原文:Windows Phone开发(47):轻松调用Web Service 众所周知(除了没用过VS的),在VS里面调用Web Service是一件很愉快的事情,不解释,相信很多朋友在以前的项目中肯定也用过WEB服务.同样,在WP中调用Web Service也是非常简单的,你可以不信,反正我绝对信了. 有例子有真相,我们就以http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx 为例,这个Web服务可…
在上一篇博文里我们介绍了通过gRPC实现JDBC数据库的streaming,这篇我们介绍关于cassandra的streaming实现方式.如果我们需要从一个未部署cassandra的节点或终端上读取cassandra数据,可以用gRPC来搭建一个数据桥梁来连接这两端.这时cassandra这端就是gRPC-Server端,由它提供cassandra的数据服务. 在前面sdp系列讨论里我们已经实现了Cassandra-Engine.它的运作原理还是通过某种Context把指令提交给cassand…
在一个akka-cluster环境里,从数据调用的角度上,JDBC数据库与集群中其它节点是脱离的.这是因为JDBC数据库不是分布式的,不具备节点位置透明化特性.所以,JDBC数据库服务器必须通过服务方式来向外提供数据操.在这种场景里服务端是JDBC服务,其它节点,包括其它的JDBC数据库节点都是这个JDBC服务的调用客户端.因为我们已经明确选择了在akka-cluster集群环境里实施gRPC服务模式,通过akka-stream的流控制方式实现数据库操作的程序控制,所以在本次讨论里我们将示范说明…
首先声明:标题上的所谓编程模式是我个人考虑在集群环境下跨节点(jvm)的流程控制编程模式,纯粹按实际需要构想,没什么理论支持.在5月份的深圳scala meetup上我分享了有关集群环境下的编程模式思路.我提供了下面这个示意图: 上图是我正在探讨的“现代企业I.T综合数据平台”网络结构.因为互联网经济下的信息系统必须增添大数据元素,所以除了传统的交易类型jdbc数据库之外,还增加了分布式数据库cassandra和mongodb.由于jdbc数据库不支持分布式的运算模式,所以从数据交换的角度上它与…
gRPC Streaming的操作对象由服务端和客户端组成.在一个包含了多个不同服务的集群环境中可能需要从一个服务里调用另一个服务端提供的服务.这时调用服务端又成为了提供服务端的客户端了(服务消费端).那么如果我们用streaming形式来提交服务需求及获取计算结果就是以一个服务端为Source另一个服务端为通过式passthrough Flow的stream运算了.讲详细点就是请求方用需求构建Source,以连接Flow的方式把需求传递给服务提供方.服务提供方在Flow内部对需求进行处理后再把…
< Service具体解释(一):什么是Service> < Service具体解释(二):Service生命周期> <Service具体解释(三):Service的使用> <Service具体解释(四):绑定服务 与 通信> <Service具体解释(五):使用Messager进行通信> <Service具体解释(六):进程间通信-AIDL> Service是Android中经常使用组件之中的一个,它是Android中实现程序后台执…
1. gRPC 客户端创建流程 1.1 背景 gRPC 是在 HTTP/2 之上实现的 RPC 框架,HTTP/2 是第 7 层(应用层)协议,它运行在 TCP(第 4 层 - 传输层)协议之上,相比于传统的 REST/JSON 机制有诸多的优点: 基于 HTTP/2 之上的二进制协议(Protobuf 序列化机制): 一个连接上可以多路复用,并发处理多个请求和响应: 多种语言的类库实现: 服务定义文件和自动代码生成(.proto 文件和 Protobuf 编译工具). 此外,gRPC 还提供了…
1. RPC 入门 1.1 RPC 框架原理 RPC 框架的目标就是让远程服务调用更加简单.透明,RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP).序列化方式(XML/Json/ 二进制)和通信细节.服务调用者可以像调用本地接口一样调用远程的服务提供者,而不需要关心底层通信细节和调用过程. RPC 框架的调用原理图如下所示: 1.2 业界主流的 RPC 框架 业界主流的 RPC 框架整体上分为三类: 支持多语言的 RPC 框架,比较成熟的有 Google 的 gRPC.Apache(F…