When I've taught people the #actor model (usually with #akka) the hardest thing I've seen is convincing people to not break the rules.
It's one reason I started favoring the 'm behavior -> 'm -> unit -> 'm behavior version of the model: it makes it more explicit how you can manage state and opens the conversation immediately about "this is how you can do this" as opposed to hiding it behind an other API call (`become`) where people can default to old patterns that break the actor assumptions.
"How do I kill children" <- a search likely in the history of every dev who starts using #Akka
[Tw] Obsidian、 #akka/http みたいなハッシュタグつけるとakkaでもひっかかるので非常に便利
[de] https://twitter.com/windymelt/status/1680123140758990850
#Akka 2.6.21 is out, with a backported fix for an infinite loop in TLS from @johanandren
My #SolidProject client and server are now ready for efficient access control demos on #BigData using the HTTP WG's 's "Signing HTTP Messages".
I can demo with a server publishing N resources (in this case, #LinkedData Event Stream (#LDES) data.
The client is implemented in #Scala using #http4s, and the server uses #Akka.
The libraries can be compiled to JS for use on #nodeJS frameworks too. Native is not far off, either.
The client need make no more than N+2 requests:
1. Request 1 on a resource R returning a "401 Unauthorised"
2. a max of 2 requests to get the access control rules
3. from there on, N signed requests using #HttpSignatures (when those all fall in the same container space)
Solid clients are essentially like Search Engine crawlers fetching data on the web, so they need to jump around from website to website. Having approx 2 requests extra per website for auth is very interesting in that scenario.
Note: those 2 requests can be cached, so those may be only needed once over a long period of time. The connection efficiency is possible by combining the following pieces:
• using the IETF's HTTPSig (a version from the beginning of the year)
• using default rules (part of the spec)
• caching of ACLs on the client
• the use of a "defaultAccessContainer" link header to reduce the number of requests.
I am trying to work out who may be interested in such a technical demo, what a good time for it may be, ...
so please just comment here or send me a mail at henry.story@bblfish.net
#httpsignatures #SolidProject #nodejs #LDES #linkeddata #akka #http4s #scala #bigdata
📢 Happy to share this small blog post I wrote on the improvements we did for Akka Clusters Rolling Updates in Kubernetes, included in the latest Akka 23.05.
TLDR: lower latencies and less failed requests. Details here: bit.ly/Akka_Blog_faster-and-smoother-rolling-updates #akka #kubernetes
Here's a fabulous new talk from Onur Gümüş on using functional-first techniques for scalable distributed compute!
Functional CQRS with https://buff.ly/3vNxMPF
https://twitter.com/OnurGumusDev/status/1653597576736718848
#functional #fsharp #akka #akkanet #csharp #distributedcomputing
#functional #fsharp #akka #akkanet #csharp #distributedcomputing
Endless4s is our newest affiliate project. It describes sharded and event sourced entities using tagless final algebras and a pluggable runtime, with built-in implementations for Akka.
#scala #typelevel #eventsourcing #akka
Integrating #Akka and #CatsEffect 3 isn't without challenges, but the awesomeness of managing resources via Cats-Effect makes it all worth it, being #Scala's secret weapon.
I wrote a blog post describing some integration solutions we use for building payment processors. #FP #programming to the max 💪
Please share 🙏🥺
https://alexn.org/blog/2023/04/17/integrating-akka-with-cats-effect-3/
#akka #catseffect #scala #fp #programming
(Roughly) weekly #Akka toot:
Akka Stream Source.futureSource - turn a Future[Source] into a Source, for example some async resource that you need to set up the stream (through Future.map).
Docs and a sample: https://doc.akka.io/docs/akka/current/stream/operators/Source/futureSource.html
Parallel API for CompletionState/CompletableFuture on the Java side in Source.completionStageSource
Lightbend changed the license on all Akka modules from Apache 2.0 to the BSL v1.1 (Business Source License) starting with Akka v2.7.
#ClosedForkWarning #ClosedSource #akka #programmingLanguage #OpenSource(not)
https://spdx.org/licenses/BUSL-1.1.html
https://www.theregister.com/2022/09/08/open_source_biz_sick_of/
#closedforkwarning #closedsource #akka #programminglanguage #opensource
Weekly #Akka feature toot:
Akka Projections over gRPC, brokerless consumption/at-least or exact-once (as in no mq/Kafka) of Event Sourced Entity events between services, so that a read side/view or some other form of event processor can live in a separate service from the one hosting the entities.
Docs and samples in Java and Scala: https://doc.akka.io/docs/akka-projection/current/grpc.html
Weekly #Akka feature toot:
Akka Discovery, abstracting service discovery/looking a service up by name. Controlled through configuration, for example static hosts entries in HOCON config file, DNS, Kubernetes API, AWS tag, or aggregates of multiple discovery methods.
Explicit direct user API, and built in support in Akka gRPC clients, many Alpakka modules etc. Docs: https://doc.akka.io/docs/akka/current/discovery/index.html
Weekly #Akka feature toot: The core Akka contains some pretty useful tools for working with Scala Futures under `akka.pattern`:
* `retry` retry logic returning a future result in case it fails, with exponential backoff.
* `after` complete a future after a given duration/timeout
Docs with a few examples: https://doc.akka.io/docs/akka/current/futures.html
Really enjoyed this post: https://petabridge.com/blog/largescale-cqrs-akkadotnet-v1.5
It's about Akka.NET but really the concepts in there can be applied to any distributed system in general which has something that produces events that need to be processed, without overwhelming the consumers.
Tons of great info on the concept of backpressure and how to implement it. Really good read.
#distributedsystems #dotnet #akka
Low tide on the coast of #Akka , near the Bay of #Hayfa , in #Palestina , after the new earthquake registered in the southeast of Turkey.
Weekly #Akka feature toot: Akka Cluster Bootstrap, makes cluster formation a breeze, for example finding other nodes via k8 api and pod label: https://doc.akka.io/docs/akka-management/current/bootstrap/kubernetes-api.html
Heute waren wir wieder an der #Trave in #Travemünde bei #Lübeck und haben ein Schiff der #TTLine von der #Ostsee kommend gesehen. Dabei handelt es sich um die #Akka #Lübeck (Ehemals #NIlsHolgerson). Beeindruckend solch großen Schiffe :)
#faszination #meer #schifffahrt #NilsHolgerson #akka #ostsee #ttline #lubeck #travemunde #Trave