Source : Learn to combine RxJs sequences with super intuitive interactive diagrams
package main | |
import ( | |
"io" | |
"time" | |
"github.com/davecgh/go-spew/spew" | |
syslog "github.com/influxdata/go-syslog/v2" | |
"github.com/influxdata/go-syslog/v2/octetcounting" | |
) |
package benchmark | |
import ( | |
"context" | |
"runtime" | |
"sync" | |
"sync/atomic" | |
"testing" | |
"time" | |
) |
package ciphers | |
import ( | |
"crypto/rand" | |
"crypto/rsa" | |
"crypto/sha512" | |
"crypto/x509" | |
"encoding/pem" | |
"log" | |
) |
// https://medium.com/@mlowicki/http-s-proxy-in-golang-in-less-than-100-lines-of-code-6a51c2f2c38c | |
// #!/usr/bin/env bash | |
// case `uname -s` in | |
// Linux*) sslConfig=/etc/ssl/openssl.cnf;; | |
// Darwin*) sslConfig=/System/Library/OpenSSL/openssl.cnf;; | |
// esac | |
// openssl req \ | |
// -newkey rsa:2048 \ | |
// -x509 \ |
Just documenting docs, articles, and discussion related to gRPC and load balancing.
https://github.com/grpc/grpc/blob/master/doc/load-balancing.md
Seems gRPC prefers thin client-side load balancing where a client gets a list of connected clients and a load balancing policy from a "load balancer" and then performs client-side load balancing based on the information. However, this could be useful for traditional load banaling approaches in clound deployments.
https://groups.google.com/forum/#!topic/grpc-io/8s7UHY_Q1po
gRPC "works" in AWS. That is, you can run gRPC services on EC2 nodes and have them connect to other nodes, and everything is fine. If you are using AWS for easy access to hardware then all is fine. What doesn't work is ELB (aka CLB), and ALBs. Neither of these support HTTP/2 (h2c) in a way that gRPC needs.
package main | |
import ( | |
"crypto/tls" | |
"crypto/x509" | |
"flag" | |
"io" | |
"io/ioutil" | |
"log" | |
"os" |
package main | |
import ( | |
"context" | |
"log" | |
"net/http" | |
"os" | |
"os/signal" | |
"time" | |
) |
$ uname -r
# Move to root directory... | |
cd / | |
mkdir keys | |
cd keys | |
# Generate a self signed certificate for the CA along with a key. | |
mkdir -p ca/private | |
chmod 700 ca/private | |
# NOTE: I'm using -nodes, this means that once anybody gets | |
# their hands on this particular key, they can become this CA. |