原文:Akka-CQRS(0)- 基於akka-cluster的讀寫分離框架,構建gRPC移動應用后端架構

上一篇我們討論了akka cluster的分片 sharding 技術。在提供的例子中感覺到akka這樣的分布式系統工具特別適合支持大量的帶有內置狀態的,相對獨立完整的程序在集群節點上分布運算。這里重點要關注這些程序的內部狀態,它們會占用系統資源包括內存。把狀態保存在內存里相對存放在數據庫里能顯著提高程序運算效率。在系統出現各種情況下對這些非持久化的程序狀態的管理自然就成為了需要考慮的問題,此其 ...

2019-01-22 16:05 0 667 推薦指數:

查看詳情

Akka-CQRS(10)- gRPC on SSL/TLS 安全連接

使用gRPC作為雲平台和移動前端的連接方式,網絡安全應該是必須考慮的一個重點。gRPC是支持ssl/tls安全通訊機制的。用了一個周末來研究具體使用方法,實際上是一個周末的挖坑填坑過程。把這次經歷記錄下來與各位分享。 gRPC的ssl/tls的原理是在服務端安裝安全證書公用 ...

Mon Jun 17 21:50:00 CST 2019 0 565
Akka-CQRS(16)- gRPC用JWT進行權限管理

前面談過gRPC的SSL/TLS安全機制,發現設置過程比較復雜:比如證書簽名:需要服務端、客戶端兩頭都設置等。想想實際上用JWT會更加便捷,而且更安全和功能強大,因為除JWT的加密簽名之外還可以把私密的用戶信息放在JWT里加密后在服務端和客戶端之間傳遞。當然,最基本的是通過對JWT的驗證機制 ...

Mon Jul 15 22:55:00 CST 2019 0 854
akka-typed(8) - CQRS讀寫分離模式

前面介紹了事件源(EventSource)和集群(cluster),現在到了討論CQRS的時候了。CQRS讀寫分離模式,由獨立的寫方程序和讀方程序組成,具體原理在以前的博客里介紹過了。akka-typed應該自然支持CQRS模式,最起碼本身提供了對寫方編程的支持,這點 ...

Fri Jun 26 17:27:00 CST 2020 0 531
Akka-Cluster(1)- Cluster Singleton 單例節點

關於cluster-singleton我在前面的博文已經介紹過,在這篇我想回顧一下它的作用和使用方法。首先,cluster-singleton就是集群某個節點上的一個actor。任何時間在集群內保證只會有一個這種actor的實例。它可以是在任何節點上,具體位置由akka-cluster系統 ...

Thu Oct 25 22:03:00 CST 2018 0 668
Akka-Cluster(0)- 分布式應用開發的一些想法

當我初接觸akka-cluster的時候,我有一個夢想,希望能充分利用actor自由分布、獨立運行的特性實現某種分布式程序。這種程序的計算任務可以進行人為的分割后再把細分的任務分派給分布在多個服務器上的actor上去運算。這些服務器都處於同一集群環境里,它們都是akka-cluster中的節點 ...

Tue Oct 23 15:57:00 CST 2018 0 879
Akka-Cluster(4)- DistributedData, 分布式數據類型

在實際應用中,集群環境里共用一些數據是不可避免的。我的意思是有些數據可以在任何節點進行共享同步讀寫,困難的是如何解決更改沖突問題。本來可以通過分布式數據庫來實現這樣的功能,但使用和維護成本又過高,不值得。分布式數據類型distributed-data (ddata)正是為解決這樣的困局而設 ...

Mon Dec 24 17:10:00 CST 2018 0 669
akka-grpc - 應用案例

上期說道:http/2還屬於一種不算普及的技術協議,可能目前只適合用於內部系統集成,現在開始大面積介入可能為時尚早。不過有些項目需求不等人,需要使用這項技術,所以研究了一下akka-grpc,寫了一篇介紹。本想到此為止,繼續其它項目。想想這樣做法有點不負責任,像是草草收場。畢竟用 ...

Sat Aug 29 17:57:00 CST 2020 0 739
Akka-Cluster(3)- ClusterClient, 集群客戶端

上篇我們介紹了distributed pub/sub消息傳遞機制。這是在同一個集群內的消息共享機制:發布者(publisher)和訂閱者(subscriber)都在同一個集群的節點上,所有節點上的DistributedPubSubMediator通過集群內部的溝通機制在底層構建了消息流通渠道 ...

Mon Dec 10 17:55:00 CST 2018 0 722
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM