20160615 5 Fabio
20160615_5_Fabio
- 1 - Why
- 2 - Routing in micro services
- 3 - Fabio insight
- 3.1 - Consul integration
- 3.2 - Config language
- 4 - Advantages
- 5 - Today (new features)
- 5.1 - Desc
- 5.2 - Demo
- 6 - Next
- 7 - Stats
- 8 - FAQ
- 8.1 - HTTP 2.0 ?
- 8.2 - A/B testing with Traffic Shapping ?
- 8.3 - Fabio / Traeffic
1 - Why
Yet an other LB ?
- Nginx, Varnish, Apache, HAporyx, Traeffic, …
@Ebay
* Consul
integration
* Time to write 1 dedicated
2 - Routing in micro services
1 URL Path
1 Service
BUT:
* Highly dynamic / Short life instances
* Dynamic PORT allocation
3 - Fabio insight
3.1 - Consul integration
- Use service-name
- Use TAGS as
Path
for routing table
urlprefix-PATH
3.2 - Config language
Can overwrite Fabio dynamic config manually
- DSL (Human readable)
Routing table
- route add SERVICE_NAME PATH DESTINATION:PORT
- route dell SERVICE_NAME PATH DESTINATION:PORT
Traffic shapping
- route weight
4 - Advantages
Easy:
-
Provisionning service
-> Registering automatically
-> DONE -
Need manual changes sometime
-> DONE -
Works everywhere
-> Cloud
-> Laptop
-> HW -
Refactoring
5 - Today (new features)
5.1 - Desc
Cmd line args
Dynamic SSL certs management
Vault support
SNI Support
5.2 - Demo
Vault integration
./fabio ... -type=vault;cert=secret/fabio/certs/DOMAIN';...
6 - Next
-
65k outbound connections
- Refactor
urlpreifx-tag
- Additionnal backends
7 - Stats
- Go 1.6 + Httputil.ReverseProxy
- 4.000 Lines
- 1 Release / Month
- Src
- Binary
-
Docker image
-
Used in production (since Sept 2015)
- Kijiji Italy (1200 rqps)
- Ebay NL (15000 rqps)
8 - FAQ
8.1 - HTTP 2.0 ?
Not yet
8.2 - A/B testing with Traffic Shapping ?
We use it to switch from Java -> Go
BUT
- No reall tips on HOW to measure stuff with Fabio
- Too much “glue”
8.3 - Fabio / Traeffic
Traeffic
- feature rich
But at the time I though about OpenSourcing Fabio, was not so advanced