- ReceivePersistentActor vs. UntypedPersistentActor
- PersistenceId
- OnCommand
- OnRecover
- IsRecovering
- Persist vs. PersistAsync
- DeferAsync
- DeleteMessages
- AtLeastOnceDeliveryReceiveActor vs. AtLeastOnceDeliveryActor
- PersistentView
- AsyncWriteJournal
- SnapshotStore
- LoadSnapshot vs. SaveSnapshot
- DeleteSnapshot vs. DeleteSnapshots
- OnReplaySuccess vs. OnReplayFailure
- SnapshotSequenceNr
- SQLite
- 뷰어
- 데이터 확인하기
- Overview
- Create Cluster : akka.cluster.seed-nodes
- Integrate with Petabridge.Cmd
- Automatically Mark Unreachable Nodes : akka.cluster.auto-down-unreachable-after
- Retry Joining Time Interval : akka.cluster.seed-node-timeout
-
Seed Node N개 일 때
-
Petabridge.Cmd Join, Leave, ...
- Roles and Minimum Size
- Define Roles : akka.cluster.roles
- Cluster-Wide Minimum Size : akka.cluster.min-nr-of-members
- Per-Role Minimum Size : akka.cluster.role..min-nr-of-members
- Mix Minimum Size
- Gossip Events
- Subscribe to Gossip Events : Cluster _cluster = Cluster.Get(Context.System); _cluster.Subscribe(Self, ...);
- Discover Actor by Tag
- Discover Actor by Role and Path : cluster.State.Members.Where(member => ...);
- Warm-up for Cluster Routing
- Pool - Create Routees Automatically : round-robin-pool
- Pool - Hanlde Exceptions from Routees
- Group - Create routees yourself : round-robin-group, path
- Group - Hanlde Exceptions from Routees
- Deploy - Create Actor Remotely : akka.actor.deployment..remote
- Deploy - Hanlde Exceptions from Deployed Actors
-
Remote Deploy - 자동으로 Deathwatch 되는지?
- Cluster Routing
- Pool - Deploy Routees Remotely
- Pool - Hanlde Exceptions from Routees
-
Pool - Handle Routees Lifecycle
- Group - Create Routees Yourself
- Group - Handle Exceptions from Routees
-
Group - Handle Routees Lifecycle
- Cluster Singleton
- Create Singleton
-
Send Message To Singleton
-
Manage Singleton???
-
Buffer Size
- Distributed PubSub
- Publish - Communicate by Topic : DistributedPubSub.Get, Subscribe/SubscribeAck, Publish
- Publish - Communicate by Topic with Same GroupId : sendOneMessageToEachGroup: true, (Send)
- Publish - Communicate by Topic with Different GroupId : sendOneMessageToEachGroup: true, (Publish)
- Publish - Get Topics
- Send - Communicate by Path : Put, Remove, Send
- Send - Communicate by Path with localAffinity : localAffinity: true
- SendToAll - Communicate by Path
- SendToAll - Communicate by Path with ExcludeSelf : excludeSelf: true
-
사용자 정의 메시지(모든 Node에 참고해야 하나?, 메시지를 받지 않는 Node도?)
- Cluster Client
- Communicate with Cluster by Path
- Communicate with Cluster by Topic
- Subscribe to SubscribeContactPoints Events
- Subscribe to SubscribeClusterClients Events
- Send Custom Messages
- Sample - PingPong
-
akka.cluster.client.receptionist, akka.cluster.client HOCON
- Sharding
- Distributed Data
- Split Brain Resolver
- Labs
- 2019-05-W1 IoT Tutorials
- 2019-05-W1 Persistence
- 2019-05-W1 Akka.Persistence.Extras
- 2019-05-W1 Cluster + Persistence
- Cluster Singleton
- Coordinated Shutdown
- Split Brain Resolver
- Cluster Sharding
- Cluster Distributed Data
- Hocon
- Cluster Extensions
- Messages version-up
- Node/Role version-up
- Consul Actor Discovery
- Transactions: Saga Pattern
- FAQ
- Local
- Remote
- 프로젝트 이해
- Message Queue 연동
- RabbitMQ
- RabbitMQ Docker
- HAProxy
- OSS
- .NET Core
- Tracing, Petabridge.Tracing.Zipkin
- Metric, Akka with Prometheus
- HealthCheck
- Cluster Actor Monitoring(Node, Actor Hierarchy, Hocon 뷰어/편집/배포, ...)
- Docker
- Akka.NET-Bootstrap
- Docker Swarm
- Rolling Update
- Books
- Akka 쿡북
- 아카 코딩 공작소
- 러닝 아카
- 아카를 이용한 마이크로서비스 개발
- Reactive Application with Akka.NET
- 추가 Lab
- Docker Container Lab
- Visual Studio Extension Lab
- Cluster Singleton
- 스플릿 브레인(Split Brain) 현상
- At Least Once
- Role 기반으로 Actor에게 메시지 보내기
- async IEnumerable 적용
- ClusterClient
- Sender.Tell????
- 반드시 Seed Node이어야만 하나?
- akka.cluster.client.receptionist.role ???
- Warm-up
- 예외만 예제를 분리한다.
- NLog
- [3] -> [0003] ThreadId 고정 영역으로 출력하기
- Log 출력 소스 정보 [ ...? ] -> [akka://ClusterLab/deadletters]
- 01. Overview -> 04. Retry Joining Time Interval -> NonSeedNode1 적용
- Console App
- 콘솔 타이틀을 추가한다.
- Console.WriteLine -> Log
- 프로그램 종료 방법 변경
- ActorSystem 이름을 conf 파일에서 지정하기 + SeedNode 이름에도 같이 사용하기?
- ClusterClient Router 연동할 때 버그 이슈
- Split Brain
- README.md
- 요약 추가
- Diagram 이미지 추가
- Youtube 데모 동영상 추가
- Blog 적용
- 경로 만들기: new RootActorPath(Address) / ... ;
- Routee: _workerRouter.Ask(new GetRoutees()) ...
- Visual Studio Code 기반으로 코드 작성
- 바쁜 Actor는 Heartbeat을 정상적으로 처리하나? Dispatcher와 연동.
- Hocon 다음 행 시작에 ","일 때 예외 발생
- RegisterOnMemberUp 람다 함수 Self Path가 akka://ClusterLab/system/cluster/$a 이다.
- .NET Core에서는 "akka.actor.deployment..cluster.allow-local-routess = off"가 동작하지 않는다.
- Cluster Pool Routing 예외 처리가 Remote Deploy와 다르다(부족하다).
- ClusterClient "/user/xyz/" ActorPath 마지막에 "/"가 있으면 전달되지 않는다.
- ClusterClient에세 정의된 사용자 정의 메시지가 Seed Node에도 참조되어 있어야 전송할 수 있다.
- Hocon 검증 방법?
- Rolling Update
- 부하 사전 분산(HAProxy)
- Long running + Cancel: FSM
- Ask -> FSM
- Logging Message Info(including Generic).
- Log 분리(App, Akka, ...)
- Large Message
- 환경 설정 이해(akka.cluster.failure-detector/akka.remote.transport-failure-detector/ ...
- Serialization
- readonly
- WPF
- WPF
- main-thread Router x
- Akka Coding Rules
- MVVM + Akka Router
- 장애 처리 재시도?
- DeadLetter 재시도?
- 장기간 Busy Actor일 때 Heartbeat 처리?
- 매뉴얼 무중단 Rolling Update(메시지 버전 Up, ...)
- Actor Hierarchy 출력(/user/..., /system/...)
- 메시지 전송을 위해서는 메시지 Dll을 Cluster 모듈 모두가 참조해야 하나? SeedNode까지 포함해서?
- C#에서 C/C++ 예외 처리하기를 기본으로 제공한다.
- Workshop-Blog, Workshop-Github
- Cluster.WebCrawler
- Cluster.Monitoring
- Akka.NET Repo Cluster Examples
- Sharding
- Sharding & Persistence
- Pluralsight Akka.NET Cluster
- Pub/Sub Problem
- Singleton Example
- akka-cluster-singleton, Scala
- Akka Singleton Supervision
- x-akka-cluster-singleton
- FileProcessor
- Akka.NET Workshop
- Akka.NET Patterns
- Riccardo Terrell, ActorModel
- Riccardo Terrell, Workshop
- Riccardo Terrell, devConf2017
- Proto Saga
- Proto Examples
- Akka.Cluster.Sharding demo
- CQRS
- HealthCheck
- Cluster Sharding
- 한글 예제
- akka-net-traffic-control
- akka.net-warehouse-sample
- Akka 공식 예제
- Akka.NET 공식 예제
- Akka.NET Bootcamp
- Actor MapReduce WordCounter
- Saga Pattern
- Saga UnitTests, 동영상
- Akka.NET Reference Architecture - CRQS + Sharding + In-Memory Replication
- Debugger application for viewing Akka.NET Cluster.Sharding Data
- Akka.AtLeastOnceDelivery-Snapshot-Manipulation
- Generic persistent gateway for Akka.NET at-least-once-delivery semantics
- Play with Akka Cluster
- AkkaAnalyzer
- Akka.NET-Throughput
- Detect Socket Leaks
- .netzuid-akka Talk
- PersistentActor with a backoff supervisor
- Process Manager, Blog
- Auto-Updating Cache using Actors
- a simple cluster with Akka.NET on .NET Core
- Akka retrying backoffsupervisor
- Akka.Cluster.SplitBrainResolver
- Akka Cluster Monitoring, Web
- How to disable cluster heartbeat logging in Akka.NET
- An entry with the same key already exists., Sample
- Botcamp 한글화
- Naver 블로그
- 하마 블로그
- 하마 Akka 클러스터 번역
- 인호의 IT 잡동사니
- 코드 로드, 실패한 메시지 다시 시도하기
- Akka.NET Kafka
- Akka.NET + ASP.NET Core
- 임백준 Akka 강의
- Akka Stream을 활용한 Reliable Message Stream 처리
- 김이선 블로그, 발표 동영상
- Akka.NET Official
- Akka.NET CEO, Aaronstannard
- Akka.NET 팀 코어 멤버
- Gigi
- Akka-Guide
- Akka-Testing-Helper V1
- Akka-Testing-Helper V2
- AkkaTestingHelpers
- Akka.NET with EF.Core
- Akka.NET + DI + Testing Considerations
- Supervisors in C# with Akka.NET
- Akka.NET 기술 정리 7개
- Akka.NET Extension 만들기
- Primitive Obsession
- Primitive Obsession
- 강박적 기본 타입
- Strongly Typed Identifiers in .NET revealed
- From Primitive Obsession to Domain Modelling
- Functional C# Primitive obsession
- Dealing with primitive obsession
- Primitive Obsession, Custom String Types, and Self Referencing Generic Constraints
- Primitive Obsession by Example
- Autofac Primitive Obsession
- Designing Data Objects in C# and F#
- Designing Data Objects in C#: More examples
- NuGet, ValueOf
- NuGet, Value
- NuGet, FluentTypes
- Functional
- Domain-Driven Design
- Repository Pattern
- CQRS