All Projects → solo-io → envoy-nats-streaming

solo-io / envoy-nats-streaming

Licence: Apache-2.0 license
No description or website provided.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to envoy-nats-streaming

nats-connector-spark
A Spark Publish/Subscribe NATS Connector
Stars: ✭ 24 (-14.29%)
Mutual labels:  nats, nats-streaming, nats-messaging
stan-js-replicator
replicate messages from streaming channel to jetstream
Stars: ✭ 14 (-50%)
Mutual labels:  nats, nats-streaming, nats-messaging
natsclient
NATS 2.x Client Library
Stars: ✭ 37 (+32.14%)
Mutual labels:  nats, nats-streaming, nats-messaging
Nats.go
Golang client for NATS, the cloud native messaging system.
Stars: ✭ 3,690 (+13078.57%)
Mutual labels:  nats, microservices-architecture, pub-sub
proxy-wasm-cpp-host
WebAssembly for Proxies (C++ host implementation)
Stars: ✭ 55 (+96.43%)
Mutual labels:  envoy, envoyproxy
Kuma
🐻 The Universal Service Mesh. CNCF Sandbox Project.
Stars: ✭ 2,516 (+8885.71%)
Mutual labels:  envoy, envoyproxy
stan.rb
Ruby NATS Streaming Client
Stars: ✭ 21 (-25%)
Mutual labels:  nats, nats-streaming
image-hub
Image Hub is a sample application for exploring WebAssembly modules used as Envoy filters.
Stars: ✭ 56 (+100%)
Mutual labels:  envoy-filter, envoyproxy
Aither
An example microservice system in Node.js using Hemera and best of today.
Stars: ✭ 116 (+314.29%)
Mutual labels:  nats, microservices-architecture
proximo
Interoperable GRPC based publish/subscribe
Stars: ✭ 38 (+35.71%)
Mutual labels:  nats, nats-streaming
yastack
YAStack: User-space network-stack based on DPDK, FreeBSD TCP/IP Stack, EnvoyProxy
Stars: ✭ 90 (+221.43%)
Mutual labels:  envoy, envoyproxy
sds
Envoy's v1 Service Discovery Service API and v2 Endpoint Discovery Service API
Stars: ✭ 22 (-21.43%)
Mutual labels:  envoy, envoyproxy
ego-demo
Envoy filters in Go
Stars: ✭ 34 (+21.43%)
Mutual labels:  envoy, envoy-filter
nats-surveyor
NATS Monitoring, Simplified.
Stars: ✭ 150 (+435.71%)
Mutual labels:  nats, nats-messaging
kubernetes workshop
Kubernetes is an open source Container Orchestration System for automatic deployment, scaling, and management of Containerized application. Kubernetes gives you the freedom to take advantage of on-premise, hybrid or public cloud infrastructure. Kubernetes helps you to scale both horizontally and vertically depends on the load.
Stars: ✭ 27 (-3.57%)
Mutual labels:  microservices-architecture, envoy
atlas
Secure Distributed Thanos Deployment using an Observability Cluster
Stars: ✭ 39 (+39.29%)
Mutual labels:  envoy, envoyproxy
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (+425%)
Mutual labels:  nats, microservices-architecture
flightpath
XDS to run Envoy as an edge proxy for Consul Connect.
Stars: ✭ 15 (-46.43%)
Mutual labels:  envoy, envoyproxy
go-distsys
Distributed Systems programming examples in the Go programming language.
Stars: ✭ 101 (+260.71%)
Mutual labels:  microservices-architecture, nats-streaming
postman
Reverse proxy for async microservice communication
Stars: ✭ 30 (+7.14%)
Mutual labels:  microservices-architecture

Envoy NATS Streaming filter

This project links a NATS Streaming HTTP filter with the Envoy binary. A new filter io.solo.nats_streaming which redirects requests to NATS Streaming is introduced.

Building

To build the Envoy static binary:

$ bazel build //:envoy

Testing

To run the all tests:

$ bazel test //test/...

To run the all tests in debug mode:

$ bazel test //test/... -c dbg

To run integration tests using a clang build:

$ CXX=clang++-5.0 CC=clang-5.0 bazel test -c dbg --config=clang-tsan //test/integration:nats_streaming_filter_integration_test

E2E

The e2e tests depend on nats-streaming-server and stan-sub, which need to be in your path. They also require the GRequests Python package.

To install GRequests:

$ pip install grequests

To run the e2e test:

$ bazel test //e2e/...

Profiling

To run a profiler, first install the perf tool. In ubuntu run these command (a reboot may be needed):

$ sudo apt install linux-tools-generic linux-tools-common

Then:

$ cd e2e
$ ulimit -n 2048
$ DEBUG=0 TEST_ENVOY_BIN=../bazel-bin/envoy TEST_PROF_REPORT=report.data  python e2e_test.py 2> output.txt

To read the report, run:

$ perf report
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].