Uygulama
Geleneksel monomer uygulamalarının organizasyonel maç ve teknik taşıma kapasitesi, tek bir ürün hattı + monoyapıdan çok ürün çizgisine + çoklu-team geliştirme aşamasına kadar önemli ölçüde azaltılabilir.Dağıtım döngüsü, regresyon testlerinin maliyetlerinin daha yüksek olması, küçük değişiklikler için tüm uygulama için yeniden yazılması gerekir.Bu sinyaller mikro hizmet yapıların tanıtılmasının artık “over-serv” olmadığını, ancak ekipler tarafından verimli teslimat için gerekli bir koşul olmadığını öne sürmektedir.
Tipik dönüm noktası sinyalleri şunları içerir: Uygulama, sadece bir aydan fazla hareket eder, ancak tek kişi aynı salıverme ritmini korumak için modüller yapar; farklı iş modüllerindeki değişikliklerdeki değişikliklerde önemli değişiklikler (core işlem modülleri bir kez güncellenir ve bir hafta ve arka ofis yönetim modülleri muhtemelen uygulamadaki hataları yavaşlatabilir), ancak tek kişi tüm modüller aynı salıverme ritmini korumak için aynı kod depoda işbirliği yapar; birden fazla gelişim ekipleri aynı kod depoda çatışmaları konsolide eder ve takım büyüklüğü indeksinin büyümesiyle risk döndürür.
Burada açıklanan senaryolar, yüksek işletme geliştirme oranları ile işletmelere, çok-team işbirliğine, sistem dayanıklılığı ve verimli teslimat için yüksek taleplere uygulanır.ZhiHua TechBelirli müşteri verilerini temsil etmemek için yapılandırılmış danışmanlıktan tam mikro hizmet dönüşümü hizmetlerini sağlayın.
Tipik operasyonel zorluklar
1. Tek form yapılarda tek kullanımlık şişe şişeler
- Bir darbeyi serbest bırak:30 geliştiricileri bir kod deposu ve CI/CD akış hattı paylaşıyor. kodların herhangi bir kombinasyonu diğerlerinin serbest bırakılmasını engelleyebilir. Urgent Fixes for a ödeme Bug, bu 5 MR'nin önceki geri dönüşleri tamamlandıktan sonra beklemek zorunda kalacak ve test tamamlandı - bu MRs ödeme modülü ile hiçbir ilgisi yok.
- Test patlamaları.: Tek bir uygulama için regresyon testi aralığı "tam uygulama" ile ilgilidir. SQL sadece bir sorgu arayüzü ile değiştirilmiş olsa da, tam son test paketini çalıştırmak için 40 dakika gerekir. Test geri bildirim döngüsü uzunluğu yavaş yavaştır.
- Teknik LockTüm uygulama bir teknoloji deposuna bağlıdır ( Java 8+ Bahar gibi), Go veya Node.js için daha uygun olan yeni bir iş senaryosu, ancak yeni bir dilin tanıtımı, dağıtım ve izleme sistemi anlamına gelir ve takımlar genellikle "iş birlikte çalışmayı" seçerler.
2. Kompleksi dağıtım yoluyla ortaya çıktı
- Ağ güvenilmez.: Tek kişilik bir yöntem tarafından çağrılmaktadır ve mikro hizmetler ağla bağlantılıdır. Ağlar aşırı zaman, paketsiz, bölmeli - tek bir kişinin mikro hizmet yapıları altında rutin değildir. makul zaman olmadan, tekrar test ve stratejileri, bir domino gibi bir hizmet vibrates.
- Data tutarlılıkACID tek kaynaklanmış veritabanı hizmetleri için temeldir. Mikro hizmet altında her hizmet kendi veritabanına sahiptir ve çapraz hizmet işlemleri (aşağıdaki hizmet + envanter servisi + ödeme hizmeti) Saga veya TCC gibi dağıtık servis programları için temel olmalıdır - Bu değişim "iş tamamlama" için her adım için mümkündür - bir takım için en zor eşiği geçmek için.
- Debugging ve DeterrenceBir istek 5-8 mikro hizmetle geçebilir. Bir kullanıcı bir "düşün sipariş başarısız" yayınlandığında, bir ağ geçidinden tam bir çağrı zincirine, sipariş servisi loga, envanter servisi loga, ödeme servisi loga, dağıtılmış bir takip olmadan (e. Jaeger, SkyWalking) dağıtmanız gerekir.
3. altyapı ve mobilite eksikliği
- Konteynerizasyon ve OrganizasyonMikro hizmetler konteyner dağıtım için doğaldır, ancak Kubernetler kendi kendine dik bir öğrenme eğrisi vardır. Pod Network, Service Discovery, Ingress Route, ConfigMap, Secret Management, HPA Resilient sprawl - geleneksel takımlar için sıfır olan kavramlar.
- CI/CD KompleksiBir akış çizgisinden N (her hizmet için bir), ayna inşaatı, itme, dağıtım, rollback standartlaştırma gerektirir. üniformalı bir akış çizgisi ve ürün yönetimi olmadan, teslimat sürecinin parçalanması ayrı takımlar tarafından neden olabilir.
- ObservabilityLogging, göstergeler ve takip - üç sütun bir tanesidir. Mikro hizmet yapıları altında, sütunlardan herhangi birinin yokluğu, eskiliğe ulaşma yeteneğinde önemli bir azalmaya yol açabilir.
Program tasarım düşünme
1. Big Bang yerine progresif bölünmüş
ZhiHua Tech mikro hizmet dönüşümü konusunda ısrar ettiHangler Fig Patterson• Yeni mimaride işlevsel modüllere karşı proaktif olarak hareket edin, eski sistemin normal çalışmasını sürdürürken, eski sistem tamamen değiştirildikçe:
- İlk olarak, HF değişim modülünü ortadan kaldırıyoruz.Öncekilik, işin en sık ve bağımsız modüllerinin ayrılmasına verilir (örneğin kullanıcı merkezleri, mal merkezleri).Bir kez, bağımsız dağıtım karlarının tadını çıkarırlar - değişiklikler diğer modüllerin serbest bırakılmasıyla artık sınırlı değildir.
- API Gateway Birleşik GirişAğ geçidi, rota dağıtımından, kimlik doğrulamasından, akış kısıtlamasından ve günlük kayıtlarından sorumludur. Yolu ekleyerek, ön uç hissi olmadan, yolunuzu ekleyerek ağ geçidini ilerletmek için talep edin.
- Veritabanı aşağıdaki bölünmüşHer ayrı mikro hizmet bağımsız bir veritabanına sahiptir, Schema (bir stand-alone veritabanının bir örneği bile), en sonunda verileri senkronize ederek veya API'ı arayarak risk azaltır.
2. Servisler iletişim yönetişim yönetişimi
Mikro hizmet sayısı 10'u aştığında, geleneksel SDK servisi yönetimi ( RPC çerçevesine getirilen her hizmet içinSDK) bakım maliyetlerini açığa çıkarmaya başlar - SDK'nın yükseltmesi yeniden yapılandırılır ve yayımlanmış, farklı SSDK hizmetleri farklı ve yönetim stratejisi değişikliği gerektirir.
ZhiHua Tech, servis ölçeğinden sonra giriş yapılmasını önerir, belirli bir seviyeye ulaştı Servis Meşru (e.g. Istio + Envoy), Sidecar ajanı için hizmet yönetimi kapasitesi:
- Akış yönetimiGrayscale release (as ağırlık/Header/Cookie divers), enjeksiyon testlerini başarısız edin, aynalar - bu yetenekler Istio'nun Tasarım Kuralı ve Vital Services yapılandırmaları aracılığıyla iş kodları değiştirme ihtiyacı olmadan elde edilebilir.
- Güvenli iletişimMTLS (iki yönlü TLS doğrulama) otomatik olarak hizmet içi iletişim için etkinleştirilir, sertifikaların sunulması, rotasyonu ve geri dönüşleri otomatik olarak Citadel tarafından yönetilir ve iş geliştiricileri alt güvenlik mekanizmasını algılamaya ihtiyaç duymazlar.
- ObservabilitySidecar otomatik olarak telemetri verilerini toplar (talay, başarılı, hata oranı) tüm gelen ve giden istasyonlar için ve Prometheus (indicator) + Jaeger (link) + ELK (log), tam bir gözlemlenebilir üçgen oluşturur.
CI/CD ve Gitoops teslimat hattı
ZhiHua Tech, müşterilere standart bir CI /CD sistemi inşa etmelerine yardımcı oluyor, temel ilke standarttırTüm hizmetlerin inşaatı ve dağıtımı için bir şablon:
- Suline ŞablonTüm mikro hizmetler, CI/CD şablonlarının aynı setini paylaşıyor (Jenkinsfile veya GitHub Actions iş iş iş şablonu), bu sadece birkaç değişken (dil, port, kaynak kotaları) ihtiyaç duyulan parçalanmadan kaçının.
- Gitops Deployment: Tüm Kubernet'lerin kaynakları (İşletme, Servis, Ingress, ConfigMap) ifadesi, ArgoCD'nin Git Repository'de sürekli olarak izlediği ve onları otomatik olarak kümesleyecek şekilde değiştirdiği bir kümenin manuel modifikasyonu, GitOps kontrolörünün "Git Repository = Grup Real" olmasını sağlamak için geri alındı.
- Canary releaseArgo Rollouts aracılığıyla progresif teslimat - ilk olarak Pod'nun yeni versiyonu 5 dakika boyunca gözlem hata oranı ve 5 dakika gecikmedi ve göstergenin% 25'ine ve% 100'e normal genişlemesi otomatik olarak geri dönüşler.
Sistem kapasitesinin kapsamı
Zip, konteynerli üssü.
- Kubernetes Cluster PlanlamaMulti-environmental (geliş/prodüksiyon / üretim) küme mimari tasarımı, node spesifikasyon seçimi, ağ eklenti (Calico/Cilium) seçimi, depolama programı (CSI) tasarımı.
- Porter Ayna YönetimiAşağıdakiler, ayna alanında son gelişmelerin örnekleridir: Harbor private ayna depo inşaatı, ayna güvenlik tarama (Trivy), ayna incelik stratejisi (multi stage construction, dissolacy basic ayna).
- Esnek germeHPA ( CPU/RAM Pod yatay ölçeklendirmeye dayalı) + Cluster Autoscaler (node level scalding) + KEDA (tabilişim kuyrukları gibi özel göstergelerin ölçeklendirilmesine dayalı).
Hizmet Yönetimi ve İletişim
- API Gateway: Rotayı harmonik etmek, limit akışı, doğrulama, log, çapraz domain işleme. Supports pluginization extension to Exclusive logic.
- Kayıt ve Hizmet Keşifleri: Kubernetes DNS + Servise dayanan hizmet keşif, Konsolosluk / Nacos ile birlikte dış hizmet metadata'yı yönetmek.
- Configure CenterNacos/Apollo merkezi olarak çevre yapılandırmalarını yönetiyor, yapılandırma değişiklikleri gerçek zamanlı olarak gönderilir, gri ölçekli dağıtım ve rollback destekler.
• Gözlem sistemi
- LogFluentd/Filebeat topları →Kafka buffer → Elasticsearch mağazası → Kibana gösterisi. Logs, TraceID tarafından ilişkilendirilir.
- GöstergelerPrometheus + Grafana, altyapı göstergeleri (node/konak/Pod) ve uygulama göstergeleri (QPS/delayed/wrong/imal göstergeler).
- Linkage takip: OpenTelemetri + Jaeger, talep edilen hizmetler arasında atlamak için tam çağrı zincirini ve zamanı gösterir.
- Polisi arayın.Uyarıcı Sınıflandırılmış Uyarı (emergency/warning/notification), Enterprise Micro-Kredis / Pertification / Flying Book aracılığıyla bir Grafana paneli ekran görüntüsü ile göndermiştir.
CI/CD Teslimat
- Kod havuzu standartlaştırma (branch politikası, KOŞA, Merge Request şablon)
- Otomasyon, birim testleri, kod tarama (SonarQube), ayna teslimat
- Gitoops Deployment (ArgoCD)+Cyancant / Blue Green Release Strateji
Dağıtım veri mimarisi
- Veritabanı Split Policy: Alan tarafından dikey olarak + Split yatay olarak zaman/ID (SharingSphere) Oku ve ayrı yaz ( kütüphane yazısı, kütüphaneden okumak).
- Dağıtım hizmetleriBu, alınan bilgilere ve yerel haber tablolarına dayanan küçük sayıda yerel haber sayfasıdır.
- Önbelli Yapı: Redis Cluster Multi- level Cache (yerel Cafsee + Dağıtım Kılavuzu + Veritabanı), Cache Apart / Yazarın Arkasında.
Teslimatlar
| Phase | Teslimat Teslimatı | Main elements |
|---|---|---|
| Architecture | Yapı Tasarımı Dokümanı | Hizmetler de-segregasyon programı, alan sınırı tanımı, arayüz kompakt (API), veri toplama stratejisi ve altyapı mimarisi |
| Infrastructure | K8s Cluster + Orta | Üretim seviyesi Kubernetes Cluster dağıtım ( ağ/storage/güvenlik konfigürasyonu dahil), API ağ geçidi, hizmet ağı, konfigürasyon merkezi, kayıt merkezi, vb. |
| Observability | Şaşırtıcı ve polis sistemi | Prometheus + Grafana izleme paneli, ELK log platformu, Jaeger bağlantı izleme, alarm kuralı yapılandırma ve hiyerarşik bildirim kanalı |
| CI/CD | Suline + GitOps | Standartlaştırılmış CI /CD akış çizgisi şablon, ArgoCD yapılandırma, kanary release stratejisi, otomatik rollback mekanizması |
| Göç Göçü | Göç programı ve handover | Askılar göç programı, veri göç senaryoları, ulaşım kılavuzları, takım eğitimi ve 7x24 online güvenlik |
Intended value Orient
- Teslimatda önemli verimlilik kazanımlarServis bağımsız olarak inşa edilir, test edilir ve dağıtılır ve tek hizmet serbestliği "haftada" bir "saat" seviyesine indirgenir. Acil onarımlar diğer modüllerle artık engellenmemektedir.
- Hata izolasyonu ve elastikliği: Bir hizmetin bellek sızıntı sistemi geri getirmez. Otomatik amplifikasyonu (HPA/KEDA) düşük vadilerde otomatik kaynak kurtarma maliyetini azaltmak için yeterli kaynaklar olduğundan emin olur.
- Teknoloji Deposu özgürlüğüFarklı hizmetler sahneden en iyi teknoloji bölmelerini seçebilir ve yeni teknolojilerin tanıtımı artık tam yeniden-mühendislik gerektirmez.
- Observable kapsamaBlogcu, hükümetin “hayır problem”dan “görüşme”den, “kullanıcı şikayet etmeden önce Grafana’da görülen bir anomali göstergeleri gösterebileceğini söylüyor.
Daha fazlasını bilir:
- Custom Software Design - İş benzersiz iş süreçleri için özel tasarım ve geliştirme
- Business Digital Platform - Efficacious ve ölçeklenebilir işletme seviyesinde teknoloji üssü inşa
- Ürün teslimat taşıma - CI/CD akış hattından üretim taşıma için tam teslimat garantisi
- Ücretsiz tavsiye - yapısal ihtiyaçlarınızı ZhiHua Tech ekibiyle iletişim kurun
Mevcut işletmenin durumu bağlamında daha fazla analize ihtiyaç var mı?
IT teknik tavsiye, işletme bilgi inşaatı, yazılım projesi Outlook, FDE Enterprise AI uygulama ve yazılım ürün tasarımı ve teslimat hizmetleri sunuyoruz.