Kong, genişletilebilir açık kaynaklı bir API katmanıdır (API gateway veya API middleware olarak da bilinir). Kong, herhangi bir RESTful API'nin üzerinde çalışır ve eklentilerle genişletilir; ana platformun ötesinde ek özellikler ve hizmetler sunarlar.
Kong, başlangıçta Mashape'de API Marketplace için 15.000'den fazla API ve mikroservis sağlamak ve 200.000'den fazla geliştirici için aylık milyarlarca talep üretmek amacıyla kurulmuştur. Günümüzde Kong, hem küçük hem de büyük kuruluşlar için kritik görev amaçlı dağıtımlarda kullanılmaktadır
En son sürüm: 0.14.1
Resmi Web Sitesi:Bağlantı girişi görünür.
GitHub:Bağlantı girişi görünür.
Kong eklentisi giriş adresi:Bağlantı girişi görünür.
Kong ile ilgili belge adresi:Bağlantı girişi görünür.
KongTopluluk ve Kurumsal baskılar, ikisi arasındaki fark:Bağlantı girişi görünür.
Kong, veri deposu olarak PostgreSQL 9.5+ ve Cassandra 3.xx işletim sistemini destekliyor.
PostgreSQL yüklendim ve eğitim programı şöyle:
Bu makale, kurulum ve dağıtım için Kong Community Edition'ı örnek olarak kullanmaktadır
İndir Paketi:
Kurulum:
Versiyonu kontrol edin
veya
Bir profil oluşturun:
Konfigürasyonun uygunsaTüm değerler yorumlanmıştır, Kong varsayılan ayarlarla çalışacak. Başlatıldığında, Kong yapılandırma dosyasını barındırabilecek birkaç varsayılan konumu arar:
/etc/kong/kong.conf
/etc/kong.conf Kong şablon dizini, /usr/local/share/lua/5.1/kong/templates altında yer alır ve aşağıdaki üç dosyayı içerir
kong_defaults.lua nginx.lua nginx_kong.lua /etc/kong/kong.conf yapılandırma dosyasını değiştirin, yorumları iptal edin ve gerçek durumunuza göre değiştirin
Veritabanını başlatın
başlatmak
Veritabanını başlatırken ve kong'u başlatırken, yapılandırma dosyasını [-c /path/to/kong.conf] parametresiyle belirtebilirsiniz.
Kong başladıktan sonra biri 8000, diğeri 8001 olur ve 80000 portu istek giriş portu olur; kullanıcı isteği önce Kong projesinin 8000 portuna gönderir ve kong bunu yapılandırma kurallarına göre gerçek arka plan hizmet adresine iletir. 8001 portu yönetim portudur ve eklenti ayarları, API eklemeleri, silmeler, değişiklikler ve yük dengeleme gibi bir dizi yapılandırma 8001 portu üzerinden yönetilir.
Tarayıcı erişim IP: 8000, aşağıdaki sonuçları döndürür:
{"message":"bu değerlerle rota ve API bulunmadı"}
Kong Admin Management Interface (Dış ağ erişilemezse, bağlanma yapılandırmasını genel ağ erişimine izin verecek şekilde değiştirebilirsiniz)
{"plugins":{"enabled_in_cluster":[],"available_on_server":{"response-transformer":true,"oauth2":true,"acl":true,"correlation-id":true,"pre-function":true,"jwt":true," cors":true,"ip-restriction":true,"basic-auth":true,"key-auth":true,"rate-limiting":true,"request-transformer":true,"http-log":true,"file-log":true,"hmac-auth":true," ldap-auth":true,"datadog":true,"tcp-log":true,"zipkin":true,"post-function":true,"request-size-limiting":true,"bot-detection":true,"syslog":true,"loggly":true," azure-functions":true,"udp-log":true,"response-ratelimiting":true,"aws-lambda":true,"statsd":true,"prometheus":true,"request-termination":true}},"tagline":"Hoş geldiniz kong","configuration":{"plugins":["bundled"],"admin_ssl_enabled":true,"lua_ssl_verify_depth":1,"trusted_ips":{},"prefix":"\/usr\/local\/kong","loaded_plugins":{" response-transformer":true,"request-termination":true,"prometheus":true,"ip-restriction":true,"pre-function":true,"jwt":true,"cors":true,"statsd":true,"basic-auth": true,"key-auth":true,"ldap-auth":true,"aws-lambda":true,"http-log":true,"response-ratelimiting":true,"hmac-auth":true,"request-size-limiting":true,"datadog":true," tcp-log":true,"zipkin":true,"post-function":true,"bot-detection":true,"acl":true,"loggly":true,"syslog":true,"Azure-functions"::true,"udp-log":true,"file-log":true," request-transformer":true,"correlation-id":true,"rate-limiting":true,"oauth2":true},"cassandra_username":"kong","admin_ssl_cert_csr_default":"\/usr\/local\/kong\/ssl\/ admin-kong-default.csr","ssl_cert_key":"\/usr\/local\/kong\/ssl\/kong-default.key","admin_ssl_cert_key":"\/usr\/local\/kong\/ssl\/admin-kong-default.key","dns_ resolver":{},"pg_user":"kong","mem_cache_size":"128m","cassandra_data_centers":["dc1:2","dc2:3"],"nginx_admin_directives":{},"custom_plugins":{},"pg_host":"127.0.0.1" ,"nginx_acc_logs":"\/usr\/local\/kong\/logs\/access.log","proxy_listen":["0.0.0.0:8000","0.0.0.0:8443 ssl"],"client_ssl_cert_default":"\/usr\/local\/kong\/ssl\/ kong-default.crt","ssl_cert_key_default":"\/usr\/local\/kong\/ssl\/kong-default.key","dns_no_sync":false,"db_update_propagation":0,"nginx_err_logs":"\/usr\/local\/ kong\/logs\/error.log","cassandra_port":9042,"dns_order":["LAST","SRV","A","CNAME"],"dns_error_ttl":1,"headers":["server_tokens","latency_tokens"],"dns_stale_ttl":4," nginx_optimizations":true,"database":"postgres","pg_database":"kong","nginx_worker_processes":"auto","lua_package_cpath":""admin_acc_logs":"\/usr\/local\/kong\/logs\/ admin_access.log","lua_package_path":".\/?. lua;.\/?\/init.lua; ","nginx_pid":"\/usr\/local\/kong\/pids\/nginx.pid","upstream_keepalive":60,"cassandra_contact_points":["127.0.0.1"],"admin_access_log":"logs\/admin_access.log"," client_ssl_cert_csr_default":"\/usr\/local\/kong\/ssl\/kong-default.csr","proxy_listeners":[{"ssl":false,"ip":"0.0.0.0","proxy_protocol":false,"port":8000,"http2": false,"listener":"0.0.0.0:8000"},{"ssl":true,"ip":"0.0.0.0","proxy_protocol":false,"port":8443,"http2":false,"listener":"0.0.0.0:8443 ssl"}],"proxy_ssl_enabled":true," pg_password":"******","cassandra_ssl":false,"enabled_headers":{"latency_tokens":true,"X-Kong-Proxy-Latency":true,"Via":true,"server_tokens":true,"Sunucu":true," X-Kong-Upstream-Latency":true,"X-Kong-Upstream-Status":false},"ssl_cert_csr_default":"\/usr\/local\/kong\/ssl\/kong-default.csr","client_ssl":false,"db_resurrect_ttl" :30,"error_default_type":"text\/plain","cassandra_consistency":"ONE","client_max_body_size":"0","admin_error_log":"logs\/error.log","pg_ssl_verify":false,"dns_not_ found_ttl":30,"pg_ssl":false,"db_update_frequency":5,"ssl_ciphers":"ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256","cassandra_repl_strategy":"SimpleStrategy","cassandra_repl_factor":1,"log_level":"notice","admin_ssl_cert":"\/usr\/local\/kong\/ssl\/ admin-kong-default.crt","real_ip_header":"X-Real-IP","kong_env":"\/usr\/local\/kong\/.kong_env","cassandra_schema_consensus_timeout":10000,"dns_hostsfile":"\/etc\/ hosts","admin_listeners":[{"ssl":false,"ip":"127.0.0.1","proxy_protocol":false,"port":8001,"http2":false,"listener":"127.0.0.1:8001"},{"ssl":true,"ip":"127.0.0.1"," proxy_protocol":false,"port":8444,"http2":false,"listener":"127.0.0.1:844 ssl"}],"cassandra_timeout":5000,"ssl_cert":"\/usr\/local\/kong\/ssl\/kong-default.crt"," proxy_access_log":"logs\/access.log","admin_ssl_cert_key_default":"\/usr\/local\/kong\/ssl\/admin-kong-default.key","cassandra_ssl_verify":false,"ssl_cipher_suite":" modern","cassandra_lb_policy":"RoundRobin","real_ip_recursive":"off","proxy_error_log":"logs\/error.log","client_ssl_cert_key_default":"\/usr\/local\/kong\/ssl\/ kong-default.key","nginx_daemon":"on","anonymous_reports":true,"db_cache_ttl":0,"nginx_proxy_directives":{},"pg_port":5432,"nginx_kong_conf":"\/usr\/local\/kong\/ nginx-kong.conf","client_body_buffer_size":"8k","lua_socket_pool_size":30,"admin_ssl_cert_default":"\/usr\/local\/kong\/ssl\/admin-kong-default.crt","nginx_http_ direktörler":[{"value":"prometheus_metrics 5m","name":"lua_shared_dict"}],"cassandra_keyspace":"kong","ssl_cert_default":"\/usr\/local\/kong\/ssl\/kong-default.crt"," nginx_conf":"\/usr\/local\/kong\/nginx.conf","admin_listen":["127.0.0.1:8001","127.0.0.1:8444 ssl"]},"version":"0.14.1","node_id":"23886866-845c-450b-9e9d-4b74b5267eb9 ","lua_version":"LuaJIT 2.1.0-beta3","prng_seeds":{"pid: 30380":521312001726},"timers":{"pending":5,"running":0},"hostname":"VM_0_9_centos"}
Küresel parametreler
Yani, tüm komutlar aşağıdaki parametrelerle eklenebilir
--yardım yardım komutu
--v Detay modunu aç
--vv hata ayıklama modunu açmak için
Komut satırı
Kong Çeki
kong.conf'un geçerliliğini kontrol edin
Kullanım: kong çeki [conf] [conf] (Varsayılan kontrol /etc/kong.conf veya /etc/kong/kong.conf)
Kong Prepare
Kong'un ön klasörlerini, alt klasörlerini ve dosyalarını hazırlayın--- Dürüst olmak gerekirse, bu komutun ne için olduğunu bilmiyorum, zaten kullanmadım
Kong Health
Kong düğümünün sağlığını kontrol edin
Kong göçleri
Kong veritabanını yönet
Referans makaleler:
Kong yapılandırma belgesi:https://docs.konghq.com/0.14.x/configuration/ Kong CLI Komutası:https://docs.konghq.com/0.14.x/cli/
|