linkerd / linkerd2

Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
https://linkerd.io
Apache License 2.0
10.69k stars 1.28k forks source link

Non-HTTP based example application #3890

Open grampelberg opened 4 years ago

grampelberg commented 4 years ago

What problem are you trying to solve?

Emojivoto and the books app are great examples. Unfortunately, they're exclusively HTTP based and use many kubernetes best practices. With features on the horizon like TCP mTLS, there should be an example application that actually uses this functionality which can be used for testing and tutorials.

This application should use a client speaks first protocol that is not HTTP.

How should the problem be solved?

Extend emojivoto to use redis as a cache for votes and emojis. This should probably be an optional component, perhaps added via configuration and a kustomize addition.

Any alternatives you've considered?

There are lots of other ways to solve this that might be better, please take the above as simply a suggestion.

mayankshah1607 commented 4 years ago

@grampelberg do you think I could work on this as a part of https://github.com/linkerd/gsoc/pull/2 ?

ihcsim commented 4 years ago

@mayankshah1607 Yes, part of your RFC already includes test cases that involve with MySQL and Redis, right? That will cover this too.

mayankshah1607 commented 4 years ago

@ihcsim would it be advisable to start working on the emojivoto app now itself? I could start small by adding the redis component.

Also, should this issue be moved to the emojivoto repo?

ihcsim commented 4 years ago

@mayankshah1607 Yup, this will be useful outside of the context of gsoc. We will be able to use it to test the upcoming TCP mTLS work. Meanwhile, this issue can remain in this repo for visibility.