Der perfekte Microservice

Guter, bebilderter Artikel auf heise zum Thema Microservice: Der perfekte Microservice Es werden u.a. folgende Themen behandelt: Schnittstellen Granularität der auszutauschenden Daten verbundenen Anzahl prozessübergreifender Service-Calls Versionierung Stabilität der Schnittstelle Schnittstellenobjekte direkter Teil des Domänenmodells („Shared Kernel“) „Consumer-Driven Contract“ (Unterstützung durch Tools wie Pact) Trennung der Microsevices nach Use Cases (statt z.B. nach Domänen-Objekten) Datenspeicherung Read More…

Auf der Suche nach einem Markdown-Editor für Mac OS X

Inspiriert von Raywenderlich wollte ich endlich mal einen „ordentlichen“ Markdown-Editor für den Mac suchen. Meine Vorstellung ist es, damit meine „Memos“ zu editieren, die ich für mich als viele Dateien in einem Verzeichnis sammle. Daher habe ich folgende Wünsche: „Schönes“ Erscheinungsbild – v.a. im gerenderten Ergebnis (natürlich Geschmacksache, ich mag z.B. die meisten dunklen Themes Read More…

Sequenzdiagramme

http://www.websequencediagrams.com/ Online-Tool Diagramm wird per Text definiert quasi keine Einarbeitungszeit verschiedene Optiken wählbar Beispiel: Quellcode dazu: title Dirks hübscher Ablauf A->*B: text B–>A: text destroy B A->C: Das ist ein langer Kommentar mit\nmehreren Zeilen\ndie man genau angeben kann loop blablabla alsd asdeoiw wefh A->C: text end note over A,C: text1 note left of A: Links Read More…

XRebel: Leichtewichtiges Java-Profiling

https://zeroturnaround.com/software/xrebel/ Java-Profiling für den täglichen Gebrauch Sehr leicht zu integrieren in Java-Projekte: Nur eine Option an die Java-VM: -javaagent:/path/to/xrebel.jar Integriert sich automatisch in die Web-Oberfläche Wertet auch REST-Services aus und stellt sie dar (siehe hier). Analysiert und protokolliert u.a. Zeiten Events (Aufrufe von anderen Services (mit Header etc.), DB (mit SQL-Statement) etc.) Speicher Exception Das Read More…

Node-übergreifendes Locking

In einer Umgebung mit mehreren Nodes (im Cluster z.B.) will man schonmal verhindern, dass Code-Teile mehrfach parallel laufen. Node-Lokale Dinge wie Javas „synchronized“ oder explizite Speicher-Semaphoren helfen dabei natürlich nicht. Idee mit Hilfe einer DB-Tabelle, auf die alle zugreifen können: Tabelle Locks mit nur einer Spalte ID. jeder zu schützende Code-Bereich hat eine ID und Read More…