github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/docs/blog/_posts/2019-10-04-deprecating-consul.md (about) 1 --- 2 layout: post 3 title: Deprecating Consul in favour of Etcd 4 date: 2019-10-04 09:00:00 5 --- 6 <br> 7 For over 4 years Consul has served us well as one of the default service discovery systems in Micro. It was 8 in fact in the very beginning the default mechanism used for the registry and the only underlying 9 dependency required to get started. 10 11 Since then the world has moved on and cloud-native technologies have evolved. We've found a number of issues 12 at scale related to the way in which we use Consul. This is not a knock on Consul but a reflection on our 13 use cases and the need to move on to something different. 14 15 For example we binary encode, compress and base64 encode our metadata and service endpoint information 16 before storing them as Consul tags because there just wasn't any other way to do so. We were also very 17 heavily abusing the distributed properties of Consul which caused a number of issues with raft consensus. 18 19 Unfortunately we've found that its now time to move on. 20 21 Since 2014 kubernetes has really become a reckoning force in the landscape of container orchestration and the 22 base level platform for services. With that etcd became their key-value storage of choice, a distributed key-value 23 store built with raft consensus. It has evolve to cater to the scale requirements of kubernetes and has since 24 been battle tested in a way few other open source projects have. 25 26 Etcd also being a very standard Get/Put/Delete store for binary data means we're easily able to encode and store 27 our service metadata with zero issues. It has no opinions about the format of the data being stored. 28 29 We've in the past week moved etcd to become one of the default service discovery mechanisms in Micro and will be 30 looking to deprecate Consul in the coming weeks. What does this mean? Well we'll be moving consul to our 31 community maintained [go-plugins](https://github.com/micro/go-plugins) repository and focusing on supporting 32 etcd. 33 34 We know a number of users are using Consul and this may cause disruption. This to us is a breaking change on our 35 path to v2 and so our next release will be tagged as v2. You can be assured that your v1 releases will continue 36 to operate as is but expect that the next release we do is micro v2.0.0. 37 38 <center>...</center> 39 <br> 40 To learn more check out the [website](https://m3o.com), follow us on [twitter](https://twitter.com/m3ocloud) or 41 join the [slack](https://slack.m3o.com) community. 42 43 <h6><a href="https://github.com/tickoalcantara12/micro"><i class="fab fa-github fa-2x"></i> Micro</a></h6>