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…

tutum api

Um auf meine Docker-Container, die ich mit tutum verwalte zuzugreifen, mache ich folgendes: API-Key unter tutums `Account-Info API-Key holen Dann z.B. mit shell: (python -m json.tool formatiert den JSON-Output lesbar.) curl -u dsteinkopf:apikey https://dashboard.tutum.co/api/v1/service/ | python -m json.tool | less Sehr gute API-Doku: https://docs.tutum.co/v2/api/ die go-API hat ich auch schon erfolgreich benutzt: https://github.com/dsteinkopf/seqredeploy und https://hub.docker.com/r/dsteinkopf/seqredeploy/