腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
函数式编程语言及工具
专栏作者
举报
283
文章
264531
阅读量
67
订阅数
订阅专栏
申请加入专栏
全部文章(283)
scala(150)
数据库(52)
编程算法(39)
sql(31)
数据处理(31)
http(26)
数据结构(20)
api(18)
其他(16)
rpc(15)
json(14)
mongodb(14)
node.js(13)
分布式(13)
jdbc(11)
kafka(11)
react(7)
nosql(6)
网站(6)
大数据(6)
es(6)
go(5)
云数据库 MongoDB(5)
java(4)
javascript(4)
网络安全(4)
xml(3)
html(3)
android(3)
日志服务(3)
面向对象编程(3)
安全(3)
actor(3)
文件存储(2)
人工智能(2)
存储(2)
开源(2)
缓存(2)
date(2)
event(2)
histogram(2)
keyword(2)
map(2)
match(2)
sequence(2)
机器学习(1)
mac os(1)
c 语言(1)
c++(1)
python(1)
bash(1)
.net(1)
asp.net(1)
jquery(1)
unix(1)
windows server(1)
bash 指令(1)
TDSQL MySQL 版(1)
消息队列 CMQ 版(1)
SSL 证书(1)
图像处理(1)
企业(1)
容器(1)
压力测试(1)
spark(1)
jvm(1)
zookeeper(1)
tcp/ip(1)
socket编程(1)
数据分析(1)
windows(1)
https(1)
系统架构(1)
nest(1)
Elasticsearch Service(1)
action(1)
adt(1)
aggregation(1)
auto(1)
behavior(1)
boost(1)
case(1)
class(1)
command(1)
count(1)
debug(1)
dsl(1)
entity(1)
entitymanager(1)
extends(1)
filter(1)
free(1)
function(1)
int(1)
io(1)
key(1)
list(1)
max(1)
metrics(1)
min(1)
pool(1)
prefix(1)
process(1)
router(1)
row(1)
scalaz(1)
search(1)
sharding(1)
slick(1)
state(1)
string(1)
sum(1)
text(1)
title(1)
union(1)
worker(1)
zip(1)
数据类型(1)
统计(1)
语法(1)
搜索文章
搜索
搜索
关闭
akka-grpc - 应用案例
scala
rpc
图像处理
数据结构
上期说道:http/2还属于一种不算普及的技术协议,可能目前只适合用于内部系统集成,现在开始大面积介入可能为时尚早。不过有些项目需求不等人,需要使用这项技术,所以研究了一下akka-grpc,写了一篇介绍。本想到此为止,继续其它项目。想想这样做法有点不负责任,像是草草收场。毕竟用akka-grpc做了些事情,想想还是再写这篇跟大家分享使用kka-grpc的过程。
用户1150956
2020-09-01
830
0
akka-grpc - 基于akka-http和akka-streams的scala gRPC开发工具
rpc
http
数据结构
scala
关于grpc,在前面的scalaPB讨论里已经做了详细的介绍:google gRPC是一种全新的RPC框架,在开源前一直是google内部使用的集成工具。gRPC支持通过http/2实现protobuf格式数据交换。protobuf即protocol buffer,是google发明的一套全新的序列化传输协议serialization-protocol,是二进制编码binary-encoded的,相对java-object,XML,Json等在空间上占有优势,所以数据传输效率更高。由于gRPC支持http/2协议,可以实现双向通讯duplex-communication,解决了独立request/response交互模式在软件编程中的诸多局限。这是在系统集成编程方面相对akka-http占优的一个亮点。protobuf格式数据可以很方便的转换成 json格式数据,支持对外部系统的的开放协议数据交换。这也是一些人决定选择gRPC作为大型系统微服务集成开发工具的主要原因。更重要的是:用protobuf和gRPC进行client/server交互不涉及任何http对象包括httprequest,httpresponse,很容易上手使用,而且又有在google等大公司内部的成功使用经验,用起来会更加放心。
用户1150956
2020-08-25
1.9K
0
Akka-CQRS(16)- gRPC用JWT进行权限管理
json
rpc
scala
html
http
前面谈过gRPC的SSL/TLS安全机制,发现设置过程比较复杂:比如证书签名:需要服务端、客户端两头都设置等。想想实际上用JWT会更加便捷,而且更安全和功能强大,因为除JWT的加密签名之外还可以把私密的用户信息放在JWT里加密后在服务端和客户端之间传递。当然,最基本的是通过对JWT的验证机制可以控制客户端对某些功能的使用权限。
用户1150956
2019-07-19
1.6K
0
Akka-CQRS(9)- gRPC,实现前端设备与平台系统的高效集成
rpc
scala
文件存储
前面我们完成了一个CQRS模式的数据采集(录入)平台。可以预见:数据的产生是在线下各式各样的终端系统中,包括web、桌面、移动终端。那么,为了实现一个完整的系统,必须把前端设备通过某种网络连接形式与数据采集平台集成为一体。有两种方式可以实现需要的网络连接:Restful-api, gRPC。由于gRPC支持http/2通讯协议,支持持久连接方式及双向数据流。所以对于POS设备这样的前端选择gRPC作为网络连接方式来实现实时的操作控制应该是正确的选择,毕竟采用恒久连接和双向数据流效率会高很多。gRPC是google公司的标准,基于protobuffer消息:一种二进制序列化数据交换机制。gRPC的优势在这里就不再细说,读者可以参考前面有关gRPC的讨论博文。
用户1150956
2019-06-24
1.1K
0
Akka-CQRS(10)- gRPC on SSL/TLS 安全连接
rpc
https
SSL 证书
scala
java
使用gRPC作为云平台和移动前端的连接方式,网络安全应该是必须考虑的一个重点。gRPC是支持ssl/tls安全通讯机制的。用了一个周末来研究具体使用方法,实际上是一个周末的挖坑填坑过程。把这次经历记录下来与各位分享。
用户1150956
2019-06-24
1.3K
0
Akka-CQRS(13)- SSL/TLS for gRPC and HTTPS:自签名证书产生和使用
rpc
http
网络安全
数据分析
scala
到现在,我们已经完成了POS平台和前端的网络集成。不过,还是那句话:平台系统的网络安全是至关重要的。前一篇博客里我们尝试实现了gRPC ssl/tls网络连接,但测试时用的证书如何产生始终没有搞清楚。现在akka-http开发的ws同样面临HTTPS的设置和使用问题。所以,特别抽出这篇博文讨论一下数字证书的问题。
用户1150956
2019-06-24
1.4K
0
Akka-CQRS(0)- 基于akka-cluster的读写分离框架,构建gRPC移动应用后端架构
数据库
sql
scala
rpc
上一篇我们讨论了akka-cluster的分片(sharding)技术。在提供的例子中感觉到akka这样的分布式系统工具特别适合支持大量的带有内置状态的,相对独立完整的程序在集群节点上分布运算。这里重点要关注这些程序的内部状态,它们会占用系统资源包括内存。把状态保存在内存里相对存放在数据库里能显著提高程序运算效率。在系统出现各种情况下对这些非持久化的程序状态的管理自然就成为了需要考虑的问题,此其一。在一个多用户、高并发的大型分布式系统里往往数据库数据使用会产生大量的冲突影响系统性能。如果能够把数据库的写入和读取分成互不关联的操作就可以避免很多资源占用的冲突。
用户1150956
2019-05-25
594
0
PICE(6):集群环境里多异类端点gRPC Streaming - Heterogeneous multi-endpoints gRPC streaming
rpc
jdbc
mongodb
go
数据处理
gRPC Streaming的操作对象由服务端和客户端组成。在一个包含了多个不同服务的集群环境中可能需要从一个服务里调用另一个服务端提供的服务。这时调用服务端又成为了提供服务端的客户端了(服务消费端)。那么如果我们用streaming形式来提交服务需求及获取计算结果就是以一个服务端为Source另一个服务端为通过式passthrough Flow的stream运算了。讲详细点就是请求方用需求构建Source,以连接Flow的方式把需求传递给服务提供方。服务提供方在Flow内部对需求进行处理后再把结果返回来,请求方run这个连接的stream应该就可以得到需要的结果了。下面我们就针对以上场景在一个由JDBC,Cassandra,MongoDB几种gRPC服务组成的集群环境里示范在这几个服务之间的stream连接和运算。
用户1150956
2018-09-28
639
0
PICE(5):MongoDBStreaming - gRPC -MGO Service
mongodb
rpc
go
sql
scala
我在前面提到过MongoDB不支持像SQL般字符式的操作指令,所以我们必须对所有的MongoDB操作指令建立protobuf类型才能支持MongoDB指令的序列化。在对上一篇博文里我们把MongoDB的消息指令序列化单独挑出来讨论了一番,在这篇我们准备在一个MongoDB scala开发环境里通过streaming运算来示范这些protobuf消息的应用。
用户1150956
2018-09-28
779
0
PICE(4):MongoDBStreaming - gRPC Protobuf conversion
mongodb
rpc
jdbc
sql
前两篇我们介绍了JDBC和Cassandra的gRPC streaming实现。相对MongoDB来说,JDBC和Cassandra支持字符类型的query语句SQL,CQL,所以把query指令转换成protobuf structures是简单直接的。而MongoDB没有提供字符类的query,所以我们必须进行MongoDB query涉及的所有类型与protobuf类型的相互转换,实现gRPC功能会复杂的多。我们在这篇讨论里先介绍MongoDB query的protobuf转换。
用户1150956
2018-07-31
842
0
PICE(3):CassandraStreaming - gRPC-CQL Service
rpc
jdbc
数据库
在上一篇博文里我们介绍了通过gRPC实现JDBC数据库的streaming,这篇我们介绍关于cassandra的streaming实现方式。如果我们需要从一个未部署cassandra的节点或终端上读取cassandra数据,可以用gRPC来搭建一个数据桥梁来连接这两端。这时cassandra这端就是gRPC-Server端,由它提供cassandra的数据服务。
用户1150956
2018-07-31
1.1K
0
PICE(2):JDBCStreaming - gRPC-JDBC Service
jdbc
rpc
数据库
在一个akka-cluster环境里,从数据调用的角度上,JDBC数据库与集群中其它节点是脱离的。这是因为JDBC数据库不是分布式的,不具备节点位置透明化特性。所以,JDBC数据库服务器必须通过服务方式来向外提供数据操。在这种场景里服务端是JDBC服务,其它节点,包括其它的JDBC数据库节点都是这个JDBC服务的调用客户端。因为我们已经明确选择了在akka-cluster集群环境里实施gRPC服务模式,通过akka-stream的流控制方式实现数据库操作的程序控制,所以在本次讨论里我们将示范说明gRPC-JDBC-Streaming的具体实现和使用方式。
用户1150956
2018-07-31
1.4K
0
ScalaPB(5):用akka-stream实现reactive-gRPC
scala
react
rpc
在前面几篇讨论里我们介绍了scala-gRPC的基本功能和使用方法,我们基本确定了选择gRPC作为一种有效的内部系统集成工具,主要因为下面gRPC支持的几种服务模式: 1、Unary-Call:独立的一对client-request/server-response,是我们常用的http交互模式 2、Server-Streaming:client发出一个request后从server端接收一串多个response 3、Client-Streaming:client向server发送一串多个reques
用户1150956
2018-05-28
1.2K
0
ScalaPB(3): gRPC streaming
scala
rpc
接着上期讨论的gRPC unary服务我们跟着介绍gRPC streaming,包括: Server-Streaming, Client-Streaming及Bidirectional-Streaming。我们首先在.proto文件里用IDL描述Server-Streaming服务: /* * responding stream of increment results */ service SumOneToMany { rpc AddOneToMany(SumRequest) returns
用户1150956
2018-05-28
1K
0
ScalaPB(2): 在scala中用gRPC实现微服务
scala
rpc
gRPC是google开源提供的一个RPC软件框架,它的特点是极大简化了传统RPC的开发流程和代码量,使用户可以免除许多陷阱并聚焦于实际应用逻辑中。作为一种google的最新RPC解决方案,gRPC具备了以下这些强项: 1、gRPC在HTTP/2协议上用protobuf取代了json实现了最佳效率 2、用IDL(Interface Definition Language),一种简单的描述语言来自动产生RPC的api源代码 3、支持blocking/non-blocking双向数据流交互,适合程序的流程
用户1150956
2018-05-28
1.7K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档