Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NAS2 skal anvender NSP Kafka Clusteret på NSP Backend miljøet. Der kræves ikke nogen særlig opsætning af Kafka i forhold til det eksisterende NSP Kafka Cluster.

...

Administration af topics i NAS2

I det følgende gennemgåes de manuelle aktiviteter der skal ske i databasen og i Kafka ifm driften af NAS2
Til at administrere topics og adgang til topics anvendes forskellige shell scripts, som kalder administrationsservicen i NAS2. I den forbindelse opdateres topics både i databasen og i kafka.

Nyt Topic

For at NAS2 skal kunne modtage adviseringer på et Topic skal dette oprettes i Kafka og i databasen.
For at give tilladelse til at der kan oprettes abonnementer og afhentes adviseringer på et Topic, skal der desuden  oprettes et Topic Access i databasen. 

Opret Topic

Først oprettes Kafka Topic via følgende kommando, hvor topic er navnet på topic i databasen og internal_topic er  navnet på topic i kafka:

Code Block
bin/kafka-topicscreate_topic.sh --create --bootstrap-server kafka-host:port --replication-factor 2 --partitions 6 --topic dk.nsp.bo.nas.fmk.MedicineCard

Herefter mappes dette Kafka Topic til et WS-Notification Topic i databasen på følgende måde:

Code Block
languagesql
INSERT INTO TopicMapping
	(topic, internal_topic)
VALUES
	('http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard', 'dk.nsp.bo.nas.fmk.MedicineCard');

Opret Topic Access

basepath="localhost:8086/administration" topic="http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard" internal_topic="dk.nsp.bo.nas.fmk.MedicineCard" num_partitions=6 replication_factor=2

Udover de ovenstående parametre er det desuden også muligt at sætte følgende, hvis ønsket: 
segment_bytes
segment_ms
segment_jitter_ms 
segment_indexbytes
flush_messages_interval
flush_ms
retention_bytes
retention_ms
max_message_bytes
index_interval_bytes
file_delete_delay_ms
delete_retention_ms
min_compaction_lag_ms
min_cleanable_dirty_ratio
cleanup_policy
unclean_leader_election_enable
min_in_sync_replicas
compression_type
preallocate
message_format_version
message_timestamp_type
message_timestamp_difference_max_ms

Opret Topic Access

Når et Topic er oprettet, skal der oprettes Topic access. 

Topic Access Topic access oprettes med en identifier, der angiver adgangen til et specifikt topic. Identifier kan indeholde 'ALL', et cvr-nummer på formen 'CVR:XXXXXXXX', eller et et CVR-RID, CVR-UID eller CVR-FID på formen: 'CVR:XXXXXXXX-XID:XXXXXXXX'.
Eksempler:

  • 'CVR:46837428'
  • 'CVR:46837428-FID:92421325'

Topic Access oprettes i databasen på følgende måde: 

Code Block
languagesql
INSERT INTO topic_access
	(topic, identifier, comment)
VALUES
	('.sh basepath="localhost:8086/administration" topic="http://www.dkma.dk/medicinecard/xml.schema/2012/06/01:MedicineCard', 'ALL', '" operation="create" identifier="ALL" comment="SDS-4393: topic access oprettet');"

Lukke for et Topic

For at lukke for nye adviseringer til et Topic opdateres rækken i "TopicMapping" på følgende måde:

...