Distribuerade arkitekturer distributed-architectures

Princip principle

För att få stöd för skalbarhet och dygnet runt-service på den inkommande kanalen kan ni använda Interaction med en distribuerad arkitektur. Den här typen av arkitektur används redan i Message Center och består av flera instanser:

  • en eller flera kontrollinstanser som är dedikerade till den utgående kanalen och som innehåller bas för design av marknadsföring och miljö
  • en eller flera körningsinstanser som är dedikerade till inkommande kanal

NOTE
Kontrollinstanser är dedikerade till den inkommande kanalen och innehåller katalogversionen online. Alla instanser av exekvering är oberoende och dedikerade till ett kontaktsegment (till exempel en exekveringsinstans per land). Anrop till offertmotorn måste utföras direkt på körningen (en specifik URL per körningsinstans). Eftersom synkroniseringen mellan instanser inte är automatisk måste interaktioner från samma kontakt skickas via samma instans.

Förslagssynkronisering proposition-synchronization

Synkronisering av erbjudanden utförs via paket. I körningsinstanser föregås alla katalogobjekt av det externa kontonamnet. Detta innebär att flera kontrollinstanser (till exempel utvecklings- och produktionsinstanser) kan stödjas på samma körningsinstans.

IMPORTANT
Vi rekommenderar att du använder korta och explicita interna namn.

Erbjudandena distribueras automatiskt och publiceras sedan på körnings- och kontrollinstanser.

Erbjudanden som tas bort i designmiljön är inaktiverade på alla onlineförekomster. Föråldrade offerter och erbjudanden tas automatiskt bort i alla instanser efter tömningsperioden (som anges i varje instans distributionsassistent) och glidperioden (som anges i de inkommande förslagens typologiregler).

Ett arbetsflöde skapas för varje miljö och ett externt konto för förslagssynkronisering. Synkroniseringsfrekvensen kan justeras för varje miljö och externt konto.

Begränsningar limitations

  • Om du använder funktionen för säkerhetskopiering från en anonym miljö till en identifierad miljö måste dessa två miljöer finnas i samma körningsinstans.
  • Synkroniseringen mellan flera körningsinstanser utförs inte i realtid. Interaktioner av samma kontakt måste skickas till samma instans. Kontrollinstansen måste dedikeras till den utgående kanalen (ingen realtid).
  • Marknadsföringsdatabasen synkroniseras inte automatiskt. Marknadsföringsdata som används i viktnings- och berättigandereglerna måste dupliceras i körningsinstanser. Den här processen kommer inte som standard, du måste utveckla den under integreringsperioden.
  • Propositionssynkronisering utförs uteslutande av FDA-anslutning.
  • Om du använder Interaction och Message Center på samma instans, synkroniseras i båda fallen via FDA-protokollet.

Paketkonfiguration packages-configuration

Alla schematillägg som är direkt länkade till Interaktion (erbjudanden, erbjudanden, mottagare osv.) måste distribueras på körningsinstanserna.

Interaktionspaketet måste installeras på alla instanser (kontroll och körning). Det finns ytterligare två paket: ett paket som ska installeras på kontrollinstanserna och ett annat som ska installeras på varje körningsinstans.

NOTE
När du installerar paketet long typfält för nms:förslag tabell som t.ex. förslags-ID, blir int64 textfält. Den här typen av data beskrivs i det här avsnittet.

Varaktigheten för datalagring måste konfigureras för varje instans (via Data purge i distributionsguiden). För körningsinstanser måste denna period motsvara det historiska djup som krävs för att typologiregler (glidande period) och regler för stödberättigande ska kunna beräknas.

På kontrollinstanserna:

  1. Skapa ett externt konto genom körningsinstansen:

    • Fyll i etiketten och lägg till ett kort och explicit internt namn.

    • Markera Execution instance.

    • Markera alternativet Enabled.

    • Slutför anslutningsparametrarna för körningsinstansen.

    • Alla körningsinstanser måste länkas till ett ID. Detta ID tilldelas när du klickar på Initialize connection -knappen.

    • Kontrollera vilken typ av program som används: Message Center, Interaction eller båda.

    • Ange det FDA-konto som används. En operator måste skapas för körningsinstanserna och måste ha följande läs- och skrivrättigheter i databasen för instansen i fråga:

      code language-none
      grant SELECT ON nmspropositionrcp, nmsoffer, nmsofferspace, xtkoption, xtkfolder TO user;
      grant DELETE, INSERT, UPDATE ON nmspropositionrcp TO user;
      
    note note
    NOTE
    IP-adressen för kontrollinstansen måste auktoriseras för körningsinstanserna.
  2. Konfigurera miljön:

    • Lägg till listan med körningsinstanser.

    • För var och en av dem anger du synkroniseringsperiod och filtervillkor (till exempel per land).

      note note
      NOTE
      Om du råkar ut för ett fel kan du läsa arbetsflödena för synkronisering och visa meddelanden. Dessa finns i programmets tekniska arbetsflöden.

Om bara en del av marknadsföringsdatabasen dupliceras på körningsinstanserna av optimeringsskäl kan du ange ett begränsat schema som är länkat till miljön, så att användarna bara kan använda data som är tillgängliga på körningsinstanserna. Du kan skapa ett erbjudande med data som inte är tillgängliga för körningsinstanser. Om du vill göra det måste du inaktivera regeln för de andra kanalerna genom att begränsa den här regeln för den utgående kanalen (Taken into account if fält).

Underhållsalternativ maintenance-options

Här är en lista över underhållsalternativ som är tillgängliga för kontrollinstansen:

IMPORTANT
Dessa alternativ får endast användas för särskilda underhållsfall.
  • NmsInteraction_LastOfferEnvSynch_<offerEnvId>_<executionInstanceId>: det senaste datumet då en miljö synkroniserades på en given instans.
  • NmsInteraction_LastPropositionSynch_<propositionSchema>_<executionInstanceIdSource>_<executionInstanceIdTarget>: sista datumet som förslag från ett givet schema synkroniserades från en instans till en annan.
  • NmsInteraction_MapWorkflowId: ett alternativ som innehåller en lista över alla genererade synkroniseringsarbetsflöden.

Följande alternativ är tillgängligt för körningsinstanser:

NmsExecutionInstanceId: som innehåller instans-ID.

Paketinstallation packages-installation

Om din instans inte tidigare har Interaction-paketet behövs ingen migrering. Som standard kommer förslagstabellen att vara 64 bitar efter att paketen har installerats.

IMPORTANT
Beroende på volymen av befintliga förslag i din instans kan den här åtgärden ta en stund.
  • Om instansen har små eller inga förslag behövs ingen manuell ändring av förslagstabellen. Ändringen görs när paket installeras.
  • Om instansen har många förslag är det bättre att ändra strukturen på förslagstabellen innan du installerar kontrollpaketen och kör dem. Vi rekommenderar att du kör frågorna under en period med låg aktivitet.
NOTE
Om du har utfört specifika konfigurationer i förslagstabellen, anpassar du frågorna därefter.

PostgreSQL postgresql

Det finns två metoder. Den första (med en arbetstabell) är något snabbare.

Arbetsregister

CREATE TABLE NmsPropositionRcp_tmp AS SELECT * FROM nmspropositionrcp WHERE 0=1;
ALTER TABLE nmspropositionrcp_tmp
  ALTER COLUMN ipropositionid TYPE bigint,
  ALTER COLUMN iinteractionid TYPE bigint;
INSERT INTO nmspropositionrcp_tmp SELECT * FROM nmspropositionrcp;
DROP TABLE nmspropositionrcp;
CREATE INDEX proposition_id ON NmsPropositionRcp (ipropositionid);
CREATE INDEX nmspropositionrcp_deliveryid ON NmsPropositionRcp (ideliveryid);
CREATE INDEX nmspropositionrcp_lastmodified ON NmsPropositionRcp (tslastmodified);
CREATE INDEX nmspropositionrcp_offerid ON NmsPropositionRcp (iofferid);
CREATE INDEX nmspropositionrcp_offerspaceid ON NmsPropositionRcp (iofferspaceid);
CREATE INDEX nmspropositionrcp_recipientidid ON NmsPropositionRcp (irecipientid);
ALTER TABLE nmspropositionrcp_tmp RENAME TO nmspropositionrcp;

Ändra tabell

ALTER TABLE nmspropositionrcp
  ALTER COLUMN ipropositionid TYPE bigint,
  ALTER COLUMN iinteractionid TYPE bigint;

Oracle oracle

Redigera storleken på en Nummer typen leder inte till värden eller att indexet skrivs om. Den är därför omedelbar.

Följande fråga ska köras:

ALTER TABLE nmspropositionrcp MODIFY (
ipropositionid NUMBER(19, 0),
iinteractionid NUMBER(19, 0)
);

MSSQL mssql

Följande frågor ska utföras:

SELECT * INTO NmsPropositionRcp_tmp FROM NmsPropositionRcp WHERE 1 = 0;
GO
ALTER TABLE NmsPropositionRcp_tmp ALTER COLUMN ipropositionid BIGINT;
GO
ALTER TABLE NmsPropositionRcp_tmp ALTER COLUMN iinteractionid BIGINT;
GO
INSERT INTO NmsPropositionRcp_tmp SELECT * FROM NmsPropositionRcp;
GO
DROP TABLE NmsPropositionRcp;
GO
sp_rename 'NmsPropositionRcp_tmp', NmsPropositionRcp
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR dWeight
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iDeliveryId
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iEngineType
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iInteractionId
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iOfferId
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iOfferSpaceId
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iPropositionId
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iRank
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iRecipientId
GO
ALTER TABLE NmsPropositionRcp ADD DEFAULT ((0)) FOR iStatus
GO
CREATE NONCLUSTERED INDEX NmsPropositionRcp_deliveryId ON NmsPropositionRcp (iDeliveryId)
GO
CREATE NONCLUSTERED INDEX NmsPropositionRcp_eventDate ON NmsPropositionRcp (tsEvent)
GO
CREATE UNIQUE NONCLUSTERED INDEX NmsPropositionRcp_id ON NmsPropositionRcp (iPropositionId)
GO
CREATE NONCLUSTERED INDEX NmsPropositionRcp_lastModified ON NmsPropositionRcp (tsLastModified)
GO
CREATE NONCLUSTERED INDEX NmsPropositionRcp_offerId ON NmsPropositionRcp (iOfferId)
GO
CREATE NONCLUSTERED INDEX NmsPropositionRcp_offerSpaceI ON NmsPropositionRcp (iOfferSpaceId)
GO
CREATE NONCLUSTERED INDEX NmsPropositionRcp_recipientId ON NmsPropositionRcp (iRecipientId)
GO
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1