Overzicht #
Het doel van dit artikel is om uit te leggen hoe je een CRM-applicatie kunt maken die cruciaal is voor een bedrijf als ODOO, zeer schaalbaar. En hoe u het in hoge beschikbaarheid kunt instellen om tolerant te zijn voor storingen, en hoe u de beveiliging van de toegang ertoe kunt versterken.
Wat is hoge beschikbaarheid? #
Hoge beschikbaarheid is een kwaliteit van een systeem of component die een hoog niveau van operationele prestaties, meestal uptime, garandeert voor een langere periode dan normaal.
Wat is odo? #
ODOO (Ook bekend als OpenERP) is open source-software voor bedrijven die alle zakelijke behoeften integreert, waaronder CRM, facturering, boekhouding, website-, magazijn- en projectbeheer, productie, inventaris en nog veel meer!
Opzetten RELIANOID Load Balancer #
Met RELIANOID Met Load Balancer kunnen we een hoge beschikbaarheid garanderen en ons voorbereiden op massale schaalbaarheid ODOO diensten door de onderstaande stappen te volgen.
Houd er rekening mee dat u, om deze instructies te volgen, een exemplaar van moet installeren RELIANOID Load Balancer en verschillende exemplaren van ODOO toepassingen. Daarnaast is het van groot belang dat de postgresql worden onderling gerepliceerd, om consistentie te garanderen.
De omgeving die we in dit artikel gaan beschrijven, wordt hieronder weergegeven.

Stap 1: Maak een virtueel IP-adres #
Het aanmaken van een virtueel IP-adres in de load balancer is vereist omdat dit het toegangspunt zal zijn ODOO Diensten. In ons voorbeeld hebben we er twee ODOO echte servers, maar u kunt zoveel opnemen als u nodig heeft, zonder enige beperking. Om een nieuw virtueel IP-adres te maken, vanuit de RELIANOID LB hoofdmenu, selecteren Instellingen->Interfaces.

Zoek de fysieke interface waar u een virtueel IP-adres onder wilt maken Acties klik op de knop virtuele netwerkinterfaces toevoegen.

Typ het adres en het netmasker van uw nieuwe virtuele IP. Deze moeten zich in hetzelfde subnet bevinden als het fysieke apparaat. Bewaar het door op de knop te klikken virtuele interface opslaan.

Stap 2: Maak een http-farm #
Een farm is een verzameling computerservers die serverfunctionaliteit bieden, waardoor de capaciteit ervan aanzienlijk wordt vergroot. Dus door een boerderij op te zetten ODOO servers, zullen we de prestaties en schaalbaarheid ervan verhogen, wat essentieel is voor hoge beschikbaarheid. Om dit te bereiken ga naar Beheer -> Boerderijen.

Klik op Nieuwe boerderij toevoegen en selecteer in het nieuwe venster een naam en HTTP als profiel. We selecteren een HTTP-profiel omdat dit de beste optie is voor webservices en vereist is om applicatie-inhoud te parseren om persistentie op applicatieniveau te bieden.

Er worden nog twee opties weergegeven. Selecteer het virtuele IP-adres dat in stap 1 is aangemaakt en een poort (in het voorbeeld kiezen we 80, omdat dit de standaard is voor het HTTP-protocol) en klik op de Opslaan knop.

Voor meer informatie over boerderijen verwijzen wij u naar Beheer::boerderijen.
Stap 3: Voeg de dienst toe #
Nadat de boerderij is aangemaakt, moeten we deze bewerken om een nieuwe service toe te voegen. Klik op de knop boerderij bewerken.

Verschillende details van de boerderij kunnen worden bewerkt, nu gaan we de standaardwaarden behouden en een nieuwe service toevoegen.

Zoek in de bovenstaande schermafbeelding de Servicesectie toevoegen, typ de servicenaam en klik op Toevoegen.

Voorlopig laten we de standaardwaarden staan en voegen we alleen de backends toe waar de ODOO echte services zullen actief zijn. Zoek het backends-gedeelte en klik op de knop echte server toevoegen.

Voeg de IP-adressen en poorten van de ODOO services (standaard 8069 voor Odoo-services), time-out en gewicht en klik op echte server opslaan.

Het is nodig om servercommutatie te voorkomen: als we tijdens onze sessie van de ene server naar de andere springen, zal er efficiëntie-, gegevens- en zelfs communicatieverlies optreden. Om dit gedrag te voorkomen, moet de Volharding sessie optie moet worden geconfigureerd. We zullen ervoor kiezen om een sessie te onderhouden op sessie-ID, dus dit betekent dat we tijdens een sessie verbinding maken met slechts één server.
In de algemene serviceparameters kunnen we nu het persistentiesessieveld wijzigen in COOKIE: een bepaald cookie en klik op wijzigen.

Invoegen session_id als persistentiesessie-ID en klik op wijzigen.

Ten slotte moeten we de wijzigingen toepassen door de boerderij opnieuw op te starten.
![]()
Gefeliciteerd! u hebt Odoo in hoge beschikbaarheid geconfigureerd. U kunt er toegang toe krijgen door te typen http://[VIRTUAL_IP]:[PORT] (in ons voorbeeld http://192.168.56.200).
Stap 4: Geavanceerde statuscheck #
We zullen nu de farmguard instellen om geavanceerde gezondheidscontroles uit te voeren op de backends, om er zeker van te zijn dat ze actief zijn en dat de applicatie correct functioneert, en niet alleen maar een TCP-poortcontrole. Zoek alstublieft de Boerderijbeschermer in de ODOO service die we in stap 3 hebben ingesteld. Klik op Gebruik FarmGuardian om back-endservers te controleren, kunt u ook de tijd tussen controle en uiteindelijk wijzigen in de Commando om te controleren tekstvak typt u het volgende commando:
check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p POORT -s ' '
Klik ten slotte op wijzigen.

Het bevel check_http test HTTP-verbindingen met de opgegeven host. In ons geval gebruiken we de volgende opties:
-IK ORGANISEER: De token HOST wordt vervangen door het gedefinieerde backend-IP-adres.
-w 10: reactietijd tot waarschuwingsstatus: 10 seconden
-c 10: reactietijd op kritieke status: 10 seconden
-t 10: 10 seconden voordat de verbinding wordt verbroken
-e 200: verwacht de string 200 in de status van het serverantwoord
-p POORT: De tokenPOORT wordt vervangen door de gedefinieerde backend-poort.
-S ' ': string die u in de inhoud kunt verwachten is ' '
Deze geavanceerde gezondheidscontrole zorgt ervoor dat we een 200 OK-antwoord krijgen van de echte servers en dat het antwoordcommando de string ' bevat '. We selecteren deze string omdat deze aan het einde van het antwoord staat. Op deze manier kunnen we garanderen dat we een correct antwoord krijgen van de backends-applicatie.
Stap 5: Hoge beveiliging #
ODOO biedt geen veilig kanaal voor webcommunicatie, maar we kunnen dit gemakkelijk bereiken RELIANOID Load Balancer zoals hieronder weergegeven.

We moeten een HTTPS-listener instellen: op de Bewerk de globale parameters van het bedrijf scherm, wijzig dan de farmlistener van HTTP in HTTPS en de Virtuele poort om 443.

In dit stadium ODOO kan worden geopend door te typen https://[VIRTUAL_IP] in uw browser.
Er is nu beveiligde communicatie gaande, maar we kunnen nog verder gaan door de HTTPS-codes te configureren: lokaliseer binnen de globale parameters van de boerderij de HTTPS-instellingen sectie. We kunnen de cijfers veranderen in Hoge beveiliging.

Het cijferveld wordt gebruikt om een lijst samen te stellen met cijfers die door de HTTPS-server worden geaccepteerd om de SSL-verbinding te versterken. Door selecteren Hoge beveiliging, zullen we de cijfers standaard instellen.
kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED
Een andere optie is de HTTPS-certificaten beschikbaar: er wordt een lijst met certificaten getoond die geselecteerd zijn voor de huidige farm (alleen voor HTTP-farms, wat in ons geval is). We kunnen er een uit de lijst selecteren en erop klikken Toevoegen. Klik ten slotte op wijzigen en start de boerderij opnieuw om wijzigingen toe te passen.
Ten slotte zencert.pem certificaat kan worden gebruikt om de HTTPS-listener te testen, maar het is belangrijk om uw eigen SSL-certificaat te gebruiken.
Voor meer informatie verwijzen wij u naar HTTP-profielboerderijen.
Stap 6: Odoo webbasis #
ODOO bouwt de URL op, rekening houdend met de instelling ervan web.base.url. Als we toegang krijgen via RELIANOID Load Balancer zien we de URL overschakelen naar de URL van de backend. Omdat we beveiligde communicatie via HTTPS hebben geconfigureerd, kan dit een probleem opleveren en kunnen we alleen naar het ODOO basis-URL. Om dit te voorkomen, moeten we de web.base.url parameter in elk ODOO server.
Om dit te bereiken, opent u elke backend en gaat u in het linkerpaneel naar Technisch >> Parameters >> Systeemparameters en verander de web.base.url aan de RELIANOID Load Balancer virtuele IP en poort geselecteerd voor de odoo-farm. In ons voorbeeld zou dit https://192.168.56.200 zijn, of nog beter, https://odoo.mycompany.com .

De technische functies zijn mogelijk uitgeschakeld. Als dat het geval is, zijn de technische opties niet beschikbaar. Om dit op te lossen, selecteert u Gebruikers >> Gebruikers, bewerk de huidige gebruiker en schakel de technische Eigenschappen optie onder Usability.
Stap 7: Odoo-bestandsopslag #
Er zijn verschillende opties om de bestandsopslag in Hoge beschikbaarheid te configureren.
1. In elke backend kunnen we een gedeelde opslag koppelen en het lokale pad via de parameter configureren ir_attachment.locatie onder de sectie Instellingen >> Technisch >> Parameters >> Systeemparameters.
2. Als we geen eenheid hebben die hoge beschikbaarheid van de gedeelde bron voor de bestandsopslag biedt, kunnen we deze gebruiken RELIANOID om het te maken voor een NFS (Network File System) -service om in elke backend te kunnen worden gemonteerd. Omdat deze service TCP- en UDP-poorten gebruikt, kunnen we via alle poorten onder een bepaald virtueel IP-adres een L4xNAT creëren, die zal worden gebruikt om de mount automatisch te configureren tijdens het opstarten via de / Etc / fstab bestand.
3. Een andere optie is configureren SSHFS die de beveiligde SSH-service gebruikt om een extern gedeeld bestandssysteem te gebruiken. Omdat de SSH-service standaard de TCP 22-poort gebruikt, kan de belasting zonder problemen worden gebalanceerd via een L4xNAT, op een vergelijkbare manier als in het NFS-geval.
Afhankelijk of het nodig is om een actief-actief of actief-passief gedeelde bestandsopslagbron te maken, is een replicatie of synchronisatie van de bestanden nodig.
Hoewel dit onderwerp buiten het bestek van dit artikel valt, wordt het in een speciaal artikel behandeld.
Nu zijn uw bedrijfsprocessen en activiteiten klaar om te schalen en Odoo in hoge beschikbaarheid te zetten RELIANOID, genieten van!