Envoy: MSSQL protocol/filter support

Created on 7 Feb 2018  路  9Comments  路  Source: envoyproxy/envoy

Issue Template

Title: Connecting to mssql server through envoy

Description:
I need to connect with mssql server via envoy. With a simple TCP network filter I can connect but it does not provide me any facility to redirect to different instances of mssql server using query params and other data like HTTP filter. I need to have a configuration where envoy just redirects me to correct mssql server and rest of the data should flow without alteration like it normally does in a TCP proxy

Is there any way I can achieve this?

Please redirect me if there are any mistakes in my question or understanding since I am new bee in realm of proxy and load balancing.

This is my simple configuration using TCP proxy filter:

{ "listeners":[ { "address":"tcp://0.0.0.0:10000", "filters":[ { "name":"tcp_proxy", "config":{ "stat_prefix":"egress_tcp", "route_config":{ "routes":[{ "cluster":"service_db" }] } } }] }], "admin":{ "access_log_path":"/tmp/admin_access.log", "address":"tcp://0.0.0.0:9901" }, "cluster_manager":{ "clusters":[ { "name":"service_db", "connect_timeout_ms":250, "type":"static", "lb_type":"round_robin", "hosts":[ { "url":"tcp://192.168.156.161:1433" } ] } ] } }

@mattklein123 : Can you please quickly redirect me on this?

enhancement help wanted

All 9 comments

@ccaraman : Can you provide me a hint about what should I do here?

This will require a new protocol aware filter for MSSQL, much like we have for Redis, HTTP, Mongo, etc.

@mattklein123 : Is there any timeline on when this would be available in envoy?
Also mean while is there any other way like using "fillter_chain_match" for simple tcp proxying?

Please let me know as we are migrating to envoy for our new service mesh and this is very critical for us

@ccaraman

@mattklein123 : Is there any timeline on when this would be available in envoy?

When someone cares enough to implement it?

Also mean while is there any other way like using "fillter_chain_match" for simple tcp proxying?

I don't see how this can be done without writing some custom filter code.

@mattklein123 : Sure. Thank you for your quick responses Matt.
Can you please guide me if I want to write an in house minimalistic implementation for this how should I go about that?

Can you please guide me if I want to write an in house minimalistic implementation for this how should I go about that?

I would probably take a look at redis, tcp_proxy, and mongo filters for some inspiration.

@mattklein123 when will this feature be ready? please provide update

@mattklein123 when will this feature be ready? please provide update

It will be ready when you implement it.

@mattklein123 I am not a developer but manager for database team and we don't have the skills to do this
this feature may be very useful for our team to improve our operations because we operate at very large scale
can you please reschedule priorities so this feature gets delievered faster?
thank you

Was this page helpful?
0 / 5 - 0 ratings