Reaccionando a eventos
Clase 9 de 22 • Curso de Go Avanzado: Arquitectura de Eventos y CQRS
Contenido del curso
Clase 9 de 22 • Curso de Go Avanzado: Arquitectura de Eventos y CQRS
Contenido del curso
Cristian David Morales Mogollon
Rafael Niquefa
Wilowayne De La Cruz
buen día profesor ¿algúna razón por la que el tamaño del buffer deba ser de 64?
Creo que en este punto del proyecto es medio arbitrario ese tamaño del buffer, siempre hay que tener en cuenta que esas decisiones podrían estar respaldadas por experiencias previas en selección de esos tamaños o benchmarks que tal vez se le olvidó mencionar. En cualquier caso es común seleccionar potencias de 2 para tamaños de buffers, cachés, arreglos, etc.
Siempre se debe tener en cuenta que la selección de ese tamaño si es muy pequeña o muy grande podría producir resultados o comportamientos indeseados como bloqueos por ser muy pequeña o consumo innecesario de memoria por ser muy grande.
Aquí hay otra forma de implementar la función decodeMessage:
func (n *NatsEventStore) decodeMessage(data []byte, m interface{}) error { buffer := bytes.NewBuffer(data) return gob.NewDecoder(buffer).Decode(m) }