랭킹으로 돌아가기

nactio/nact

TypeScriptnact.xyz

nact ⇒ node.js + actors ⇒ your services have never been so µ

actor-modelnodejsactorsystemactorsdistributed-systemsakkamicroservicesnact
스타 성장
스타
1.1k
포크
44
주간 성장
이슈
4
5001k
2017년 8월2020년 7월2023년 7월2026년 7월
아티팩트npmnpm install nact
README

nact Logo

nact ⇒ node.js + actors
your services have never been so µ

.github/workflows/npm-publish.yml  Coveralls DeepScan Grade

npm FOSSA Status js-semistandard-style we are reactive

Any and all feedback, comments and suggestions are welcome. Please open an issue if you find anything unclear or misleading in the documentation.

This is the repository for the javascript implementation. To view/contribute to the ReasonML code, go to http://github.com/ncthbrt/reason-nact. To contribute to the documentation, https://github.com/ncthbrt/nact.xyz is the place to make PRs.

Nact is redux but for the server

Servers today are very different from those even 10 years ago. So why are we still programming like it's the 90s?

Inspired by the approaches taken by Akka and Erlang, Nact is an open source Node.js framework which enables you to take control of your state to:

  • more effectively use memory
  • improve application resiliance
  • increase performance
  • reduce coupling

With out of the box support for event sourcing, and a considered implementation of the actor model, nact can work across a wide variety of domains.

Nact is no silver bullet, but it is evolving to tackle ever more demanding use cases. Perhaps one of them is yours?

To get started, head to https://nact.xyz

Note: Nact is currently only able to work on Node 8 and above.

The Next Branch

You might have noticed that the default branch has been changed to next. That is because Nact is undergoing a signficant rearchitecture.

The aim is to make modularity and extensibility a first class citizen of Nact, while still going to great pains as always to ensure a seamless upgrade path. This work will enable Nact to run in more contexts, such as the browser, deno and of course nact's original platform node. It will also allow for some exciting work in enabling location transparency and being able to more easily design and operate distributed architectures, especially in k8s and cloud contexts.

Of course due to the churn, and because the Nact API surface is expanding, it also seemed prudent to port the codebase over to typescript.

The changes will also require a rewrite of the documentation.

A note on regularity of commits

Nact sees daily usage by the project maintainer. The project is extremely stable and has been around for a few years. As the project made the deliberate choice to minimise dependencies, particularly runtime dependencies, there is not a huge need for updates to the project, besides for the occasional introduction of new features. This means that it can be a few months since the last commit. This does not mean the project is dead, but rather that it is working as designed.

How are you using Nact?

We would love to hear how you're using Nact. If you'd like to send feedback (bad or good) please email Natalie Cuthbert at github@ncthbrt.com or join the Discord.

License

FOSSA Status

관련 저장소
akka/akka-core

A platform to build and run apps that are elastic, agile, and resilient. SDK, libraries, and hosted environments.

ScalaOtherreactivedistributed-systems
doc.akka.io/libraries/
13.3k3.5k
akka/akka

A platform to build and run apps that are elastic, agile, and resilient. SDK, libraries, and hosted environments.

ScalaOtherreactivedistributed-systems
doc.akka.io
13.1k3.6k
dotnet/orleans

Cloud Native application framework for .NET

C#MIT Licenseactor-modeldistributed-actors
docs.microsoft.com/dotnet/orleans
10.8k2.1k
actix/actix

Actor framework for Rust.

Rustcrates.ioApache License 2.0rustactor
9.2k674
citybound/citybound

A work-in-progress, open-source, multi-player city simulation game.

Rustcrates.ioGNU Affero General Public License v3.0citysimulation
cityboundsim.com
8.1k361
ponylang/ponyc

Pony is an open-source, actor-model, capabilities-secure, high performance programming language

PonyBSD 2-Clause "Simplified" Licensepony-languagepony-source
ponylang.io
6.1k439
asynkron/protoactor-go

Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin

GoGo ModulesApache License 2.0grpcactor-model
proto.actor
5.5k574
akkadotnet/akka.net

Canonical actor model implementation for .NET with local + distributed actors in C# and F#.

C#Otherakkaactor-model
getakka.net
5.1k1.1k
ergo-services/ergo

An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies.

GoGo ModulesMIT Licenseerlanggolang
ergo.services
4.6k184
alibaba/coobjc

coobjc provides coroutine support for Objective-C and Swift. We added await method、generator and actor model like C#、Javascript and Kotlin. For convenience, we added coroutine categories for some Foundation and UIKit API in cokit framework like NSFileManager, JSON, NSData, UIImage etc. We also add tuple support in coobjc.

Objective-CApache License 2.0coroutinecoroutine-library
github.com/alibaba/coobjc
4k521
actor-framework/actor-framework

An Open Source Implementation of the Actor Model in C++

C++BSD 3-Clause "New" or "Revised" Licenseactor-modelcaf
actor-framework.org
3.4k572
nanomq/nanomq

An ultra-lightweight and blazing-fast Messaging Bus/MQTT Broker for Edge & SDV

CMIT Licensemqttmqtt-broker
nanomq.io
2.6k302