Enhancements

This lesson lists some main points to bring possible improvements in the application.

We'll cover the following

Possible improvements

By gradually building up our goto application, we used nearly all of Go’s essential features. While this program does what we set out to do, there are a few ways it could still be improved:

  • Aesthetics: the user interface could be (much) prettier. For this, you would use Go’s template package.

  • Reliability: the master/slave RPC connections could be more reliable, which means that if the client-server connection goes down; the client should attempt to re-dial. A dialer goroutine could manage this.

  • Resource exhaustion: as the size of the URL database grows, memory usage might become an issue. It could be resolved by dividing (sharing) the master servers by key.

  • Deletion: to support the deletion of shortened URLs, the interactions between master and slave would need to be made more complicated.


That’s all about The Way to Go. In case you want to run Golang locally on your machine you can follow the Appendix.

We at Educative hope that this course was a good learning experience for you. Thank you for following it.

Your feedback, comments, concerns, and questions are always welcome. Drop us an email or a comment on the community forum.

Looking forward to hearing from you! 🙂

Get hands-on with 1200+ tech skills courses.