İki hizmetim varsa, her biri için her biri için tanımlanmış uç noktalara sahip çeşitli işlevlere sahip olan 'Kullanıcılar' ve 'Ürünler', bunları yapabilmeleri mümkündür. Bir kod tabanında (açıklık için) ayrı olarak organize edilmeli, ancak bir kez dağıtıldığında aynı API temel URL'sini paylaşır mısınız?Sunucusuz Çerçeve - Bir APIGW bitiş noktası altında iki hizmet
/src
-- /users
---- event.json
---- handler.js
---- serverless.yml
-- /products
---- event.json
---- handler.js
---- serverless.yml
ve benim src/users/serverless.yml
tanımlanan aşağıdaki vardır:
functions:
create:
handler: handler.create
events:
- http: POST user
read:
handler: handler.read
events:
- http: GET user
ve benim src/products/serverless.yml
'ürünlere' için temelde aynı şey, sadece takas 'kullanıcı' vardır Örneğin, ben şu yapıya sahip düşünün .
Halen bu hizmetlerin her ikisi de bu hizmetler konuşlandırılacak olması mümkün olacağını belirgin bir şekilde farklıdır API uç noktaları bir URL'ye https://fghijklmnop.execute-api...
ile diğeri https://abcdevwxyz.execute-api....
Benim sorum bir URL ile başka, dağıtılabilir ancak kalır edilecek Tek bir URL ile tek bir URL altında (bu nedenle her ikisi de https://abcdevwxyz.execute-api....
URL'si altında sunulur)?
Cevabın "Hayır, çünkü Bulut Oluşumu ..." olduğunu varsayardım, ama burada tartışmayı basitçe tartışma uğruna yayınlayacağımı ve bina sunucusuz uygulamalar konusunda kendi anlayışımıma yardımcı olabileceğimi düşündüm.
the answer here uyarınca Özel Etki Alanları'nı kullanmanın farkındayım, ancak daha hızlı bir geliştirme döngüsü için bu gerçekten ideal bir çözüm değildir.
Şimdiye kadar yaptığım tek çözüm, API'mn ihtiyaç duyacağı tüm uç noktaları içerecek olan ve yalnızca daha önce yapılandırılmış uç noktalardan ziyade doğrudan Lambda işlevlerini doğrudan çağırması gereken "api" adlı bir hizmet oluşturmak olacaktır. Gerçekten bir soyutlama katmanı olurdu, ancak benim uygulama için potansiyel olarak gereksiz katmanları ekleyin. Yine, toplumun bu konuda ne hissettiğini görmek merak ediyorum.
Bu doğrudur, ancak bu hizmetler sıkı bir şekilde birleştirilir ve her zaman birlikte dağıtılmalı ve birlikte yönetilmelidir. Hizmetlerin ayrı bir şekilde ayrı tutulmasını istiyorsanız (ancak bir API katmanı yoluyla bağlanmışsa), bu işe yaramıyor. Servis adı aynı olmalıdır, örneğin. –