1. Pengantar
Layanan Bidding & Lelang (B&A) terdiri dari 4 layanan bagi pembeli dan penjual untuk memfasilitasi lelang Protected Audience:
Stack pembeli:
- Layanan Front-End Pembeli
- Layanan Bidding
Stack penjual:
- Layanan Front-End Penjual
- Layanan Lelang
Codelab ini memandu Anda menyiapkan dan menguji penyiapan menyeluruh di lingkungan lokal. Penjelasan ini diperkirakan akan memakan waktu sekitar 1 jam, tidak termasuk waktu build layanan awal.
Meskipun Anda hanya mengerjakan kode sisi pembelian atau kode sisi penjualan, sebaiknya siapkan alur menyeluruh di lingkungan lokal Anda untuk lebih memahami cara kerja stack pembeli dan penjual. Dengan menyiapkan kedua stack, Anda dapat lebih percaya diri saat berintegrasi dengan stack pembeli atau penjual pihak lain. Menguji layanan secara lokal juga menghemat biaya pengembangan Anda.
Dalam codelab ini, kita akan menggunakan Aplikasi Pengujian Lokal B&A sebagai panduan.
Aplikasi pengujian lokal pendamping menghosting berbagai resource pembeli dan penjual yang digunakan dalam lelang B&A. Aplikasi ini juga menyediakan UI di http://localhost:3000 tempat Anda dapat menyimulasikan berbagai konfigurasi lelang.
2. Penyiapan lingkungan
2.1 Menyiapkan mesin Linux
Gunakan mesin Linux lokal, atau sediakan VM Linux dari penyedia cloud pilihan Anda. Untuk meningkatkan waktu build, sebaiknya gunakan minimal 16 core, dan lebih baik lagi jika menggunakan 32+ core.
Perhatikan bahwa kita akan memuat halaman HTML dari http://localhost:3000 mesin ini. Jika VM tidak menyediakan GUI, pastikan port 3000 dapat diakses oleh mesin lokal Anda sehingga Anda dapat terhubung ke VM tersebut.
2.2 Menginstal Docker
Kita menggunakan Docker untuk menjalankan layanan dan aplikasi pengujian lokal.
Kita akan menggunakan skrip praktis untuk menginstal Docker di lingkungan pengujian.
# Install Docker
> curl -fsSL https://get.docker.com -o get-docker.sh
> sudo sh get-docker.sh
# Set up sudo-less Docker
> sudo groupadd docker
> sudo usermod -aG docker $USER
> newgrp docker
# Test
> docker run hello-world
Peringatan: Dengan penyiapan tanpa sudo, grup Docker memberikan hak istimewa tingkat root kepada pengguna. Baca panduan Docker tanpa sudo untuk mempelajari lebih lanjut.
2.3 Mulai Aplikasi Pengujian Lokal pendamping
Aplikasi pendamping menyediakan resource seperti skrip bidding atau pemberian skor tiruan, dan endpoint BYOS K/V tiruan. Aplikasi harus dimulai sebelum menjalankan layanan B&A agar resource dapat dimuat ke dalam layanan.
Tarik ke bawah repositori Aplikasi Pengujian Lokal:
git clone https://github.com/privacysandbox/bidding-auction-local-testing-app.git
Dari root repositori, jalankan skrip penyiapan:
./setup
Skrip penyiapan akan membuat jaringan Docker ba-dev, membuat sertifikat SSL, dan membangun image aplikasi pengujian.
Setelah build berhasil, jalankan skrip start:
./start
3. Membangun dan menjalankan B&A secara lokal
3.1 Tarik turun Layanan B&A
Kita akan menjalankan dua set Layanan B&A di mesin yang sama, jadi kita akan menarik repositori ke dalam dua folder yang berbeda.
Set A:
Tarik repositori B&A:
git clone https://github.com/privacysandbox/bidding-auction-servers.git bidding-auction-servers-set-a
Set B
Tarik repositori B&A:
git clone https://github.com/privacysandbox/bidding-auction-servers.git bidding-auction-servers-set-b
`
3.2 Membangun layanan
Dari folder root setiap folder B&A, jalankan perintah berikut untuk membangun semua 4 layanan:
production/packaging/build_and_test_all_in_docker \
--service-path bidding_service \
--service-path auction_service \
--service-path buyer_frontend_service \
--service-path seller_frontend_service \
--platform gcp \
--instance local \
--no-precommit \
--no-tests \
--build-flavor non_prod \
--gcp-skip-image-upload
Perintah ini akan membuat instance local dari build pengembangan (non_prod) untuk Google Cloud (gcp) dari keempat layanan. Perbarui tanda --platform ke penyedia cloud pilihan Anda jika diperlukan. Untuk mempelajari lebih lanjut flag build, periksa file build_and_test_all_docker.
Build awal dapat memerlukan waktu 2 jam jika menggunakan komputer 64-core, dan waktu build akan diskalakan secara linear berdasarkan jumlah core. Jika Anda menggunakan mesin 32-core, prosesnya mungkin memerlukan waktu 4 jam. Jika Anda menggunakan mesin 16-core, proses ini dapat memakan waktu 8 jam.
Perhatikan bahwa build berikutnya menggunakan cache, dan setiap build akan memakan waktu sekitar 5-20 menit.
Dua programmer yang bermalas-malasan saat build sedang berjalan.
(Saya bertemu Randall Munroe dari xkcd saat menulis codelab ini, dan mengatakan kepadanya bahwa saya menambahkan komik ini di sini)
3.3 Menjalankan layanan
Untuk pengujian, kita akan menjalankan 8 layanan (4 layanan per stack). Setiap perintah disiapkan untuk menggunakan resource yang disediakan oleh Aplikasi Pengujian Lokal. Sebaiknya gunakan pengelola jendela seperti tmux.
Buka minimal 8 jendela terminal tambahan, dan jalankan perintah berikut di setiap sesi.
Perhatikan bahwa server Aplikasi Pengujian Lokal harus sudah berjalan dalam proses terpisah, karena skrip bidding dan pemberian skor akan ditayangkan oleh aplikasi.
3.3.1 Perintah Set A
Layanan | Perintah |
Layanan Bidding |
|
|
|
|
|
Layanan |
|
3.3.2 Perintah Set B
Layanan | Perintah |
Layanan Bidding |
|
|
|
|
|
Layanan |
|
3.3.2 Variabel lingkungan untuk skrip mulai lokal
Variabel lingkungan berikut dapat digunakan untuk mengontrol perilaku saat memulai.
Env var | Ketersediaan | Deskripsi |
| Semua layanan | Flag yang akan ditetapkan untuk perintah docker |
| Semua layanan | Saat melakukan pengujian di komputer lokal, Anda mungkin perlu menggunakan sertifikat yang ditandatangani sendiri yang gagal dalam pemeriksaan verifikasi peer SSL Default-nya adalah |
| Semua layanan | Tingkat log layanan. Level yang lebih tinggi memberikan lebih banyak log. 0 adalah yang terendah dan 10 adalah yang tertinggi. Default-nya adalah |
| Layanan Bidding | Port Layanan Bidding. Default-nya adalah |
| Layanan Bidding | URL logika bidding |
| Layanan Bidding | Egress data untuk pelatihan model |
| Layanan Bidding | Argumen untuk inferensi bidding |
| Layanan BFE | Port Layanan BFE. Default-nya adalah |
| Layanan BFE | Alamat K/V BYOS pembeli |
| Layanan BFE | Alamat TEE K/V pembeli |
| Layanan BFE | Alamat Layanan Penawaran Pembeli |
| Layanan Lelang | Port Layanan Lelang. Default-nya adalah |
| Layanan Lelang | URL logika pemberian skor |
| Layanan Lelang | URL pelaporan kemenangan pembeli |
| Layanan Lelang | Skrip pelaporan kemenangan pembeli |
| Layanan Lelang | Skrip pelaporan kemenangan pembeli untuk PAS |
| Layanan SFE | Port SFE Service. Default-nya adalah |
| Layanan SFE | Alamat Layanan Lelang Penjual |
| Layanan SFE | Alamat K/V BYOS penjual |
| Layanan SFE | Alamat TEE K/V penjual |
| Layanan SFE | Asal penjual |
| Layanan SFE | Alamat BFE pembeli |
4. Menguji dengan Pemanggilan Aman dari command line
4.1 Pengujian SFE
Anda juga dapat menggunakan alat Secure Invoke yang disertakan dalam paket B&A Services untuk memanggil layanan langsung dari command line.
4.1.2 Payload SelectAd SFE
Permintaan JSON berikut telah diisi dengan penyiapan lelang B&A penjual tunggal SSP-BA:
{
"auction_config": {
"seller": "https://localhost:6002",
"auction_signals": "{\"testKey\":\"someValue\"}",
"seller_signals": "{\"testKey\":\"someValue\"}",
"buyer_list": [
"https://localhost:5003",
"https://localhost:5004"
],
"per_buyer_config": {
"https://localhost:5003": { "buyer_signals": "{\"testKey\":\"someValue\"}" },
"https://localhost:5004": { "buyer_signals": "{\"testKey\":\"someValue\"}" }
}
},
"raw_protected_audience_input": {
"publisher_name": "http://localhost:4001",
"generation_id": "1210718540",
"enable_debug_reporting": true,
"raw_buyer_input": {
"https://localhost:5003": {
"interest_groups": [
{
"name": "dsp-x-demo",
"ad_render_ids": ["1234"],
"bidding_signals_keys": ["demo-key"],
"browser_signals": { "bid_count": "1", "join_count": "1", "prev_wins": "[]" },
"user_bidding_signals": "[1, 2, 3]"
}
]
},
"https://localhost:5004": {
"interest_groups": [
{
"name": "dsp-x-demo",
"ad_render_ids": ["1234"],
"bidding_signals_keys": ["demo-key"],
"browser_signals": { "bid_count": "1", "join_count": "1", "prev_wins": "[]" },
"user_bidding_signals": "[1, 2, 3]"
}
]
}
}
}
}
Simpan file sebagai sfe-test.json di folder root repositori Layanan B&A Set A(skrip build B&A akan menyalin file di folder root repositori ke folder /src/workspace image Docker).
4.1.2 Memanggil SFE dengan Pemanggilan Aman
Jalankan perintah berikut dari folder root repositori B&A Services:
DOCKER_NETWORK=ba-dev ./builders/tools/bazel-debian run //tools/secure_invoke:invoke \
-- \
-target_service=sfe \
-input_file=/src/workspace/sfe-test.json \
-host_addr=192.168.84.104:50053 \
-client_ip=192.168.84.100 \
-insecure=true
Jika stack B&A disiapkan dengan benar, Anda akan menerima respons berhasil berikut:
{"adRenderUrl":"https://localhost:5004/ad.html","interestGroupName":"dsp-x-demo","interestGroupOwner":"https://localhost:5004","score":39,"bid":39,"biddingGroups":{"https://localhost:5003":{"index":[0]},"https://localhost:5004":{"index":[0]}}}
4.2 Pengujian BFE
4.2.1 Permintaan GetBids BFE
{
"buyer_input": {
"interest_groups": {
"name": "dsp-x-demo",
"ad_render_ids": ["1234"],
"bidding_signals_keys": ["demo-key"],
"browser_signals": { "bid_count": "1", "join_count": "1", "prev_wins": "[]" }
}
},
"auction_signals": "{\"testKey\":\"someValue\"}",
"buyer_signals": "{\"testKey\":\"someValue\"}",
"seller": "https://localhost:6002",
"publisher_name": "http://localhost:4001",
"enable_debug_reporting": true,
"client_type": "CLIENT_TYPE_BROWSER"
}
Simpan file sebagai bfe-test.json di folder root repositori B&A Services.
4.2.2 Memanggil BFE dengan Pemanggilan Aman
Jalankan perintah berikut dari folder root repositori B&A Services:
DOCKER_NETWORK=ba-dev ./builders/tools/bazel-debian run //tools/secure_invoke:invoke \
-- \
-target_service=bfe \
-input_file="/src/workspace/bfe-test.json" \
-host_addr="192.168.84.102:50051" \
-client_ip=192.168.84.100 \
-insecure=true
Jika stack B&A disiapkan dengan benar, BFE akan menampilkan respons berikut:
{"bids":[{"bid":6,"render":"https://localhost:5003/ad.html","interestGroupName":"dsp-x-demo"}],"updateInterestGroupList":{}}
4.3 Memeriksa log SFE
Buka terminal dan periksa log SFE. Kita akan membahas beberapa log penting dalam output.
4.3.1 Payload terenkripsi permintaan SelectAd
Dalam output log SFE ini, kita menemukan payload terenkripsi dari panggilan navigator.getInterestGroupAdAuctionData(). Payload ini dibuat oleh browser, dikirim dari tag ke SAS, lalu SAS meneruskannya ke SFE:
I1210 21:20:47.266673 37 select_ad_reactor.cc:228] Protected auction ciphertext: AEAAIAABAAKg3OQSSLEBMR1MmJiwfOT8uef41iE+DQIvKUowsQvVcGbWZ+r17ff2r/iTbEnwqLPtpAxSTy77mi+cVV5cKjkKb4piaZnKiCDIMCyEvrQUD4+BG+HgrbUFhqiWPmQhNThvInMaHuYrXG7xushbRtvSPsVzEl6iBZcLZzD7W3CHMFK7bnJ+ufu52W6B7/8dOQ1gZW6SpwXMGNcrurTGoucbwbZRIPqCcbZk76J1gB69wrDYRo1wQ6jmBleLM36nulxbEj/sHhpQIgr895aKqEGQ3Fy+/HHPTO+zHphcX44YeF6mZ/I+WxZTDxCi1x27nI4yvzC8vI4a/giJN5XUlJZGb/fMrj3/Qly+gwJ8lbxdX+4GWTooDoS4MTtiBpJqh9wkIQ5XwfO54p8Kv6j/tk+51hOfVkOdtGwX0LvVrWT9PiJOJHa23nZ1fLg/22mTe05xdbR3WVeA+xiO9YwF4ozyCYDRUkDyWB/3k9RuaaT9H5S1szVpuOuD2nYSRpT9svmpfG4kipiS6BTPZPX2whDlukpuuoFgdiDtH6cFShNhZ5C47R0ayAvaZ1QSpOZMWfA6pdl4nhvNLpOKesKY/KFDEBzpUXRDsQWsfvmdqFl1mCeX9rOrEc9rodYVLXXhM8GPycehHmvqkccTBW6kipOQlmnSdIYaFmtWSFpUrzxajGkct3mZdTjVjOf...
4.3.2 Payload yang didekripsi
Dalam output ini, kita menemukan payload yang didekripsi dari panggilan navigator.getInterestGroupAdAuctionData():
I1210 21:20:47.267590 37 select_ad_reactor.cc:347] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) Decoded BuyerInput:
https://localhost:5003 : {interest_groups { name: "dsp-x-demo" bidding_signals_keys: "demo-key" browser_signals { join_count: 1 recency: 7 prev_wins: "[]" } }}
4.3.3 GetBids permintaan ke BFE
Permintaan GetBids dikirim dari SFE ke BFE:
I1210 21:20:47.267710 37 select_ad_reactor.cc:751] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) Getting bid from a BFE
I1210 21:20:47.267729 37 buyer_frontend_async_client.cc:52] Raw request:
buyer_input {
interest_groups {
name: "dsp-x-demo"
bidding_signals_keys: "demo-key"
browser_signals {
join_count: 1
recency: 7
prev_wins: "[]"
}
}
}
auction_signals: "{\"testKey\":\"someValue\"}"
buyer_signals: "{\"testKey\": \"someValue\"}"
seller: "https://localhost:6002"
publisher_name: "localhost"
enable_debug_reporting: true
log_context {
generation_id: "c2824bfc-d515-4a1a-9de9-7660ad963252"
}
client_type: CLIENT_TYPE_BROWSER
4.3.4 Respons GetBids dari BFE
BFE merespons dengan bid:
I1210 21:20:47.282549 41 select_ad_reactor.cc:856] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) Received response from a BFE ...
I1210 21:20:47.282552 41 select_ad_reactor.cc:859] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252)
GetBidsResponse:
bids {
bid: 9
render: "https://localhost:5003/ad.html"
interest_group_name: "dsp-x-demo"
}
update_interest_group_list {
}
4.3.5 Permintaan ScoreAds ke Layanan Lelang
Setelah bid diterima, panggilan ScoreAds dilakukan oleh SFE ke Layanan Lelang untuk setiap bid:
I1210 21:20:47.287898 18 select_ad_reactor.cc:1280] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) ScoreAdsRawRequest:
ad_bids {
bid: 9
render: "https://localhost:5003/ad.html"
interest_group_name: "dsp-x-demo"
interest_group_owner: "https://localhost:5003"
join_count: 1
k_anon_status: true
}
seller_signals: "{\"testKey\":\"someValue\"}"
auction_signals: "{\"testKey\":\"someValue\"}"
scoring_signals: "{\"renderUrls\":{\"https://localhost:5003/ad.html\":[1,2,3],\"https://localhost:5004/ad.html\":[1,2,3]}}"
publisher_hostname: "localhost"
enable_debug_reporting: true
log_context {
generation_id: "c2824bfc-d515-4a1a-9de9-7660ad963252"
}
per_buyer_signals {
key: "https://localhost:5003"
value: "{\"testKey\": \"someValue\"}"
}
per_buyer_signals {
key: "https://localhost:5004"
value: "{\"testKey\": \"someValue\"}"
}
seller: "https://localhost:6002"
4.3.6 Respons ScoreAds dari Layanan Lelang
Layanan Lelang Penjual merespons dengan skor keinginan:
I1210 21:20:47.298029 33 default_async_grpc_client.h:134] Decrypting the response ...
I1210 21:20:47.298100 33 default_async_grpc_client.h:152] Decryption/decoding of response succeeded: ad_score {
desirability: 9
render: "https://localhost:5003/ad.html"
interest_group_name: "dsp-x-demo"
buyer_bid: 9
interest_group_owner: "https://localhost:5003"
win_reporting_urls {
top_level_seller_reporting_urls {
}
}
ad_type: AD_TYPE_PROTECTED_AUDIENCE_AD
}
4.3.7 Respons SelectAd dari SFE
Respons SelectAd SFE dienkripsi dan dikirim ke SAS:
I1210 21:20:47.298428 33 select_ad_reactor.cc:1413] (generationId: c2824bfc-d515-4a1a-9de9-7660ad963252) Encrypted SelectAdResponse:
auction_result_ciphertext: "\023\233\252\321\000\331M\327\216\201S\332kl?\322\255\247\312\375h\007W\367\016\366FR\364\275\377\326\027h\204\203\265\t\271-\333\266\tH\342\033F\001k\211C\026V\013\271\255(\236\273\353\260\275\007\346\027\340?\005|\235S\244\265\2563U\246\322\177%\200/\3175\034 \020\024\362\345\3263\356F.s\261\005\231\262Z\000\330x\0230\335>\"\217\254\010\254\330>\206\007\274\235\037`\370W\032\207\356\367\206\026\341.i\"$\370\367\2554i\247\354\304e\306\2466S\337\321w\327+!\316\035:\002\231\246\362\366qm\211\000\013\343\345\224{\365py\361\374\316\202\217-\244\302\331\216D\025W#.\304nH\235\315\311<#\342\344\324\257\354\2441\251\312\320\226\342\021\377>3`\347/\350\254h\306\273\023\365\340@\321\2412\254\323\213\0137,\013n\220|\211\323/\030)\314\263\223\355>\254\312aa`!\375\335\023Z\234p\206\037\001\355\261{$\025+\341\275\327Ny\342\342\264=\376\2138\224\026\2058\251\020\202\245*46\023\307)K\342\364k<\2104r\247\034\216}\034\001\374\215\363\210\026\275\371S>\031;f.b\260\363\257.\255\023I\341A\237*_T\355\262\005\344L\336D%\327\267@\302$\300\340\203c\350|\337>C\275c\260\202o\315xp\260\257\241\305U\nK\033\274L6\025\350\373a:\253\212&>p\210\215\017&^\327\005_\037\020\212\362\351\341\231@g\372\0037\275b:)\207\303d\243?\261O\266\343\214\200\004\247\372\022S\326\200\037\330\252r\257+e\273[\231\202\3625{\330\213\240\370\245\\\214\350/\313\ty/\004\313\0304k\223\354\374\305\233\264\224K\344\241\251\322?\323q6\314D\027\200\203\035]\023O\306\230?\203\237:\254\305\265\332\330\2641l\322\020\022\330O-\242\207>Q\364_{F\235\353tk\207\035\205\005\221\373\207\0143\035\014\322\240H\220\347%\262f\347\017\352\273\265\231\014\204\r\312\254z\000\340&\354\222\323\245\356\217(i\246"
5. Menguji dengan Aplikasi Uji Lokal dari browser
5.1 Buka Chrome
Baca artikel Chromium tentang memulai Chrome dari command line, dan mulai dengan tanda berikut:
google-chrome --enable-privacy-sandbox-ads-apis --disable-features=EnforcePrivacySandboxAttestations,FledgeEnforceKAnonymity --enable-features=FledgeBiddingAndAuctionServerAPI,FledgeBiddingAndAuctionServer:FledgeBiddingAndAuctionKeyURL/https%3A%2F%2Fstorage.googleapis.com%2Fba-test-buyer%2Fcoordinator-test-key.json
Flag disetel untuk memuat kunci koordinator tiruan yang telah kami host di https://storage.googleapis.com/ba-test-buyer/coordinator-test-key.json
Penting: Pastikan Anda telah keluar sepenuhnya dari semua instance Chrome sebelum membukanya dari command line dengan tanda B&A. Untuk keluar dari semua proses Chrome, coba jalankan ps aux | grep -ie chrome/chrome | awk '{print $2}' | xargs kill -9 dari command line.
5.2 Membuka UI Aplikasi Pengujian Lokal
UI aplikasi dapat ditemukan di http://localhost:3000 di instance browser Chrome yang Anda buka dengan tanda. Alamat persis yang Anda kunjungi mungkin berbeda jika Anda menggunakan VM dengan nama host yang berbeda.
Screenshot aplikasi pengujian lokal yang dibuka di browser
Di baris atas aplikasi, panel "Kontrol" berisi tombol untuk menyimulasikan berbagai konfigurasi lelang. Dua panel lainnya berisi iframe dari situs pengiklan dan penayang.
Screenshot grup minat di Chrome DevTools.
Kemudian, klik tombol di panel "Kontrol" untuk menyimulasikan berbagai jenis lelang.

Jika Layanan B&A dan Aplikasi Pengujian Lokal disiapkan dengan benar, iklan sebelumnya akan dirender di panel "iframe situs Penayang".
5.3 Konfigurasi lelang Aplikasi Pengujian Lokal
Di aplikasi pengujian lokal pendamping, peserta berikut dihosting, yang dibedakan berdasarkan nomor port (port yang berbeda dianggap lintas origin):
Peserta | Deskripsi | Port |
Pengiklan | Memuat tag DSP di halaman |
|
Penerbit | Memuat tag SSP di halaman |
|
| Pembeli di perangkat |
|
| Pembeli di perangkat |
|
| Pembeli B&A |
|
| Pembeli B&A |
|
| Penjual tingkat atas |
|
| Penjual khusus di perangkat |
|
| Penjual khusus B&A |
|
| Penjual dengan mode campuran |
|
Ada empat DSP:
DSP-AdanDSP-Bberpartisipasi dalam lelang di perangkatDSP-XdanDSP-Yberpartisipasi dalam lelang B&A
Ada empat SSP, dan setiap penjual menjalankan konfigurasi lelang yang berbeda:
SSP-ODmenjalankan lelang khusus di perangkatSSP-BAmenjalankan lelang khusus B&ASSP-MIXmenjalankan lelang mode campuranSSP-TOPmenjalankan lelang multi-penjualSSP-OD/BA/MIXberpartisipasi sebagai penjual komponen dalam lelang multi-penjualSSP-TOP
Untuk arsitektur lengkapnya, lihat diagram desain.
5.4 Konfigurasi Layanan Bidding dan Lelang
Dalam codelab ini, kita menjalankan dua set B&A secara berdampingan.
Setel | Layanan | Peserta | Alamat jaringan |
Set A | Layanan Bidding |
|
|
Layanan BFE |
|
| |
Layanan Lelang |
|
| |
Layanan SFE |
|
| |
Set B | Layanan Bidding |
|
|
Layanan BFE |
|
| |
Layanan Lelang |
|
| |
Layanan SFE |
|
| |
Aplikasi | Aplikasi Pengujian Lokal | Semua |
|
- Di Set A, layanan pembeli digunakan oleh
DSP-Xdan layanan penjual digunakan olehSSP-BA - Di Set B, layanan pembeli digunakan oleh
DSP-Ydan layanan penjual digunakan olehSSP-MIX
Jaringan bridge Docker digunakan untuk berkomunikasi antara Aplikasi Pengujian Lokal dan Layanan B&A. Jaringan bridge ba-dev dibuat oleh skrip penyiapan Aplikasi Pengujian Lokal. Layanan B&A diberi alamat IP di subnet 192.168.84.0.
Misalnya, saat Anda memanggil SFE Set A dari aplikasi, alamat jaringan 192.168.84.104:50053 akan digunakan. Saat Anda memuat skrip bidding tiruan dari DSP-X ke BFE, https://192.168.84.100:5003/generate-bid.js digunakan.
6. Rangkuman
Sekarang, kami harap Anda telah memahami cara menjalankan stack Layanan B&A secara lokal di komputer Anda, dan mendapatkan pemahaman yang lebih baik tentang cara layanan berkomunikasi satu sama lain.
6.1. Dukungan teknis
- Jika Anda memiliki pertanyaan tentang penyiapan Aplikasi Pengujian Lokal, buka masalah di repositori LTA.
- Jika ada pertanyaan tentang Layanan Bidding dan Lelang, buka masalah di repositori Layanan B&A.
6.2 Pelajari lebih lanjut
- Pelajari lebih lanjut arsitektur B&A untuk web
- Pelajari lebih lanjut integrasi penjual dengan B&A untuk web