¿Qué tipos de aplicaciones de back-end se pueden escribir con Go?

Sistemas distribuidos modernos, altamente escalables y tolerantes a fallas.

Echa un vistazo a las tareas de laboratorio del curso de sistemas distribuidos de posgrado del MIT; CS 6.824. El primer laboratorio comienza con la implementación de map-reduce usando golang. El segundo laboratorio introduce tolerancia a fallas utilizando servidores primarios y de respaldo de clave-valor. El tercer laboratorio fortalece la tolerancia a fallas y la consistencia a través de la implementación del altamente venerado algoritmo PAXOS. Por último, el cuarto laboratorio logra escalabilidad al agregar una capa de fragmentación en la parte superior de su sistema de valores clave.

Las bibliotecas bien pensadas e inteligentemente diseñadas de Golang ofrecen una hermosa abstracción para conceptos complejos como la concurrencia y la comunicación entre procesos. Sin embargo, PAXOS sigue siendo difícil de implementar sin importar el idioma que use. 😛