标签:akka

Why gRPC (Akka) ?

原文链接:https://doc.akka.io/docs/akka-grpc/current/whygrpc.html 什么是gRPC?gRPC是一个支持请求/响应和流式处理(非持久化)用例的传输机制。 它是一个模式优先的RPC框架,协议在 Protobuf服务描述符(protobuf service descriptor)中声明,请求和响应将通过 HTTP/2 连接流式的传输。 它有几个优点:

Akka Typed 常用交互模式

本文将探讨Akka Typed下actor的常用交互模式,相对经典的untyped actor,typed actor在交互与使用方式上有着显著的区别。对Akka Typed还不太了解的读者可以先参阅我的上一篇文章:《Akka Typed新特性一览》。 本文大量参译了Akka官方文档《Interaction Patterns》一文(原文链接:https://doc.akka.io/docs/akk

Akka Typed新特性一览

Hello Scala!Akka Typed Actor从2.4开始直到2.5可以商用,进而Akka 2.6已经把Akka Typed Actor做为推荐的Actor使用模式。Typed Actor与原先的Untyped Actor最大的区别Actor有类型了,其签名也改成了akka.actor.typed.ActorRef[T]。通过一个简单的示例来看看在Akka Typed环境下怎样使用Act

Akka微服务实践-初探

目录 微服务 配置 Java Properties Typesafe Config 服务发现 Akka Discovery Nacos(溶入Spring Cloud) 服务 序列化 JSON Protobuf 服务协议 RESTful(Akka HTTP) gRPC(HTTP 2) 集群 使用Akka Discovery + Akka gRPC构建微服务集群 Akka Clus

Scala实战:使用Akka Stream优化异步代码

Scala扫盲行动 背景今天同事在开发一个消息推送功能,业务还是比较简单的: 通过地区查找这个区域内的所有组织 通过组织ID获取每个组织的所有用户 通过用户ID获得所有绑定了设备IMEI号 通过IMEI号向设备上推送消息 0 业务代码123456789101112131415implicit val system = ActorSystem()implicit val mat = Act

Akka启用ssl和HTTP 2

Akka原生支持SSL、HTTPS、HTTP 2,本文记录下各SSL的使用配置。 X.509证书 公钥证书是解决身份问题的一种方法。若仅加密是可以建立一个安全的连接,但不能保证你正在与你认为正在与之通信的服务器通信。如果没有某种方法来验证远程服务器的身份,攻击者仍然可以将自己作为远程服务器,然后将安全连接转发到伪造的远程服务器。公钥证书就是用来解决这个问题的。 考虑公共密钥证书的最佳方法是使用护照

WS SSL快速起步 - lightbend SSL Config

原文:Quick Start to WS SSL 本文适用于需要通过 HTTPS 连接到远程 Web 服务而不想阅读整个手册的用户。如果需要设置 Web 服务或配置客户端身份认证,请阅读 Generating X.509 Certificates 。 通过 HTTPS 连接到远程服务器如果远程服务器正在使用一个由已知证书颁发机构签发的证书,那么WS应该在不进行任何额外配置的情况下即可正常工作。这里

Akka实战:再谈断点上传

去年的文章:《Akka实战:HTTP大文件断点上传、下载,秒传》 通过示例介绍了在Akka HTTP里怎样实现断点上传功能。通过一段时间的应用,发现了些问题,这篇文章再深入介绍下。在 https://github.com/yangbajing/scala-applications/tree/master/file-upload能找到完整的源码。 Nginx代理Nginx代理时默认会在Nginx端收

Alpakka Kafka,反应式Kafka客户端

Alpakka Kafka 是一个要用于 Java 和 Scala 语言的开源的流感知和反应式集成数据线项目。它建立在 Akka Stream之上,提供了 DSL 来支持反应式和流式编程,内置回压功能。Akka Streams 是 Reactive Streams 和JDK 9+ java.util.concurrent.Flow 的兼容实现,可无缝地与其进行互操作。 要使用 Alpakka Ka

Akka实战:HTTP大文件断点上传、下载,秒传

访问:https://github.com/yangbajing/scala-applications/tree/master/file-upload 获取本文所述完整源码,包括Akka HTTP后端和HTML5实现的前端。 在很多应用里面都会有类似大文件上传的需求,但很多时候我们程序员都会以不支持或不好实现将其推脱掉^_^。 这次因为公司项目需要,另一个组的同事使用Spring实现了一版。他们是

测试:Akka HTTP路由

上一篇文章简单介绍了 ScalaTest,这篇将从一个实例入手介绍在项目中怎样应用 ScalaTest 来应用测试驱动的开发。 Akka HTTP这里我们将使用 Akka HTTP来开发一个很简单的业务应用:组织管理。它只有一个数据模型,Org。组织支持树型结构,所有每个 org 里面都可以有一个可选 parent 属性来指向父组织,若没有则代表此 org 是个一级组织。Org 的数据模型如下:

Akka HTTP 快速上手

Akka Http 是Akka社区提供的一个 Http服务端/客户端通用工具包,支持 Http 1.0/1.1标准及WebSocket,现在 Http 2 的支持也在紧锣密鼓的实现中。 这篇文章将介绍Akka HTTP Server,我们将介绍Akka Http的常用功能模块及使用方式。Akka Http提供了一套强大、易用、易扩展的route dsl来构建路由。Akka Http Client因

Akka实战:开发一个多线程新闻爬虫

代码:https://github.com/yangbajing/crawler-service 使用Scala开发一个多线程爬虫,利用Akka库来管理多个爬虫任务的分散和聚合操作。同时使用scheduleOnce来设置爬取任务在指定时间内完成。详细需求如下: 可同时从多个新闻源(搜索引擎)检索新闻 已爬取过的新闻存库,第二次访问时直接从库里读取 提供duration参数,调用方可设置调用超时。

Akka实战:构建REST风格的微服务

使用Akka-Http构建REST风格的微服务,服务API应尽量遵循REST语义,数据使用JSON格式交互。在有错误发生时应返回:{"errcode":409,"errmsg":"aa is invalid,the ID is expected to be bb"}类似的JSON错误消息。 代码: https://github.com/