标签: akka

微服务开放环境:Spring & Akka & Docker

随着微服务的流行,服务拆分与服务依赖越来越多,想在本机搭建一套完整的开发环境愈来愈有挑战。代码服务还好,多开几个 IDE 并启动多个应用服务即可,但若你使用了多种数据库系统、缓存系统、消息系统等时,在本机手动安装就非常繁琐了……可以通过 Docker 来简化这些系统的安装。 本文是对近一年微服务开发环境实践记录,我们在微服务开发中混合使用了 Spring Cloud 框架和 Akka 库,同时应用

Nacos SDK for Scala

Nacos SDK for Scala:https://github.com/yangjing/nacos-sdk-scala 。 支持 Scala 2.12, 2.13 ;支持 Akka Discovery 和 Play WS。 使用12345678// Scala APIlibraryDependencies += "me.yangjing.nacos4s" %% &quo

Akka HTTP 非官方中文翻译

Akka HTTP 10.1.11 非官文中文翻译在线阅读地址: 中文文档:Akka HTTP Unofficial Chinese 码云镜像:Akka HTTP Unofficial Chinese 翻译难免有错误或表达不够清楚的地方。因此,Akka HTTP 中文版翻译采用了基于原始 Paradox 的 md 文件对照翻译的形式,英文原文将显示在中文译文的上方。翻译的源码内容可以在 htt

译:Akka 2.6.4 Released

原文地址: https://akka.io/blog/news/2020/03/13/akka-2.6.4-released 亲爱的 hakkers 们, 我们很激动的宣布 Akka 2.6 的新的修补版本发布。除了 bug 修复和改进,还有与 Akka Cluster 相关的3个比较大的新特性。它相对 2.6.3(版本)的显著变化包括: 可靠交付(at-least-once-delivery)

译:Akka gRPC 0.8.0 Released

亲爱的 hakker 们! 我们高兴的公布 Akka gRPC 0.8.0 版本!gRPC 是请求/响应和流式处理(非持久化)场景的传输机制。参见 Why gRPC? (获得)何时使用 gRPC 作为传输机制的更多信息。这个版本引入了许多令人兴奋的新特性,并使我们更接近 1.0.0 (版本),我们预计在数据周内发布。 主要的改进包括: 基本支持 gRPC Server Reflecti

怎样优雅的关闭 ActorSystem

使用 CoordinatedShutdown 可以优雅的方式关闭 ActorSystem。默认情况下,需要调用 ActorSystem 上的 terminate 方法才会触发 CoordinatedShutdown,但也可以设置为在 JVM 退出时自动运行(比如接收到操作系统的 SIGTERM 信号或Java虚拟机退出)。要使在程序退出时 CoordinatedShutdown 自动调用,需要如下

Scala实战:求解 Top K 问题

问题描述服务器上有一个 movies.csv 文件,里面保存了每部电影的评分(为了简化和专注问题,CSV文件每一行只有两个字段:movieId和rating)。文件通过HTTP服务器发布。要求从文件内找出排名最高的10部电影。 解法1:全量排序求Top 10通过 wget、curl 等工具先将文件下载到本地,再读出文件内所有行并解析出 movieId和rating 字段,按 rating 字段排序

OAuth 2 服务的 Akka 实现:access_token 管理

实现一个 OAuth 2 服务有几个核心点: OAuth 2 协议解析 连接的用户可能很多,系统需支持横向扩展 每个连接用户的 access_token 的状态控制:有效期控制 服务要支持容错、可恢复、可扩展、高并发等特性 使用 Akka 来实现 OAuth 2 服务会发现逻辑非常的清晰,且能很好的实现以上几个核心点。 每个连接用户或 access_token 可抽像为一个 Actor,这样多

怎样在 Akka Persistence 中实现分页查询

在 Akka Persistence 中,数据都缓存在服务内存(状态),后端存储的都是一些持久化的事件日志,没法使用类似 SQL 一样的 DSL 来进行分页查询。利用 Akka Streams 和 Actor 我们可以通过编码的方式来实现分页查询的效果,而且这个分页查询还是分步式并行的…… EventSourcedBehaviorAkka Persistence的EventSourcedBehav

2019年12月深圳Scala Meetup预热:《Akka HTTP、gRPC与Typed Actor工程实践》

2019年12月深圳Scala Meetup1. 活动介绍 好久不见,继Tubi TV赞助的两场北京Scala Meetup圆满落幕,深圳的Scala Meetup又要开幕啦!虽然连深圳都变冷了,但是Scalaer的热情丝毫不减,欢迎大家前来一起探讨Scala在生产环境中的实践和应用! 2. 时间地点 时间:2019年12月21日下午 13:00-18:00 (13:00开始签到)地点:深圳市罗湖

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/yangjing/scala-applications/tree/master/file-upload能找到完整的源码。 Nginx代理Nginx代理时默认会在Nginx端收到完