- LegiNote projectontwikkeling verhaal 3 - Request in Go
- Dit artikel beschrijft het ontwikkelingsproces van het LegiNote-project, waarbij de Go-programmeertaal wordt gebruikt om wettelijke informatie op te halen van de Nationale Vergadering OpenAPI. Het behandelt onderwerpen als HTTP-aanvragen en het definiëren
Hallo, dit is StatPan.
Ik schrijf over de ontwikkeling van het LegiNote-sideproject.
Raadpleeg de volgende link voor het vorige deel.
Het vierde ontwikkelverslag van LegiNote, een verhaal over de infrastructuur, iets anders dan voorheen.
Voor de ontwikkeling van een dienst zijn serverresources nodig om de dienst te draaien.
Natuurlijk, als u alleen ervaring op wilt doen en de dienst niet continu wilt draaien, kunt u overwegen om uw eigen pc of gratis tier-diensten van verschillende bedrijven te gebruiken.
U kunt tijdelijk de gratis tier gebruiken die wordt aangeboden door grote cloudproviders zoals AWS, Azure en GCP, of u kunt hostingdiensten zoals Cafe24 en Gabia overwegen.
Mijn keuze viel op de Free Tier van Oracle Cloud. Men kan gerust stellen dat het het beste gratis tier-beleid van alle cloudproviders heeft.
Samengevat:
OCPU 4, RAM 24 GB, SSD 200 GB vm kan fulltime voor de dienst worden gebruikt (het verkeer is niet onbeperkt, maar als u dit alles gebruikt, moet u al een betaalde dienst gebruiken).
Om deze vm te kunnen gebruiken, moet u echter de beruchte Oracle Card registratie test doorstaan.
Zo heb ik 1 VM met 24/7 beschikbaarheid verkregen.
Resources die nog steeds ontoereikend aanvoelen
Tijdens de ontwikkeling is één knooppunt niet voldoende.
Uit mijn ervaring blijkt dat resources nodig zijn om de ontwikkeling en de werking te scheiden en te distribueren.
Helaas kan (in de standaard configuratie) maar één Oracle Free Tier worden gebruikt, dus ik wilde meer 24/7 beschikbare VM's.
Alternatief voor VM: Mini-pc
Voor vergelijkbare specificaties als de Oracle Free Tier-service en 24/7 werking, was een server nodig met voldoende prestaties en laag energieverbruik voor continue werking.
Tijdens het zoeken naar informatie over dit onderwerp, was het DC-gallery het meest behulpzaam.
Uit de kandidaten n100, eqr6, ser8 koos ik voor de eqr6 vanwege de vergelijkbare specificaties als de VM, en ik kocht de server voor een zeer lage prijs.
Barebone eqr6 240.000 won
SSD 256 GB 22.000 won
RAM 8 GB * 2 18.000 won
Totaal 280.000 won
Als ik bedenk dat ik een vergelijkbare VM ongeveer 1-2 jaar ononderbroken wil gebruiken, vind ik het een bedrag dat ik er wel voor over heb.
Tot zover ging alles soepel, maar...
Het begin van de problemen
De levering komt altijd onverwacht
Ja, deze mini-pc's komen niet zo snel aan als in deze tijd waarin dingen binnen een dag of twee worden bezorgd.
De twee weken wachten op de levering voelde als een lange tijd, en ik vroeg me af of ik door China was opgelicht. Toen ontmoette ik hem uiteindelijk.
Degenen die geen ervaring hebben met het instellen van dit soort pc's, kunnen tijdens die periode veel nuttige berichten lezen op het mini-pc-forum.
(Bijvoorbeeld: een opstartdisk voorbereiden naast de meegeleverde USB-stick, drivers voorbereiden die u wilt installeren, enz.)
Mini-pc assembleren
Ja, het in elkaar zetten van de mini-pc was een andere ervaring. Ik had mijn desktop zelf in elkaar gezet, dus ik dacht dat het makkelijk zou zijn, maar in de kleine behuizing van de mini-pc zitten veel onderdelen, dus het was moeilijker dan ik dacht. Het terugplaatsen van een losgeschroefde schroef was een extra uitdaging.
Om die schroef te verwijderen, heb ik het voedinggedeelte losgemaakt. Toen bleek dat de verbinding los zat, waardoor de pc uitschakelde als de behuizing maar een beetje bewoog. Er gebeurden veel leuke dingen.
Achteraf gezien was het pijn vermomd als herinnering.
Instellingen mini-pc
Dit was een gevecht met het BIOS. Nadat ik Ubuntu had geïnstalleerd, bleek dat 8 GB VRAM werd gebruikt, waardoor ik maar 8 GB geheugen over had.
Omdat ik van plan was het als server te gebruiken, had ik bijna geen VRAM nodig. Om dit op te lossen, heb ik in het oude BIOS-menu gezocht naar de betreffende functie. De BIOS-versie was zo oud dat de menu's in online handleidingen niet altijd overeenkwamen.
Uiteindelijk kon ik het oplossen met behulp van een onbekend YouTube-filmpje.
Mijn dank aan de anonieme ontwikkelaar...
Home netwerk instellingen
Ik gebruik SK internet, maar omdat ik er niet bij was tijdens de installatie, wist ik niet precies hoe het was geïnstalleerd. Aangezien ik voornamelijk KT internet heb gebruikt, dacht ik er niet te veel over na.
Met andere woorden, ik dacht dat ik gewoon een router gebruikte die was aangesloten op één modem.
SK heeft echter een aparte modem met een publiek IP-adres, en een modem (router) die op een andere locatie staat, zoals in de woonkamer.
Aanvankelijk wist ik dit niet, en de routers in de woonkamer en de slaapkamer gebruikten steeds verschillende bandbreedtes. Ik dacht dat de router in de slaapkamer kapot was en heb hem meerdere keren opnieuw gestart.
Na wat zoeken ontdekte ik de andere router en vond de modem verborgen op een geheime plek.
Om de dag van frustratie te wreken, heb ik de modem met het openbare IP-adres meteen gebridged en wilde ik alle netwerken beheren met de interne SK-router als NAT, maar om het wat interessanter te maken, voegde het systeem een paar problemen toe.
Ik weet nog steeds niet waarom, maar uiteindelijk heb ik twee openbare IP-adressen.
Ik ben persoonlijk tevreden met het hebben van een apart IP-adres voor de dienst, maar ik ben nog steeds aan het wennen aan de ongebruikelijke service mentaliteit in vergelijking met andere internetaanbieders.
Als u SK internet gebruikt en een thuisnetwerk wilt configureren, kunt u deze belangrijke punten in gedachten houden om problemen te voorkomen.
DDNS en DNS, poortforwarding
Ik denk dat deze taak overbodig was geweest als ik extra Oracle VM's had kunnen krijgen, maar het was een goede leerervaring.
Thuisgebruikers krijgen meestal dynamische IP-adressen, dus als u alleen een IP-adres aan de DNS-server koppelt, moet u mogelijk bij elke routerreset ook de mapping opnieuw uitvoeren.
Routers bieden vaak zelf een DDNS-service om dit op te lossen.
De SK-router biedt dit niet direct aan en beveelt de diensten van derden aan.
Gelukkig gebruik ik een ASUS-router, dus ik gebruikte de ingebouwde DDNS-functionaliteit van de ASUS-router zonder extra services te gebruiken en koppelde het aan de DNS-server om dit probleem op te lossen.
Dit ging relatief soepel omdat ik al ervaring had met het gebruik van DNS bij het aanschaffen van een domein.
Na de probleemoplossing
Toen ik alleen de kosten van het 24/7 draaien van de VM berekende, leken de kosten behoorlijk hoog. Maar als ik de kosten en de tijd die nodig zijn voor de initiële installatie overweeg, begrijp ik beter waarom clouddiensten zo populair zijn.
Desondanks ben ik van plan de infrastructuur voortdurend te verbeteren voor de voortzetting van dit project zonder winst en voor mijn persoonlijke ontwikkeling.
Eigenlijk is dat omdat er nog geen gebruikers zijn die een snelle schaalvergroting vereisen.
In de toekomst zal de infrastructuur die dit project ondersteunt ook deel uitmaken van de berichten.
Als u soortgelijke problemen heeft of plannen maakt, aarzel dan niet om contact op te nemen.
Dit was StatPan!
Reacties0