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 1400+ tech skills courses.