AMQProxy - an intelligent AMQP proxy
An intelligent AMQP proxy with AMQP connection and channel pooling/reusing. Allows e.g. PHP clients to keep long lived connections to upstream servers, increasing publishing speed with a magnitude or more.
In the AMQP protocol, if you open a connection the client and the server has to exchange 7 TCP packages. If you then want to publish a message you have to open a channel which requires 2 more, and then to do the publish you need at least one more, and then to gracefully close the connection you need 4 more packages. In total 15 TCP packages, or 18 if you use AMQPS (TLS). For clients that can't for whatever reason keep long-lived connections to the server this has a considerable latency impact.
ETCD client for crystal lang
etcd client for crystal lang implemented as a thin wrapper over etcd's gRPC-HTTP gateway.
This client was developed against etcd v3.3, to use a higher version, set api_version arg to an appropriate version prefix when instantiating the client.
Ameba v0.13.4 has been released
A small bugfix release to support Crystal 0.36.
Celestine: A neat library and DSL for creating graphics using SVG
A neat library and DSL for creating graphics using SVG
Crystal client for AWS DynamoDB
I made a tiny client to interact with AWS DynamoDB
☘️ Lucky Jumpstart
A template project for web applications using Lucky.
Datadog: a Crystal library providing an APM tracing client for cloud monitoring service Datadog
A Crystal library providing an APM tracing client for Datadog.
Alea: a collection of utilities to work with most known probability distributions
- PRNGs implementations
- Random sampling (single/double precision)
- Cumulative Distribution Functions (single/double precision)
random = Alea::Random.new random.normal # => -0.36790519967553736 : Float64 # Append '32' to call the single-precision version random.normal32 # => 0.19756398 : Float32
Ameba v0.13.0 has been released
Checkout a short blog post explaining the changeset: