Biasanya, layanan memanggil layanan lain ketika mereka perlu mengakses data mereka. Setiap bagian data harus dimiliki oleh layanan tertentu yang akan menjadi satu-satunya titik masuk untuk mengakses data ini dan memodifikasinya. Beberapa layanan akan sederhana dan biasanya terkait erat dengan model domain Anda (misalnya layanan untuk menangani pengguna) sementara yang lain akan tingkat tinggi dan menggunakan data dari layanan lain (misalnya menampilkan daftar foto bersama dengan informasi tentang pengguna yang mengunggahnya) ).
Dalam kasus penggunaan Anda, Anda harus mulai dari luar dan memikirkan operasi apa yang ingin Anda sediakan untuk pengguna Anda melalui API (jika itu adalah layanan backend) atau operasi apa yang harus tersedia di GUI jika itu adalah aplikasi web. Perhatikan bahwa bagian GUI sering merupakan aplikasi reguler dengan pengontrolnya sendiri: operasi dapat dipanggil melalui REST (seperti di AngularJS), tetapi titik akhir ini hanya dirancang untuk penggunaan aplikasi GUI dan bukan layanan mikro dalam akal sehat.
Misalkan Anda ingin menampilkan foto bersama dengan informasi tentang pengunggah. Anda dapat memiliki layanan pengguna yang mengembalikan informasi tentang pengguna yang diberikan ID pengguna dan layanan foto yang dapat membuat daftar foto (misalnya dengan mencari berdasarkan beberapa kriteria). Daftar foto akan berisi untuk setiap foto ID dari pengguna yang mengunggah. Dengan cara ini kedua layanan ini tidak digabungkan - layanan foto hanya mengetahui tentang ID pengguna tetapi tidak mengetahui data pengguna itu sendiri. Di atas kedua layanan ini, Anda dapat membuat layanan ketiga dengan operasi seperti "daftar foto dengan informasi tentang pengunggah" yang akan memanggil dua layanan lainnya dan menggabungkan data yang mereka kembalikan. Atau, operasi ini dapat dilakukan oleh aplikasi web Anda, bukan layanan.