braidchat / planning

2 stars 0 forks source link

use immutant #347

Open braid-sync opened 7 years ago

braid-sync commented 7 years ago

Immutant could help with simplifying (1) development and (2) deployment:

In some ways its similar to the benefits of Docker, and also Mount/Component.

http://www.slideshare.net/jcrossley3/introducing-immutant

@jamesnvc and I have used Immutant before (2 years ago) but ran into some issues. I've heard now that it is "very good" and that RedHat is dedicating multiple developers to the project.

Thoughts?

braid-sync commented 7 years ago

➤ Braid Sync Bot commented: I'm not that familiar with all of the technology. However I think it's worth learning some Elixir and even looking at what they are doing with the Phoenix framework when possible to learn some things.

Chris McCord said some interesting stuff around presence as well which I could probably dig up. Mainly on how the way it is typically done these days is the wrong way to do it eg with Redis.

Programs are structured on BEAM to have modules of code that run in a single process?. Once something is big enough to be considered a service you encapsulate that inside of an app. Which can then be encapsulated in a bigger app and so forth. You can also set up supervisors which can handle errors in isolation and restart them.

Considering that Erlang was designed for telecommunications and is what Whatsapp is built on. Apparently ~ 50% of telecommunications runs off Erlang and Whatsapp being able to handle 2 million users on a server. The Actor model is definitely proven; with the Pulsar lib (http://docs.paralleluniverse.co/pulsar/) we could achieve something very similar except for the extreme isolation that is possible with BEAM processes. From what I understand this is just Garbage collection and perhaps some really high level errors which require extreme isolation.

[--- Commented from GitHub.com

commenter CommonCreative

---[gh]