Utilizzo anche io jhipster e lo sto usando per la prima volta per un nuovo progetto.. Non sono esperto come voi ma mi sto trovando bene perché è intuitivo e spring boot e già compreso nel prezzo🤣
Inviato da Yahoo Mail su Android Il mar, 6 nov, 2018 alle 21:35, Ivan Martoccia [email protected] [it-torino-java-jug]<[email protected]> ha scritto: Io attualmente mi sono buttato su JHipster che genera ovviamente tutti i miei microservizi con spring boot. Devo dire che mi trovo da dio. Mi permette di concentrarmi sulle esigenze di business piuttosto che su tutto ciò che c’è intorno ( centralizzazione log, controllo accessi integrazione Kafka è molto altro ). Abbiamo fatto anche qualche verifica con jprofiler e mi pare un buon compromesso tra memoria e risparmio in termini di tempo per l’avvio di un servizio. Vi pongo però un quesito che vorrei condividere con voi. In un microservizio che si dovrà occupare principalmente di gestire l’anagrafe generale di un ERP quindi operazioni CRUD ed altre funzionalità come attivazione blocco ecc di un soggetto anagrafico, contando anche l’integrazione con Kafka, quanta memoria pensate sia necessaria contando che le anagrafiche da gestire si aggirano intorno a 200/300k ? Mi sono affacciato da poco alla questione e mi piacerebbe avere un vostro parere. Ovviamente l’intera infrastruttura di servizi girerà su docker :-) quindi dovrei considerare che ogni container occupare un po’ di memoria per conto suo più quella del l’app Il giorno mar 6 nov 2018 alle 19:48 Uberto Barbini [email protected] [it-torino-java-jug] <[email protected]> ha scritto: On Tue, 6 Nov 2018 at 15:11, Federico Fissore [email protected] [it-torino-java-jug] <[email protected]> wrote: Uberto Barbini [email protected] [it-torino-java-jug] ha scritto il 06/11/18 alle 10:46: > > > se parliamo di web server: sparkjava o http4k o scalatra (a seconda del > linguaggio) Grazie per questi nomi: l'approccio node.js nell'associare URL -> Handler mi è sempre piaciuto http4k va molto oltre, guardalo :) > > btw finalmente lavoro in un team che condivide la mia irritazione con i > vari logger Singleton e usiamo domain events. > cosa intendi? emettete eventi invece di loggare? come li consultate? si eventi con payload serializzati in json che poi finiscono su kibana, ma potrebbero anche finire su un file locale. Il punto e' che invece di avere loggerXY esiste un monitor che chi vuole loggare qualcosa deve farsi "prestare" (no DI automatico) e ognuno definisce gli eventi con i loro campi.E' un modo incredibilmente produttivo, sia per chi scrive codice che per chi deve cercare i bugs che evita tonnellate di logs inutili. Uberto -- Response to : [email protected] #yiv3299172199 #yiv3299172199 -- #yiv3299172199ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv3299172199 #yiv3299172199ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv3299172199 #yiv3299172199ygrp-mkp #yiv3299172199hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv3299172199 #yiv3299172199ygrp-mkp #yiv3299172199ads {margin-bottom:10px;}#yiv3299172199 #yiv3299172199ygrp-mkp .yiv3299172199ad {padding:0 0;}#yiv3299172199 #yiv3299172199ygrp-mkp .yiv3299172199ad p {margin:0;}#yiv3299172199 #yiv3299172199ygrp-mkp .yiv3299172199ad a {color:#0000ff;text-decoration:none;}#yiv3299172199 #yiv3299172199ygrp-sponsor #yiv3299172199ygrp-lc {font-family:Arial;}#yiv3299172199 #yiv3299172199ygrp-sponsor #yiv3299172199ygrp-lc #yiv3299172199hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv3299172199 #yiv3299172199ygrp-sponsor #yiv3299172199ygrp-lc .yiv3299172199ad {margin-bottom:10px;padding:0 0;}#yiv3299172199 #yiv3299172199actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv3299172199 #yiv3299172199activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv3299172199 #yiv3299172199activity span {font-weight:700;}#yiv3299172199 #yiv3299172199activity span:first-child {text-transform:uppercase;}#yiv3299172199 #yiv3299172199activity span a {color:#5085b6;text-decoration:none;}#yiv3299172199 #yiv3299172199activity span span {color:#ff7900;}#yiv3299172199 #yiv3299172199activity span .yiv3299172199underline {text-decoration:underline;}#yiv3299172199 .yiv3299172199attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv3299172199 .yiv3299172199attach div a {text-decoration:none;}#yiv3299172199 .yiv3299172199attach img {border:none;padding-right:5px;}#yiv3299172199 .yiv3299172199attach label {display:block;margin-bottom:5px;}#yiv3299172199 .yiv3299172199attach label a {text-decoration:none;}#yiv3299172199 blockquote {margin:0 0 0 4px;}#yiv3299172199 .yiv3299172199bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv3299172199 .yiv3299172199bold a {text-decoration:none;}#yiv3299172199 dd.yiv3299172199last p a {font-family:Verdana;font-weight:700;}#yiv3299172199 dd.yiv3299172199last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv3299172199 dd.yiv3299172199last p span.yiv3299172199yshortcuts {margin-right:0;}#yiv3299172199 div.yiv3299172199attach-table div div a {text-decoration:none;}#yiv3299172199 div.yiv3299172199attach-table {width:400px;}#yiv3299172199 div.yiv3299172199file-title a, #yiv3299172199 div.yiv3299172199file-title a:active, #yiv3299172199 div.yiv3299172199file-title a:hover, #yiv3299172199 div.yiv3299172199file-title a:visited {text-decoration:none;}#yiv3299172199 div.yiv3299172199photo-title a, #yiv3299172199 div.yiv3299172199photo-title a:active, #yiv3299172199 div.yiv3299172199photo-title a:hover, #yiv3299172199 div.yiv3299172199photo-title a:visited {text-decoration:none;}#yiv3299172199 div#yiv3299172199ygrp-mlmsg #yiv3299172199ygrp-msg p a span.yiv3299172199yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv3299172199 .yiv3299172199green {color:#628c2a;}#yiv3299172199 .yiv3299172199MsoNormal {margin:0 0 0 0;}#yiv3299172199 o {font-size:0;}#yiv3299172199 #yiv3299172199photos div {float:left;width:72px;}#yiv3299172199 #yiv3299172199photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv3299172199 #yiv3299172199photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv3299172199 #yiv3299172199reco-category {font-size:77%;}#yiv3299172199 #yiv3299172199reco-desc {font-size:77%;}#yiv3299172199 .yiv3299172199replbq {margin:4px;}#yiv3299172199 #yiv3299172199ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv3299172199 #yiv3299172199ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv3299172199 #yiv3299172199ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv3299172199 #yiv3299172199ygrp-mlmsg select, #yiv3299172199 input, #yiv3299172199 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv3299172199 #yiv3299172199ygrp-mlmsg pre, #yiv3299172199 code {font:115% monospace;}#yiv3299172199 #yiv3299172199ygrp-mlmsg * {line-height:1.22em;}#yiv3299172199 #yiv3299172199ygrp-mlmsg #yiv3299172199logo {padding-bottom:10px;}#yiv3299172199 #yiv3299172199ygrp-msg p a {font-family:Verdana;}#yiv3299172199 #yiv3299172199ygrp-msg p#yiv3299172199attach-count span {color:#1E66AE;font-weight:700;}#yiv3299172199 #yiv3299172199ygrp-reco #yiv3299172199reco-head {color:#ff7900;font-weight:700;}#yiv3299172199 #yiv3299172199ygrp-reco {margin-bottom:20px;padding:0px;}#yiv3299172199 #yiv3299172199ygrp-sponsor #yiv3299172199ov li a {font-size:130%;text-decoration:none;}#yiv3299172199 #yiv3299172199ygrp-sponsor #yiv3299172199ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv3299172199 #yiv3299172199ygrp-sponsor #yiv3299172199ov ul {margin:0;padding:0 0 0 8px;}#yiv3299172199 #yiv3299172199ygrp-text {font-family:Georgia;}#yiv3299172199 #yiv3299172199ygrp-text p {margin:0 0 1em 0;}#yiv3299172199 #yiv3299172199ygrp-text tt {font-size:120%;}#yiv3299172199 #yiv3299172199ygrp-vital ul li:last-child {border-right:none !important;}#yiv3299172199
