distributed-elixir-examples
hammer
distributed-elixir-examples | hammer | |
---|---|---|
2 | 2 | |
50 | 705 | |
- | 1.8% | |
0.0 | 6.9 | |
almost 3 years ago | 8 days ago | |
Elixir | Elixir | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
distributed-elixir-examples
-
Three real-world examples of distributed Elixir (pt. 4)
Just like we did in the previous part, we are going to be copy the DownloadManager.{HordeRegistry, HordeSupervisor, NodeObserver} modules from the previous example source code repository, and pasting them into out brand new project, renaming their namespace accordingly to VersionObserver.*. We have to make a subtle change in the NodeObserver module, though:
-
Three real-world examples of distributed Elixir (pt. 2)
Source code of this example
hammer
-
Implementing Natural Conversational Agents with Elixir
The scaling story in Elixir is so nice, I just implemented eventual consistency for calculating average ratings on a Class/Instructor level and it was 20 lines of code in a GenServer that can be tested and is super clear how it works. I'm not even sure how you'd do something like this in Javascript or Python but it would probably involve extra infrastructure that is another moving piece to deploy, manage and can cause failures. The same is true with rate limiting and something like Hammer (https://github.com/ExHammer/hammer).
-
Rate Limits Phoenix
For the rate limits, we will use the following library https://github.com/ExHammer/hammer
What are some alternatives?
Elm - Compiler for Elm, a functional language for reliable webapps.
ex_rated - ExRated, the Elixir OTP GenServer with the naughty name that allows you to rate-limit calls to any service that requires it.
contexted - Elixir library designed to help you manage the complexity of Phoenix contexts. It offers tools for module separation, subcontext creation, and auto-generating CRUD operations.
huex - Elixir client for Philips Hue connected light bulbs
Countries - Collection of Country Information for Elixir.
porcelain - Work with external processes like a boss
netrc - Reads netrc files implemented in Elixir
Apex - Awesome printing for Elixir
spawndir - Spawn processes from the file system.
pact - Better dependency injection in Elixir
growl - Simple wrapper for growl, the notification system for OSX
exquisite - LINQ-like match_spec generation for Elixir.