HTTP Parser
metallb
Our great sponsors
HTTP Parser | metallb | |
---|---|---|
8 | 78 | |
6,115 | 6,611 | |
- | 2.0% | |
0.0 | 9.4 | |
almost 2 years ago | 4 days ago | |
C | Go | |
MIT License | Apache License 2.0 |
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.
HTTP Parser
-
eBPF will help solve service mesh by getting rid of sidecars
It looks not too different from the majority of HTTP parsers out there written in C. Here is an example of NodeJS [0].
[0] https://github.com/nodejs/http-parser/blob/main/http_parser....
-
C in Web Dev
NodeJS's HTTP parser used to be a handwritten C lib: http-parser
-
The history and reasons behind CORS, and how to use it
Whoa, I didn't know that! But yeah, it seems like https://github.com/nodejs/http-parser is based on nginx. It now uses https://github.com/nodejs/llhttp but has some of the same legacy.
On the other hand, deno's HTTP stuff is built on top of Hyper, a Rust library https://github.com/hyperium/hyper
-
A Universal I/O Abstraction for C++ (2020)
Boost.Beast has its own HTTP parser[0], during the development of which Vinnie Falco (the principle author of Beast) found many bugs/inconsistencies in Node.js's own parser[1]
[0] https://www.boost.org/doc/libs/develop/libs/beast/doc/html/b...
[1] https://github.com/nodejs/http-parser/issues?q=is%3Aissue+au...
-
How to pass ownership of std::function object to function pointer?
For cases where it is necessary to pass local information to/from a callback, the http_parser object's data field can be used.
-
Plain Text Protocols
Legacy HTTP/1.1 suffers a few issues, see the current RFC errata:
https://www.rfc-editor.org/errata_search.php?rfc=7230&rec_st...
There are issues particularly around how whitespace and obsolete line folding should be handled
https://github.com/nodejs/http-parser/issues?q=is%3Aissue+wh...
https://github.com/httpwg/http-core/issues/53
It's not as trivial as a few string splits.
-
Looking for good http parser in C++ or C
There's picohttpparser and the one used in node.js: https://github.com/nodejs/http-parser
metallb
-
Self hosted kubernetes
Hey guys, I want to share a guide I’m pretty proud of which is talking about setting up kubernetes which leverages https://kubespray.io/#/ and https://metallb.universe.tf/ so you can host this yourself most people when spinning up kubernetes opt for k3s or get stuck with all the options or unable to setup the external ips for their services so these tools will eliminate the problem.
- Deploy web app in port 80 using kubernetes
-
How to load balance highly available bare metal Kubernetes cluster control plane nodes?
Have a closer look at MetallLB.
-
Trouble with RKE2 HA Setup: Part 2
To avoid that, you can use a combination of haproxy and keepalived, an enterprise grade load balancer like the one from F5 or Citrix. Besides that you can also work with https://kube-vip.io or https://metallb.universe.tf.
-
Kubernetes and feeling defeated
Not sure if klipper is usable in a cluster with multiple nodes, as it binds to one port only. You may want to use MetalLB instead: https://metallb.universe.tf/
-
Cool stuff to deploy for a project ideas
Then deploy MetalLB https://metallb.universe.tf/
- Load balance ingress for baremetal
-
Own kubernetes cluster
What issue do you see with the load balancer? For self hosted clusters, one can use MetalLB for example to have such single outfacing IP which will failover to another node keeping the same IP if a node dies.
-
PaperLB: A Kubernetes Network Load Balancer Implementation
Quoting from their docs:
-
libvirt-k8s-provisioner - Ansible and terraform to build a cluster from scratch in less than 10 minutes ok KVM - Updated for 1.26
metalLB to manage bare-metal LoadBalancer services - WIP - Only L2 configuration can be set-up via playbook.
What are some alternatives?
llhttp - Port of http_parser to llparse
kube-vip - Kubernetes Control Plane Virtual IP and Load-Balancer
C++ Format - A modern formatting library
calico - Cloud native networking and network security
American Fuzzy Lop - american fuzzy lop - a security-oriented fuzzer
ingress-nginx - Ingress-NGINX Controller for Kubernetes
semver.c - Semantic version in ANSI C
external-dns - Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
PHP CPP - Library to build PHP extensions with C++
cert-manager - Automatically provision and manage TLS certificates in Kubernetes
stb - stb single-file public domain libraries for C/C++
rancher - Complete container management platform