All Projects → swimos → traffic

swimos / traffic

Licence: Apache-2.0 license
Massively real-time traffic streaming application

Programming Languages

typescript
32286 projects
java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to traffic

transit
Massively real-time city transit streaming application
Stars: ✭ 20 (-20%)
Mutual labels:  map, distributed-systems, real-time, actor-model, realtime, concurrency, concurrent-programming, mapbox, demo-app, stateful
ripple
Simple shared surface streaming application
Stars: ✭ 17 (-32%)
Mutual labels:  distributed-systems, real-time, actor-model, realtime, stream-processing, stateful
Akka
Build highly concurrent, distributed, and resilient message-driven applications on the JVM
Stars: ✭ 11,938 (+47652%)
Mutual labels:  distributed-systems, streaming, actor-model, concurrency
tutorial
Tutorials to help you build your first Swim app
Stars: ✭ 27 (+8%)
Mutual labels:  distributed-systems, real-time, actor-model, stateful
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (+1308%)
Mutual labels:  distributed-systems, actor-model, concurrency
Hazelcast
Open-source distributed computation and storage platform
Stars: ✭ 4,662 (+18548%)
Mutual labels:  distributed-systems, distributed, stream-processing
Orleans
Orleans is a cross-platform framework for building distributed applications with .NET
Stars: ✭ 8,131 (+32424%)
Mutual labels:  distributed-systems, actor-model, concurrency
Bastion
Highly-available Distributed Fault-tolerant Runtime
Stars: ✭ 2,333 (+9232%)
Mutual labels:  distributed-systems, concurrency, distributed
Swellrt
SwellRT main project. Server, JavaScript and Java clients
Stars: ✭ 205 (+720%)
Mutual labels:  distributed-systems, real-time, realtime
nact
nact ⇒ node.js + actors ⇒ your services have never been so µ
Stars: ✭ 1,003 (+3912%)
Mutual labels:  distributed-systems, actor-model, actorsystem
Messenger
iOS - Real-time messaging app 🎨
Stars: ✭ 491 (+1864%)
Mutual labels:  map, opensource, mapbox
Concurrent Map
a thread-safe concurrent map for go
Stars: ✭ 2,627 (+10408%)
Mutual labels:  map, concurrency, concurrent-programming
transform-hub
Flexible and efficient data processing engine and an evolution of the popular Scramjet Framework based on node.js. Our Transform Hub was designed specifically for data processing and has its own unique algorithms included.
Stars: ✭ 38 (+52%)
Mutual labels:  streaming, real-time, stream-processing
Swim
Distributed software platform for building stateful, massively real-time streaming applications.
Stars: ✭ 368 (+1372%)
Mutual labels:  distributed-systems, real-time, actor-model
Dop
JavaScript implementation for Distributed Object Protocol
Stars: ✭ 163 (+552%)
Mutual labels:  real-time, realtime, distributed
Clearly
Clearly see and debug your celery cluster in real time!
Stars: ✭ 287 (+1048%)
Mutual labels:  real-time, realtime, distributed
Chymyst Core
Declarative concurrency in Scala - The implementation of the chemical machine
Stars: ✭ 142 (+468%)
Mutual labels:  actor-model, concurrency, concurrent-programming
Sobjectizer
An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
Stars: ✭ 172 (+588%)
Mutual labels:  actor-model, concurrency, concurrent-programming
Thespian
Python Actor concurrency library
Stars: ✭ 220 (+780%)
Mutual labels:  distributed-systems, actor-model, concurrency
Actors.jl
Concurrent computing in Julia based on the Actor Model
Stars: ✭ 95 (+280%)
Mutual labels:  actor-model, concurrency, concurrent-programming

Traffic

See Traffic in action.

Prerequisites

  • Install JDK 9+.

    • Ensure that your JAVA_HOME environment variable is pointed to your Java installation location.
    • Ensure that your PATH includes $JAVA_HOME.
  • Install Node.js.

    • Confirm that npm was installed during the Node.js installation.

Run

Windows

Install the Windows Subsystem for Linux.

Execute the command ./run.sh from a console pointed to the application's home directory. This will start a Swim server, seeded with the application's logic, on port 9001.

 user@machine:~$ ./run.sh

*nix

Execute the command ./run.sh from a console pointed to the application's home directory. This will start a Swim server, seeded with the application's logic, on port 9001.

 user@machine:~$ ./run.sh

View the UI

Open the following URL on your browser: http://localhost:9001.

Run as a Fabric

Run two Swim instances on your local machine to distribute the applications Web Agents between the two processes.

# Build the UI
server $ ./build.sh

# Start the first fabric node in one terminal window:
server $ ./gradlew run -Dswim.config.resource=server-a.recon

# Start the second fabric node in another terminal window:
server $ ./gradlew run -Dswim.config.resource=server-b.recon

When both processes are up and running, you can point your browser at either http://localhost:9008 (Server A) or http://localhost:9009 (Server B). You will see a live view of all Web Agents, regardless of which server you point your browser at. Swim transparently demultiplexes links opened by external clients, and routes them to the appropriate server in the fabric.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].