Tüm Ürünler
Search
Belge Merkezi

Function Compute:Principles

Son Güncelleme:Oct 08, 2026

Özel bir çalışma zamanında kod paketiniz (ZIP biçimi) bir HTTP sunucu programıdır. Function Compute soğuk başlatma sırasında bu HTTP sunucuyu başlatır ve gelen tüm istekleri bunun üzerinden yönlendirir.

Çalışma Prensibi

Function Compute soğuk başlatma yaptığında, yapılandırdığınız Startup Command ve Startup Parameter değerlerini kullanarak HTTP sunucunuzu başlatır. Ardından HTTP sunucusu, Function Compute'den gelen tüm istekleri devralır.

Bir başlatma komutu veya parametresi yapılandırmazsanız Function Compute HTTP sunucuyu varsayılan olarak /code/bootstrap konumundan başlatır.

Soğuk başlatma iki aşamada tamamlanır:

  1. Platform hazırlığı — Function Compute yürütme ortamını başlatır ve kodunuzu çalıştırmaya hazırlanır.

  2. HTTP sunucu başlatma — Function Compute başlatma komutunuzu çalıştırır. HTTP sunucusunun 120 saniye içinde hazır olması gerekir.

Başlatma komutunu yapılandırın

Başlatma komutu customRuntimeConfig bölümünde tanımlanır:

Alan Açıklama
command Çalıştırılacak yürütülebilir dosya
args Yürütülebilir dosyaya geçirilen bağımsız değişkenler

Function Compute tam başlatma komutunu oluşturmak için command ve args değerlerini birleştirir.

Kod paketinizin adının function.zip olduğunu varsayalım. Aşağıdaki örneklerde her bir çalışma zamanı için paket yapısı ve ilgili customRuntimeConfig yapılandırması gösterilmektedir.

Java 8 veya Spring Boot

.
└── demo.jar
customRuntimeConfig:
  command:
    - java
  args:
    - '-jar'
    - 'demo.jar'

Python 3.7

.
└── server.py
customRuntimeConfig:
  command:
    - python
  args:
    - 'server.py'

Node.js 10

.
└── server.js
customRuntimeConfig:
  command:
    - node
  args:
    - 'server.js'

PHP 7.4

.
└── server.php
customRuntimeConfig:
  command:
    - php
  args:
    - 'server.php'

HTTP sunucu gereksinimleri

HTTP sunucunuz aşağıdaki gereksinimleri karşılayacak şekilde yapılandırılmalıdır. Bu gereksinimlerden herhangi birinin ihlal edilmesi Function Compute'un bağlantıyı reddetmesine veya başarısız olmasına neden olur.

Gereksinim Ayrıntılar İhlal edilirse oluşan hata
Doğru adrese bağlanın 0.0.0.0:CAPort veya *:CAPort adresini dinleyin. 127.0.0.1:CAPort kullanmayın. FunctionNotStarted — bağlantı reddedildi
Yapılandırılan bağlantı noktasıyla eşleşin Sunucunun dinleme bağlantı noktası işlev yapılandırmalarınızdaki CAPort değeriyle eşleşmelidir. Varsayılan değer 9000 değeridir. Farklı bir bağlantı noktası (örneğin 8080) kullanmak için işlev yapılandırmalarınızda CAPort değerini 8080 olarak ayarlayın. FunctionNotStarted — ping başarısız oldu
Keep-alive özelliğini etkinleştirin Keep-alive modunu etkinleştirin ve bağlantı zaman aşımını en az 24 saat (maksimum işlev çalıştırma süresi) olarak ayarlayın. Bağlantılar çalıştırma sırasında kesilir
120 saniye içinde başlayın HTTP sunucusu başlatıldıktan sonra 120 saniye içinde bağlantıları kabul etmeye hazır olmalıdır. Başlatma başarısız olur

Örnek: keep-alive yapılandırması (Express ile Node.js)

const server = app.listen(PORT, HOST);
server.timeout = 0;          // never timeout
server.keepAliveTimeout = 0; // keep-alive, never timeout

Hata referansı: 127.0.0.1 adresine bağlanma

HTTP sunucusu 0.0.0.0 yerine 127.0.0.1 adresini dinlerse Function Compute sunucuya ulaşamaz ve aşağıdaki hatayı döndürür:

{
  "ErrorCode": "FunctionNotStarted",
  "ErrorMessage": "TheCA'shttpservercannotbestarted:ContainerStartDuration:25000000000.PingCAfaileddueto:dialtcp21.0.XX.XX:9000:getsockopt:connectionrefusedLogs:2019-11-29T09:53:30.859837462ZListeningonport9000"
}