3 min read
KrakenD 0.5 summer release
by Albert Lombarte
KrakenD 0.5 is out and we want to share some of the cool stuff this release is bringing.
This release focuses heavily on metrics and its export options to different backend systems such as Zipkin, InfluxDB, Prometheus or Jaeger. It also adds the NoOp logger and exposes all the advanced settings of the http client and server, giving all the power to the user. On the middleware side it extends even more the ecosystem with multiple components.
Let’s see what happened in this journey from 0.4.2.
KrakenD framework
The KrakenD framework - engine of the KrakenD API Gateway - brings 89 commits and the most remarkable features are:
- Custom combiners for merging the backend responses.
- Static partial responses middleware added
- NoOp logger
- Add an explicit header about response completeness
- Avoid fancy strategies when balancing a FixedSubscriber with a single host
- Expose all the http settings values
- Request deep copy helpers added
Link to 0.5 release notes
KrakenD API Gateway
The KrakenD API Gateway binary comes with all the framework updates and bundles several new components of the krakend-contrib.
The summary of changes is:
- Updates golang version to 1.10.2.
- Fully configurable custom metrics module. Also with InfluxDB exporter
- Support for flexible configuration in the krakend.json
- Opencensus integration (with 5 exporters: Zipkin, Prometheus, Jaeger, InfluxDB, Logger)
- Added more output decoders in addition to JSON
- Enabled advanced HTTP Client settings
- Custom combiners for merging the backend responses.
- Added static responses behavior to several strategies
Link to 0.5.0 release notes
New middleware and other features
When we speak about middleware we can say we have been breakin’ rocks in the hot sun…! We have also received contributions from Schibsted and Letgo, thank you guys!
The following middleware are new additions to our contrib:
- Opencensus: An Opencensus adapter to export instrumentation to InfluxDB, Prometheus, Zipkin, Jaeger and Logger.
- Flexibleconfig brings extended features to work with the configuration parsing (like variable substitutions)
- Logstash Log formatter compatible with Logstash
- Logrus A logger for the structured logger Logrus
- CORS Adds Cross-origin resource sharing support
- krakend-metrics for instrumenting the different parts of the pipes.
- Bloomfilter A bloomfilter based middleware.
- krakend-memviz Memory visualization exporter for development
- config2dot is a tool for translating config files into nice dot graphs
- schibsted/krakend-eureka is an Eureka client and subscriber.
- Hystrix cirbuit breaker implementation based on github.com/afex/hystrix-go
- joaoqalves/krakend-eureka is an Eureka client and subscriber.
- schibsted/krakend-ratelimit Rate limiter implementation based on GCRA algorithm using github.com/throttled/throttled implementation
Not middleware but also worth mentioning:
- There is now a Grafana Dashboard available
- KrakenDesigner has been updated to reflect all these cool new features in the GUI.
We hope you enjoy KrakenD!