
Dil 🇹🇷 Türkçe
Arka Plan
Başlarken
Dağıtım
Mimari
Kurulum & Entegrasyon
Güvenlik İpuçları
FastComments'ı Şirket İçi Barındırma
FastComments dağıtım için birkaç çözüm sunar. En yaygın olanı uygulamayı sizin için barındırdığımız durumdur.
Ancak bazı müşterilerin bilgilerini bulutta depolayamayacağını ve tüm verilerini şirket içinde barındırmayı talep edebileceğini anlıyoruz.
Bu dokümantasyon bu kullanım senaryosunu kapsar.
Neler Dahil 
FastComments On Prem, canlı yorum çözümümüzü, tüm moderasyon ve yönetici araçları da dahil olmak üzere, kendi donanımınızda dağıtmanıza olanak tanır.
Bu, verileriniz üzerinde kontrol sahibi olduğunuz anlamına gelir ve yorum sistemi yerel LAN'ınıza veya kurumsal ağınıza kısıtlanabilir.
Nereden Başlanır 
FastComments On Prem dağıtımına başlamak için, bize ulaşın.
Kurulum tamamlandıktan sonra en son docker görüntüsünü her zaman lisanslama sayfasından indirebilirsiniz.
Örnekler 
Gerekli Bileşenler
On-Prem için FastComments sadece bir uygulama sunucusu ve bir veritabanından oluşur. Uygulamanın diğer bileşenleri eklemeden tüm trafiği doğrudan sunabilmesi için dağıtımı basitleştirdik.
Uygulama sunucusu bir Docker imajı olarak sağlanır ve herhangi bir konteyner yönetim çözümüyle dağıtılabilir.
Veritabanı, MongoDB, kendi başınıza çalıştırılabilir veya AWS DocumentDB veya MongoDB Atlas gibi başka bir sağlayıcı tarafından barındırılabilir.
FastComments şu anda MongoDB 7 ile test edilmiştir, ancak dağıtımı kolaylaştırmak için DocumentDB ile uyumlu olmayı hedefliyoruz.
Örnek Boyutları
FastComments'in oldukça iyi optimize edildiğini ve uygulamanın kendisi için düşük P99'ları korumak amacıyla büyük makinelere ihtiyaç duymadığını göreceksiniz.
Tüm toplu ve cron işleri toplam bellek kullanımını sınırlamak için streaming kullanır.
Aşağıdaki tablolar uygulama sunucusu ve veritabanı için boyutlandırmaya yardımcı olabilir.
Uygulama Sunucusu Örnekleri
| Eşzamanlı Kullanıcılar | Toplam Küme CPU'ları | Toplam Küme Belleği |
|---|---|---|
| 100 | 1 | 256mb |
| 1K | 2 | 512mb |
| 10K | 8 | 1gb |
| 100K | 32 | 8gb |
| 1M | 64 | 64gb |
Örneğin, saniyede yaklaşık 100 yorum dizisini sunan tek bir çekirdek genellikle 250mb RSS'den fazla kullanmaz.
Veritabanı Sunucusu Örnekleri
Veritabanının boyutlandırılması, belirli bir zamanda eriştiğiniz veri miktarı olan çalışma seti boyutuna ve eşzamanlı isteklere bağlıdır.
FastComments Mongo'ya karşı oldukça naziktir; hot sorgular için index hints, streaming cursors kullanır ve aşağı akış sistemlerin aşırı yüklenmesini önlemek için çeşitli alanlarda concurrency limits içerir.
Aşağıdakiler veritabanı örneği boyutları için genel bir kılavuz niteliğindedir. Bunun her bir örnek için olduğunu, kümedeki toplam kaynaklar olmadığını unutmayın.
| Eşzamanlı Kullanıcılar | Saklanan Yorumlar | Her Örnek İçin CPU'lar | Her Örnek İçin Bellek |
|---|---|---|---|
| 100 | 1k | 1 | 256mb |
| 1K | 5k | 2 | 512mb |
| 10K | 100k | 8 | 2gb |
| 100K | 500k | 16 | 8gb |
| 1M | 5M | 32 | 32gb |
Yukarıdaki tablolar muhafazakar tahminlerdir. Gerçek gereksinimlerin sayfa boyutları, yorum hacmi vb. gibi sizin belirli yapılandırmanıza bağlı olarak farklılık gösterebileceğini görebilirsiniz.
Yapılandırma 
FastComments, yapılandırma için çevre değişkenlerini (environment variables) kullanır. Aşağıdaki liste, On-Prem ile ilgili tüm desteklenen değişkenleri özetler.
| Variable | Default | Info | Required | Examples or Valid Values |
|---|---|---|---|---|
| NODE_ENV | Ortam türü. | Evet | production, dev | |
| MONGO_URI | DB Bağlantı URI'si. | Evet | ||
| MONGO_ENABLE_SSL | false | Veritabanına bağlanmak için SSL kullanmayı etkinleştirir. | Hayır | true, false |
| MONGO_ENABLE_SSL_VALIDATE | false | Mongo'ya bağlanırken sertifikayı CA'ya karşı doğrulamayı etkinleştirir. | Hayır | true, false |
| MONGO_SSL_CA | Mongo SSL CA pem dosyası. | Hayır | /path/to/some-cert.pem | |
| ADMIN_NOTIFICATIONS_EMAIL | Önemli sistemle ilgili bildirimlerin gönderileceği e-posta adresi. | Hayır | admin-group@bigcorp.com | |
| IP_HASH_SALT | IP adreslerini hashlemek için salt değeri. | Evet | ||
| SESSION_SECRET | Oturumları imzalamak için kullanılan anahtar. | Evet | ||
| SESSION_STORE_SECRET | Depolamada oturumları imzalamak/hashlemek için kullanılan anahtar. SESSION_SECRET'ten farklı olmalıdır. | Evet | ||
| HOSTNAME | FastComments'ın dağıtıldığı ana bilgisayar adı (admin paneli vb.). Port veya protokol içermemelidir. | Evet | example.com | |
| HOST_ADDR | FastComments'ın erişilebilir URI'si (admin paneli vb.). | Evet | https://example.com | |
| EMAIL_CONFIG_PATH | E-posta yapılandırmasının (SMTP, domain/sağlayıcı eşlemeleri vb.) bulunduğu yerel dosya sistemi yolu. | Evet | /my/config.json | |
| EMAIL_DEFAULT_FROM_NAME | FastComments Robot | E-posta "Gönderen Adı" (From Name) başlığı. | Hayır | My Company Name |
| EMAIL_DEFAULT_FOOTER_LOGO | /images/logo-32-2020-01.png | E-posta footer logosu. | Hayır | https://exmaple.com/footer.png |
| EMAIL_DEFAULT_TRANSPORT | EMAIL_CONFIG_PATH içindeki "defaultTransport" için override. Aynı yapılandırma dosyasını farklı ortamlara dağıtırken faydalıdır. | Hayır | myTransportName | |
| ON_PREM_TENANT_ID | fastcomments.com üzerindeki hesabınızın ID'si. Lisans anahtarınızı kaydetmek için kullanılır. | Hayır | ||
| ON_PREM_LICENSE_KEY | On-prem lisans anahtarı. | Hayır | ||
| GIPHY_API_KEY | Giphy API Anahtarı. Belirtilmemişse, gif seçiciyi devre dışı bırakan bir yapılandırma kuralı oluşturmalısınız. | Hayır | ||
| GIPHY_DEFAULT_RATING | pg | Giphy entegrasyonu için kullanılır. Widget özelleştirme kurallarıyla da override edilebilir. | Hayır | g, pg, pg-13, r |
| OPENAI_SECRET_KEY | GPT tabanlı isteğe bağlı spam tespiti gibi OpenAI destekli özellikler için kullanılır. | Hayır | ||
| CDN_HOST_ADDR | Varlıkların (assets) çekileceği ana bilgisayar adı. Varsayılan olarak HOSTNAME değerini kullanır. | Hayır | example.com | |
| LARGE_FILE_HOST_ADDR | Büyük dosyaların (ör. exportlar) çekileceği ana bilgisayar adı. Varsayılan olarak CDN_HOST_ADDR değerini kullanır. | Hayır | example.com | |
| LARGE_FILE_LOCATION_TYPE | local_disk | Exportlar gibi büyük dosyaların nerede saklanacağı. | Hayır | local_disk, s3 |
| FROM_EMAIL_HOST | E-postaların gönderileceği ana bilgisayar adı. | Hayır | example.com | |
| COOKIE_ID | fastcomments.sid | fastcomments çerezinin (cookie) adı. | Hayır | |
| COOKIE_HOSTNAME | .fastcomments.com | Çerezin "hostname" alanının değeri. Önek olarak nokta kullanılması önerilir. | Hayır | .example.com |
| S3_ACCESS_KEY | Kullanıcı dosya yüklemeleri, avatarlar vb. için kullanılır. Tanımsızsa varsayılan yerel dosya sistemi kullanılır. | Hayır | ||
| S3_SECRET_KEY | Kullanıcı dosya yüklemeleri, avatarlar vb. için kullanılır. | Hayır | ||
| S3_REGION | Kullanıcı dosya yüklemeleri, avatarlar vb. için kullanılır. | Hayır | ||
| S3_BUCKET | Kullanıcı dosya yüklemeleri, avatarlar vb. için kullanılır. | Hayır | ||
| S3_HOST | Kullanıcı dosya yüklemeleri, avatarlar vb. için kullanılır. | Hayır | ||
| CACHE_DIR | DB kullanılamadığında isteğe bağlı çevrimdışı önbelleği (offline cache) depolamak için konum. Periyodik olarak en popüler 100 yorum dizisi ile yenilenir. | Hayır | ||
| BACKUP_DIR | DB kullanılamadığında verileri saklamak için konum. DB kullanılamadığında gönderilen bir yorum buraya gider ve daha sonra işlenir. | Hayır |
Tüm alan adı (domain) ile ilgili değişkenlerin _HOST veya _ADDR son ekini (postfix) kullandığını unutmayın. Fark şu şekildedir:
_HOST:example.com_ADDR:https://example.com
EMAIL_CONFIG_PATH, aşağıdaki örnek formatına sahip bir JSON dosyasına giden bir yol içermelidir:

Yukarıdaki örnekte, mailgun adında varsayılan bir SMTP e-posta transportu tanımlıyoruz. Ayrıca özellikle @yahoo.com e-postaları için kullandığımız özel bir transport tanımlıyoruz. Bazı senaryolarda teslimatı ayarlamak için bir alan adı için belirli bir sağlayıcıya veya gönderim IP'sine (sending IP) özel olarak yönlendirme yapmak istenebilir. Bu isteğe bağlıdır.
DocumentDB
DocumentDB'ye bağlanırken, varsayılan ayarlarla uyumlu olması için MONGO_ENABLE_SSL=true MONGO_SSL_CA=/some/path.pem belirtmek istersiniz.
Veritabanı Kesintisi ve Bakım Modu 
FastComments otomatik bir bakım modunu destekler. Veritabanı çökerse, popüler yorum dizilerini sunmaya devam edebilir.
Ayrıca bakım modunda tüm yorumlar BACKUP_DIR'ye kaydedilir. Sistem tekrar çevrimiçi olduğunda işlenecekler (spam kontrolü vb.) ve kaydedilecekler.
Bunu, her saat en popüler 100 yorum dizisini belirleyip içeriklerini diskte önbelleğe alarak yapar. En popüler 100 dizinin belirlenmesi önceden hesaplanmış durumdan yapıldığından, ağır bir periyodik iş değildir.
Bu tamamen isteğe bağlıdır ve yalnızca CACHE_DIR ve BACKUP_DIR ayarlıysa etkinleştirilir. Bu elbette uygulama düğümlerini durumlu hale getirir, ancak bu durum
uygulamanın hatalı davranmasına neden olmadan her zaman kaybolabilir.
Bakım modunda yorum dizilerinin uygun şekilde kimlik doğrulaması yapılamayacağını unutmayın; bu nedenle yalnızca güvenle genel kabul edilen diziler periyodik olarak yedeklenir.
Bakım modunda birçok özellik kullanılamaz.
Kilitler 
Her dağıtık sistemde olduğu gibi FastComments'in kaynakları ve prosedürleri kilitlemek için bir yönteme ihtiyacı vardır. Bu kilitler /locks-in-progress uç noktası üzerinden izlenebilir.
Örneğin, işte ABD shard'ımızdaki uç nokta.
Bu, sistemin takılmasının veya yüksek yük altında olmasının nedenini görmek için faydalı olabilir. Eğer bir SRE, sistemin yüksek CPU yükü yaşamasının nedenini görmek isterse, bu uç noktayı kontrol ederek hatalı davranan cron'un adını öğrenebilir.
Widget Kodu 
The front end code snippets and libraries for On-Prem are the same as the SaaS product. However, you must specify apiHost and the correct script path:

The above is a very simple example. We could also use the 1st-party React, Angular, Vue, Svelte, etc, libraries.
API 
API, normal SaaS ürünüyle aynı şekilde erişilebilir; On-Prem kontrol paneline giriş yaparak API anahtarları oluşturur ve bu anahtarları API'ye erişmek için kullanırsınız. API uç noktaları on-prem, SaaS ürünü için olanlarla aynıdır.
Birden Fazla Alan Adı 
On-Prem FastComments kurulumunuz, örneğin app.mycorp.org ve hr.mycorp.org gibi birden fazla dahili domaine yorum sağlayabilir. Bunları yapılandırabilirsiniz
ayrı ayrı ancak bunların bireysel davranışlarını yapılandırmak için ayrı Customization Rules oluşturarak bunları tek bir On-Prem kurulumu üzerinde barındırabilirsiniz.
Güvenlik 
Varsayılan olarak FastComments yorum dizilerinin herkese açık olduğunu varsayar. Bir güvenlik katmanı eklemek için, Requires SSO seçeneği işaretli olacak şekilde bir Özelleştirme Kuralı oluşturmanız önerilir. Bu, tüm yorumla ilgili uç noktaların SSO kimlik doğrulaması gerektirmesine neden olur.
Sonuç
On Prem belgelerinin sonuna ulaştınız. Aşağıda başka yorumlarınız veya sorularınız varsa bize bildirin - ayrıca bize Destek Sayfası aracılığıyla da ulaşabilirsiniz.