Entwicklerteam der New York Times stellt Gizmo Open Source zur Verfügung

Gizmo – ein neues, Go-basiertes Microservice-Toolkit
Kommentare

Microservice-Toolkits, die auf der von Google entwickelten Programmiersprache Go basieren, gibt es mittlerweile einige. Zu den bekanntesten Toolkits gehören dabei vor allem Goa, Go kit und Kite, aber auch aus der Feder des Entwicklerteams der New York Times steht nun mit Gizmo ein Go-basiertes Microservice-Toolkit Open Source zur Verfügung.

Der Fokus liegt hier vor allem auf der Bereitstellung von standardisierten Konfigurationen und Logging, Health-Check- und metrischen Endpunkten mit konfigurierbaren Strategien und Basic-Interfaces zur Definition von Service-Erwartungen und -Vokabular. Aktuell, so erklärt JP Robinson in einem Blogpost im NYT-Entwicklerblog, kommt Gizmo beim NYT-Entwicklerteam bereits für die Bearbeitung verschiedener Aufgaben – etwa dem Erstellen von JSON-APIs – zum Einsatz. Seit Dezember 2015 steht Gizmo nun auch Open Source zur Verfügung, wovon sich das Entwicklerteam vor allem eins verspricht: die Weiterentwicklung des Toolkits in Zusammenarbeit mit der Go-Community.

Das steckt in Gizmo

Bereits vor drei Jahren hat das Entwicklerteam der New York Times damit begonnen, Go als Programmiersprache zum Erstellen von besseren Backend-Diensten zu nutzen. Dabei hat man vor allem zu Beginn ohne Frameworks oder geteilte Interfaces gearbeitet, was zu unterschiedlichen API-Strukturen, Benennungs-Konventionen und Third-Party-Tools führte. Dazu erklärt JP Robinson:

As we started building more and more APIs, the pains of microservices started to become apparent.

Da man jedoch nicht auf die Vollendung von Go kit warten wollte, entschied sich das NYT-Entwicklerteam dafür, mit Gizmo ein eigenes Toolkit ins Leben zu rufen, das künftig auch das ebenfalls als Microservice-Toolkit dienende Go kit mit einigen zusätzlichen Features komplimentieren soll.

Stellen Sie Ihre Fragen zu diesen oder anderen Themen unseren entwickler.de-Lesern oder beantworten Sie Fragen der anderen Leser.

Dafür bringt Gizmo insgesamt vier verschiedene Packages mit sich, mit denen Entwicklern das Konfigurieren und Erstellen von Microservice-APIs und Pubsub-Daemons erleichtert werden soll. Dazu gehören:

  • package config: stellt ein Set typischer structs zur Arbeit mit Technologien wie MySQL, MongoDB, Oracle, AWS oder Kafka zur Verfügung
  • package server: enthält den Großteil des Toolkits und stellt etwa ein Set von Interfaces zur Verfügung, mit denen sich definieren lässt, wie Server und Dienste aussehen und miteinander kommunizieren sollen
  • package web: besteht aus nützlichen Funktionen, etwa zum Extrahieren von Integer und Datentypen
  • package pubsub: beinhaltet zwei generische Interfaces zum Veröffentlichen von Daten in Warteschleifen und dem Aufrufen von Daten aus selbigen

Ausführlichere Informationen zu den einzelnen Packages bietet der zugehörige Blogpost im New-York-Times-Entwicklerblog sowie das GitHub-Repository. Dort steht das Microservice-Toolkit auch zum Download zur Verfügung.

Name Gizmo
Hersteller The New York Times
GitHub https://github.com/NYTimes/gizmo

Aufmacherbild: Black toolbox with different instruments von Shutterstock / Urheberrecht: Kordik

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -