gRPC – Die neue Art der Maschine-Maschine-Kommunikation?

09.05.2019

Entfernte Funktionsaufrufe sind in der heutigen Software-Welt nicht mehr wegzudenken. Um die Programmierung und den Betrieb effizient zu halten, haben wir uns in der Abteilung „Forschung und Entwicklung“ mit gRPC beschäftigt.

Menschen verwenden gern einen Browser, oder besuchen eine Webseite, um mit Software-Diensten zu interagieren. Den Diensten untereinander würde es schwer fallen, über eine grafische Oberfläche zu kommunizieren – deswegen verwenden sie spezielle Schnittstellen. Derzeit populär ist REST/JSON, früher war es noch SOAP und CORBA.


Nun gibt es mit gRPC (ursprünglich von Google) ein neues Framework, welches wir Ihnen vorstellen möchten.

Am Anfang steht eine Beschreibung der Schnittstelle in IDL (Interface Definition Language). Dies hat aus Software-Architekten-Sicht den positiven Nebeneffekt, dass man sich zunächst ausschließlich mit der Schnittstellendefinition beschäftigen muss und nicht gleich wild darauf los implementieren kann.

Zum Vergleich: Das entsprechende WSDL würde den Umfang dieses Artikels weit übersteigen.
Anhand dieser proto-Datei kann Client- und Servercode für allerhand Programmiersprachen generiert werden. Der Fern-Aufruf fühlt sich komplett nativ an:

Die Vorteile von gRPC sind neben der sehr einfachen IDL folgende technische Aspekte:
– Kommunikation über HTTP/2 -> schnell und ressourcenschonend
– Serialisierung im binären Protobuf-Format -> 70% weniger Speicherplatz als JSON
– Streaming möglich – auch bidirektional

Wir waren tatsächlich von der einfachen Verwendung überrascht und konnten im Handumdrehen ein betagtes Programm um eine gRPC-Schnittstelle erweitern und sofort darüber kommunizieren. Im Geschwindigkeitsvergleich bei der Übertragung einer 170 MB Datei benötigte die klassische SOAP Variante 72 Sekunden während es mit gRPC in 21 Sekunden lief.

Weitere Meldungen

IIS-Logs mit Filebeat auslesen, in Elasticsearch speichern und mit Kibana visualisieren? OK!

Die Komponente "Filebeat" aus der "Elastic"-Famile ist ein leichtgewichtiges Tool, welche Inhalte aus beliebigen Logdateien an Elasticsearch übermitteln kann. Wir stellen hier ein praktisches Beispiel vor, wie mittels "Filebeat" die Inhalte der Logdateien des Microsoft Internet Information Server (IIS) an Elasticsearch übermittelt und anschließend mit Kibana visualisiert werden können.

IIS-Logs mit Filebeat auslesen...
PostgreSQL – Eine Alternative zu Microsoft SQL Server?

Die C.H.Beck.Media.Solutions setzt seit Jahren erfolgreich in zahlreichen Projekten den Microsoft SQL Server als Backend-Lösung ein. Dennoch stellt sich die Frage, ob vielleicht auch Alternativen existieren, welche es bzgl. Funktionsumfang & Leistungsverhalten mit dem SQL Server aufnehmen können. In diesem Artikel wollen wir daher das weit verbreitete Datenbankmanagementsystem PostgreSQL etwas genauer untersuchen und es dem RDBMS von Microsoft gegenüberstellen.

PostgreSQL – Eine Alternative ...
Aus unserem Forschungs- und Entwicklungsteam – Text to Speech

Zahlen belegen, dass 15 bis 20 Prozent der Weltbevölkerung sprachbasierte Lernschwierigkeiten haben. Um auch Menschen mit Lese- oder Sehvermögenschwierigkeiten den Zugriff auf Text-Content im Internet zu ermöglichen, bietet die „Text to Speech“-Technologie spannende und komfortable Lösungen. Wir, das Forschungs- und Entwicklungsteam (FuE) von Beck.Media.Solutions, haben uns mit den Möglichkeiten befasst und dabei ein spezielles Produkt genauer unter die Lupe genommen: ResponsiveVoice.JS

Aus unserem Forschungs- und En...
Graph-Datenbanken – neue Möglichkeiten oder Zeitverschwendung?

Wenn man von Datenbanken spricht, so versteht man darunter üblicherweise relationale Datenbanken. Diese speichern Daten in Tabellen (mathematisch: „Relationen“) ab und werden mit der Abfragesprache SQL abgefragt. Neben dieser Art von Datenbanken, die heute den Standard bilden, haben sich in den letzten Jahren auch andere Datenbanksysteme entwickelt, die andere Konzepte verwirklichen oder auf bestimmte Anwendungsfälle spezialisiert sind. Solche Datenbanken gehören zur Familie der NoSQL-Datenbanken, wobei das „No“ für „Not only“ steht. Graph-Datenbanken sind Vertreter dieser Gattung. Unsere Abteilung „Forschung und Entwicklung" hat sich diese Vertreter näher angesehen.

Graph-Datenbanken – neue Mögli...