FastComments.com


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 Internal Link

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.


Örnekler Internal Link

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 Internal Link

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:

E-posta Yapılandırması
Copy Copy
1
2{
3 "defaultDKIM": {
4 "domainName": "mycompany.org",
5 "keySelector": "2024",
6 "privateKey": "-----BEGIN PRIVATE KEY-----\nABCDEFG\n-----END PRIVATE KEY-----"
7 },
8 "providerTransports": {
9 "yahoo.com": "specialTransport"
10 },
11 "defaultTransport": "mailgun",
12 "transports": {
13 "mailgun": {
14 "host": "smtp.mailgun.org",
15 "port": 587,
16 "secure": false,
17 "auth": {
18 "user": "admin@somewhere.com",
19 "pass": "password"
20 },
21 "tls": {
22 "ciphers": "SSLv3"
23 }
24 },
25 "specialTransport": {
26 "host": "smtp.someplace.org",
27 "port": 587,
28 "secure": false,
29 "auth": {
30 "user": "admin@example.com",
31 "pass": "password"
32 },
33 "tls": {
34 "ciphers": "SSLv3"
35 }
36 }
37 }
38}
39

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 Internal Link

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.

Widget Kodu Internal Link

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:

On-Prem İçin Yorum Kodu
Copy Copy
1
2<script src="https://my.host.com/js/embed-v2.min.js"></script>
3<div id="fastcomments-widget"></div>
4<script>
5 FastCommentsUI(document.getElementById('fastcomments-widget'), {
6 tenantId: "demo",
7 apiHost: "https://my.host.com"
8 // ... ayrıca SSO payload vb. de geçebilirsiniz.
9 });
10</script>
11

The above is a very simple example. We could also use the 1st-party React, Angular, Vue, Svelte, etc, libraries.


API Internal Link

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ı Internal Link

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 Internal Link

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.