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>