Genel bulut üzerinde mikro hizmet mimarisine dayalı SAAS ürün araştırma ve geliştirme uygulaması

Genel bulut SAAS ürünleri, geleneksel yazılım paketi ürünlerinden farklıdır.Sadece yazılım araştırma ve geliştirmeden değil, aynı zamanda ürün çalıştırma ve bakımından da sorumlu olmamız gerekir.Birçok kullanıcı karşısında, 7X24 ürünlerin kesintisiz çalışmasını sağlamalıyız; müşteri işleri sürekli değişiyor ve ürün ihtiyaçları Müşterilerin işlerinin değişen ihtiyaçlarını karşılamak için sürekli çalışma sürecinde sürekli olarak yükseltme yapın. Geleneksel yazılım paketi ürünleriyle karşılaştırıldığında, genel bulut ürünlerinin yükseltilmesi, bir spor arabadaki lastiklerin değiştirilmesine benzer şekilde daha karmaşık ve daha risklidir.

Tasarımın özü, ürün değişikliklerini kolaylaştırmaktır. Mikro hizmet mimarisi, hızlı iş değişikliklerine uyum sağlamak için İnternet çağında ortaya çıkan ve değişiklikleri kolaylaştırmak için bir temel sağlayan mimari bir modeldir. 2014 yılından bu yana sektörden büyük ilgi görmüştür.Son yıllarda DevOps teknolojisinin olgunlaşmasıyla birlikte mikro hizmet mimarisi modeli giderek daha fazla işletme tarafından uygulanmakta ve uygulanmaktadır. Mikro hizmet mimarisi, bağımsız geliştirme, bağımsız dağıtım, bağımsız ölçeklendirme ve bağımsız çalıştırma ve bakım ile karakterize edilir. Teknik olarak ücretsiz öğle yemeği yoktur. Mikro hizmetler bize birçok fayda sağlarken, aynı zamanda DevOps karmaşıklığı, dağıtılmış sistem karmaşıklığı vb. Mikro hizmet mimarisinin faydalarını en üst düzeye çıkarmak ve mikro hizmet mimarisinin olumsuz etkisini azaltmak için ürün tasarım mimarisini geliştirmek, DevOps'u otomatikleştirmek, yüksek kaliteli etki alanı modelleri oluşturmak vb. İçin uygun analiz ve tasarım yöntemlerini, araçlarını ve süreçlerini benimsemeliyiz.

Ürünleri araştırırken ve geliştirirken, öncelikle pazar talebinin geçmişini araştırıyoruz.Çin genelinde çok sayıda küçük ve mikro işletme var. Tipik özellikleri, büyük sayılar, tek bir kuruluşun nispeten küçük iş hacmi, sistem yönetimi ve bakımından sorumlu hiçbir özel kişi olmaması ve özellikle SAAS hizmet modunun uygulanması için uygun olan düşük genel BT seviyesidir. Son yıllarda bulut bilişim teknolojisinin gelişmesiyle birlikte toplumda çok sayıda ticari iş yeniliği ortaya çıkmış, elektronik ödemeler, elektronik bulut ambarları ve elektronik faturalar gibi ticari altyapı ticari uygulamalara doğru kaymıştır. Toplumda ortaya çıkan bazı ticari altyapılar küçük ve mikro işletmelerin kullanımına nasıl entegre edilir? Bu nedenle SaaS hizmetleri, birçok küçük ve mikro işletme için tek seçenek haline gelmiştir.

Sorunu analiz ederken müşteri kitlesini netleştirmek ve çok sayıda küçük ve mikro işletmeyi, sanayi ve ticaret şirketlerini, ticaret şirketlerini ve üreticileri hedeflemek gerekir.Tek bir işletmenin işi karmaşık değil, aynı anda birden fazla işletmeyi memnun edecek bir ürün yapmak karmaşık bir sorundur. Ayrıca bir bulut ürün olarak ürünün 7 × 24 saat içerisinde her zaman çalıştığından emin olmak gerekir.Her zaman çalışan bu ürünün güncellenmesi ve bakımı da yüksek riskli bir faaliyettir.

Yukarıdaki sorunlara ve arka plana dayanarak, büyük ölçekli eşzamanlı kullanıcıların ihtiyaçlarını desteklemek için ürün mimarisi; sürekli ve hızlı gelişimi desteklemek için modeller ve mimariler; ürün geliştirme yoluyla temel iş yeteneklerini biriktirmek ve gelecekte yeni ürünlerin hızlı gelişimi için biriktirmek gibi çeşitli tasarım hedefleri öneriyoruz. Mevcut kaynaklar.

Tasarım hedeflerine göre aşağıdaki genel fikirleri netleştirdik.

Birincisi, tasarıma önem vermektir Tasarım, ürünlerin geleceğidir.Ürünlerimiz ancak iyi tasarımla müşteri işini büyütme yolunda ilerleyebilir. İkincisi, üçüncü taraf teknolojisinden tam olarak yararlanmak ve kendi uzmanlık alanlarımıza odaklanmaktır. Üçüncüsü, zaman ve kaynakların sınırlı olduğu, endişelerin ayrılması ve basit uygulama, gelecekte kaynaklar mevcut olduğunda sistemin gelişmesini sağlar. Dördüncüsü, etki alanı bölümleme ve ayırma için DDD yöntemini kullanmaktır ve mikro hizmetler, iş uyumunu tam olarak garanti eder. Son olarak, en iş sistemidir. Etki alanı modeli özü ve genidir. Gelecekteki iş evriminin temelidir. Etki alanı modelinin kalitesi iyileştirilir ve model tasarımı uygun şekilde geliştirilir.

SAAS ürünleri profesyonel olarak geliştirilmiştir ve birçok teknoloji yığınını ve yeteneğini içerir Ön ve arka uçlar tamamen farklı teknoloji yığınları kullanır ve bağımsız olarak geliştirilir. Ayrıca birçok kullanıcının ihtiyacını karşılayan bir ürün olarak özelleştirme temel özelliği olup, ön uç ve arka uç platformlar ürünün temel yetenekleridir. Buna uygun olarak, Ar-Ge organizasyonu, ürün, UI / UE, ön uç, arka uç, test, işletim ve bakım ve iş operasyonları gibi çok sayıda küçük ekibe bölünmüştür.

Ar-Ge ekibi birden fazla gruba ayrılmıştır ve her grup birbiriyle işbirliği yapmaktadır. Farklı ekipler arasında verimli işbirliğinin nasıl sağlanacağı, eksiksiz şartnameler ve standartlar vazgeçilmezdir ve tüm Ar-Ge yaşam döngüsünün şartnamelerinin uygulanması, iş kalitesini ve işbirliği verimliliğini etkili bir şekilde sağlayabilir.

Mikro hizmet mimarisi modeli faydalar sağlarken, DevOps'un karmaşıklığını da beraberinde getirir.Otomatikleştirilmiş bir işlem ve bakım süreci oluşturmak, mikro hizmet mimarisini kullanmak için gerekli bir koşuldur. Şirketin ürün geliştirme ve yayınlama sürecine dayalı olarak uygun şube planları, ürün yönetimi planları, sürekli entegrasyon planları ve çevre yönetimi planları geliştirin.

Dallar, geliştirme, test etme ve uzamsal olarak yayınlamayı izole eden geliştirme, test etme ve yayınlama dallarına bölünmüştür;

Geliştiriciler, geliştirme dalından en son sürümü indirir, derleme başarılı olduktan sonra Nexus'a yayınlar, otomatik görevler aracılığıyla Nexus'taki anlık görüntü paketini "Otomatik Test" ortamına yayınlar ve ardından ortam üzerinde otomatik entegrasyon testleri gerçekleştirir;

Otomatik test başarılı olduktan sonra, oluşturulan paketi geliştirme ortamında yayınlayın;

Geliştirme ortamında, geliştirici manuel onay ve doğrulamayı tamamlar;

Manuel onay tamamlandıktan sonra, otomatik görev, geliştirme içeriğini test şubesine birleştirmek / yeniden sunmak için yönlendirilir ve test uzmanı, sürüm paketini entegre test ortamına yayınlama sürecini tamamlamak için jenkins görevini manuel olarak yürütür;

İşletme ve bakım personeli, üretim ortamının korunmasından sorumludur.Üretim ortamı gri tonlamalı dağıtımı destekler ve yeni sürüm teslimi riskini azaltır.

Mikro hizmet mimarisinin kullanımı sadece yeni bir teknik yaklaşım değildir.Eğer yardımcı olacak bir analiz ve tasarım yöntemi yoksa, getireceği zarar faydalardan daha ağır basacaktır ve bir ateş çukurundan diğerine atlamanın utancına düşeceğiz. Mikro hizmet tasarımının kalitesini iyileştirmek ve ürünlerin gelecekte gelişmeye devam etmesini sağlamak için çeşitli düzeylerde iş modellemesi, sistem modellemesi, alan modellemesi ve fiziksel modellemeden adım adım tasarım yapmak gereklidir.

Analiz ve tasarım araçları, yöntemleri ve süreçleri içerir. Aletlerin üretimi ve kullanımı, insan toplumunu diğer hayvanlardan ayıran ayırt edici özelliklerdir.Uygun aletlerin kullanılması, analiz ve tasarımın verimliliğini ve kalitesini büyük ölçüde artırabilir. Analiz ve tasarım aracı EA kullanır ve DB modelleme aracı ERWin kullanır. Yöntem, sektördeki en iyi uygulamaları bir araya getirmektir ve etki alanına dayalı tasarım yöntemi, nesne yönelimli düşünmenin geri dönüşü ve yüceltilmesidir.Alan odaklı tasarıma doğru bir şekilde hakim olmanın öncülü, nesne yönelimli tasarım becerileridir. DDD nesneye yönelik tasarım-yazılım yapısının en önemli ilkesi problemin yapısını yansıtır. İşletmeyi analiz etmek ve tasarlamak için DDD analiz yöntemi benimsenmiştir.Analiz ve tasarım süreci iş modelleme, sistem modelleme, alan modelleme ve fiziksel modeli içerir.

Karmaşık sistemler için sistemin görünümünü hayal etmek zordur ve mühendislik yöntemlerinin analizi ile elde edilmelidir, yani sistemin görünümü iş modelleme yöntemleriyle analiz edilir. İş modelleme, tüm kuruluşu bir araştırma nesnesi olarak alır, tipik iş senaryolarını seçer, kuruluşun içerdiği rolleri ve sistemleri tanımlar ve sistemi bir kara kutu olarak ele alır ve kuruluştaki rollerin ve sistemlerin işi tamamlamak için nasıl işbirliği yaptığını analiz eder. İşletme değerini dışarıdan dışa aktarın.

İş modellemesinden sonra sistemin görünümü elde edilir ve daha sonra sistemden hangi bileşenlerin veya modüllerin oluştuğunu analiz etmek için sistem modellemesi kullanılır. Segmentasyon modüllerinin amacı endişeleri ayırmak ve sistem karmaşıklığını azaltmaktır. Sistem modüllere ayrılmıştır, bu modüllerin birbirleriyle nasıl işbirliği yaparak sistemin görünümünde gerekli fonksiyonları yerine getirmesi, bu sistem serisi diyagramıdır. Karmaşık sistemler için, her modülün görünümü modüller arasındaki işbirliği analiz edilerek elde edilebilir.

İş dünyası dışarıdan karmaşıktır ve içsel özü görece sabittir Alan modellemenin amacı, karmaşık fenomenleri ve görünümleri aracılığıyla şeylerin özüne dair fikir edinmektir. Alan modeli aynı zamanda iş dünyasına bakmamızın bir yoludur, şirketlere ürün tasarlarken işin içerdiği kavramları ve aralarındaki ilişkileri netleştirmelerine yardımcı olur. Etki alanı modeli, iş işlevinin (görünüm) arkasındaki işin özünü ifade eden bir modeldir Etki alanı modeli, daha yüksek kararlılığa sahip bilgi düzeyinde bir modeldir ve çevrimiçi sistem iş değişikliklerini destekler.

Fiziksel model, alan modelinin ilişkisel ifadesidir ve fiziksel tabloya yöneliktir. Tabloyu oluşturun ve tabloya dayalı kod oluşturmak için dönüştürme aracını kullanın; tasarlanan modelin yalnızca kağıt üzerinde veya duvarda asılı değil, aynı zamanda gelişimi gerçekten yönlendirebilecek bir şey olmasını sağlayın.

SaaS ürün uygulama planına dayalı olarak, kiracı modu, katmanlı tasarım, uygulama mimarisi, genel teknik mimari, modüllerdeki teknik mimari ve bir mikro hizmet mimarisi ve dağıtılmış bir ortam altındaki ürünler için tutarlı bir çözüm gibi bir dizi önemli teknoloji seçeneği içerir. .

Kiracı modeli nedir? SaaS ürünlerinin uygulama, sanal makine ve DB üç kaynak kaynağı kullanması gerekir. Sanal makine, uygulama ve DB kullanımına göre farklı modlara ayrılmıştır. Sanal makine modeli, her kiracının bağımsız bir sanal makineye, bağımsız bir uygulamaya ve bağımsız bir DB'ye sahip olması, kiracı kaynaklarının paylaşılmaması, kiracılar arasındaki izolasyonun iyi olması, ancak kaynak kullanım oranının düşük olmasıdır. Kiracı bağımsız DB modunda, her kiracı sanal makineleri ve uygulamaları paylaşır ve DB her bir kiracıya adanmıştır.Sanal makinelerin ve uygulama kaynaklarının kullanımı yüksektir, ancak DB kaynaklarının kullanımı düşüktür.

Üçüncü mod kiracı paylaşım DB modudur.Sanal makineler, uygulamalar ve DB, yüksek kaynak kullanımı, kiracılar arasında yumuşak izolasyon ve zayıf izolasyon ile tüm kiracılar tarafından paylaşılır.

Kiracı sayısının fazla olduğu, yükün eşit olmadığı ve bireyselleştirme gereksinimlerinin yüksek olmadığı küçük ve mikro işletmeler için kiracı paylaşımlı DB modelini benimsemeye karar verdik.

Karmaşık sistemler için katmanlı tasarım, karmaşıklık sorunlarını çözmenin önemli yollarından biridir. DDD yöntemi, sistemin iş perspektifine göre katmanlar halinde tasarlanması için benimsenmiştir. Aynı katman arasında ve üst ve alt katmanlar arasında çağrılabilir, döngü çağrısını sıkı bir şekilde kontrol edebilir ve bağımlılığın karmaşıklığını kontrol edebilir.

Ön ve arka uçlarda farklı teknoloji yığınları kullanılmakta olup, ön ve arka uçlar ayrı ayrı tasarlanarak bağımsız bölümler tarafından geliştirilmektedir. Arka uç, uygulama hizmeti katmanına ve etki alanı katmanına bölünmüştür. Uygulama hizmet katmanı, iş işlevlerini sağlamak ve belirli iş sorunlarını çözmek için alan bilgisi tarafından sağlanan hizmet yeteneklerini kullanmaktır. Etki alanı katmanı, etki alanı bilgi hizmeti yetenekleri sağlayan çekirdek etki alanı katmanını, destekleyici alt etki alanı katmanını ve genel alt etki alanı katmanını içerir.

Çekirdek etki alanı katmanı - müşterilerin temel işi için hizmetler sağlamak;

İşin belirli bir yönünü destekleyen alt etki alanı katmanı alt etki alanlarını destekleyin;

Tüm sistem için kullanılan ortak Subdomain-Subdomain

Teknik açıdan, yetenek katmanı (genel alt etki alanı hizmetleri, alt etki alanı hizmetleri ve temel alt etki alanı hizmetleri dahil), RPC aracılığıyla mikro hizmetler arasında çağrı yapar. Uygulama hizmet katmanı, RPC aracılığıyla etki alanı hizmeti katmanını çağırır. Uygulama hizmet katmanı, hizmetleri REST aracılığıyla harici olarak yayınlar ve ön uç NodeJS arabirim sunucusu tarafından çağrılır. Ön uç uygulama, HTTP / HTTPS aracılığıyla NodeJS hizmetine erişir.

Fiziksel model oluşturulduktan sonra, Depo katmanı, etki alanı katmanı ve kalıcılık katmanı, fiziksel model ve eklentilere göre oluşturulur.Model artık duvarda bir dekorasyon değildir ve model, modeli gerçekten düşürmek için kod tarafından yönlendirilir. Bilgi bağlama yöntemi, anemi nesnesini bilgi parçasına bağlamak için kullanılır ve anemi nesnesi akıllı bir nesne (Akıllı Nesne) haline gelir. Aslında bu çözüm, otomatik kod oluşturma ile anemi ve tıkanıklık modelleri arasında bir uzlaşmadır.

Geleneksel monolitik sistemlerin aksine, XA işlemleri, dağıtılmış kaynak veri tutarlılığı sorunlarını çözmek için kullanılabilir. Dağıtık bir sistem operasyon senaryosunda, her hizmet farklı süreçlerde çalışır ve her süreç bağımsız olarak çalışır İş tutarlılığını korumak karmaşık bir konudur. Sistem, TCC'nin güçlü tutarlılığı ve mesaj + TCC çağrısına dayalı nihai tutarlılık olmak üzere iki tutarlılık mekanizması sağlar. İki tutarlılık mekanizması farklı senaryolara uyarlanır.

Birçok iş senaryosunda, sistemin bir müşteri talebinden sonra bir dizi karmaşık işlemi gerçekleştirmesi gerekir. Bu işlemler arasında, bazı işlemlerin derhal yürütülmesi ve yanıtlanması gerekir; bazı işlemler yüksek gerçek zamanlı performans gerektirmez ve bir yanıt talep edildikten sonra işlenmek üzere sisteme devredilebilir. Mesaj + TTK'ya dayalı nihai tutarlılık yöntemi, bu senaryonun tutarlılık mekanizmasının uygulanmasıdır. Sistem mesajlarla ayrıştırılır ve asenkron çalışma gerçekleştirilir, aynı zamanda tepe traş ve çukur doldurma görevini de üstlenir ve sistem yükünü dengeler.

Geleneksel yazılım paketi ürünleriyle karşılaştırıldığında, bulut ürün yükseltmesi yüksek riskli bir faaliyettir.Yüksek kaliteli etki alanı mimarisi ve esnek etki alanı modelleri tasarlamak, bulut ürünlerinin iş değişikliklerine sakin bir şekilde yanıt vermesinin temelidir. Bir bulut ürünü araştırma ve geliştirme sistemi kurarken, temel iş hizmeti yetenekleri, destek iş hizmeti yetenekleri ve genel iş hizmeti yetenekleri dahil olmak üzere temel şirket iş hizmeti yetenekleri oluşturmak, sonraki ürün geliştirme döngüsünü büyük ölçüde kısaltabilir. Bu temel hizmet yetenekleri, şirketin hızlı iş inovasyonudur. temeli.

Yüce Tanrı, alan odaklı tasarımı üç dakikada anlar
önceki
Mikro hizmet mimarisinin kararlılığını ve veri tutarlılığını iyileştirmek için bir yöntem
Sonraki
API ağ geçidi ve SCF'nin derinlemesine entegre uygulaması
Bu şeyin% 30 daha az kod yazmanıza yardımcı olabileceği söyleniyor
Günlük 2 milyar verinin işlenmesi, gerçek zamanlı kullanıcı davranışı hizmet sistemi mimarisi uygulaması
Mobil Taobao mobil terminal erişim ağ geçidi altyapısının evrimi
B2B e-ticaret Yiding'i örnek olarak alın, veri gömme noktalarından ürün yöneticilerinin bakış açısından bahsedin
Netty ve Kafka'daki sıfır kopya teknolojisi ne kadar harika?
Xu Dongdong'un çıplak bir omuz resmi olduğu sürece, çılgınca yayılacak! Straplez kırmızı elbise ile retro örgülü saç, güzel resim
"He Fanxing" in kayınbiraderi aşkıyla karşılaştırıldığında, Song Qian'ın gardırobu benim istediğim şey, ikisinin de uzun bacakları var.
Zhang Tianai balık kuyruğu eteği giyen gerçekten şeytan! Zhuangshan Kendall, retro ve modern oyun tarzıyla hiç kaybetmiyor
Kaz yumurtasının sarısı sarkan renkte olmalı ve onu giyer giymez yüz kez çekecek, ceket ve bel daha odaklanmış olacak
Maskelerini çıkardıklarında pek çok kişi sıkıntılı olmalı ama kimse onun çirkin olduğunu düşünmez.
Bu grup insan uzun saçlarını kestirdi ama Çin'deki en güzel insanlar oldu! Beyaz meleklere haraç, kısa saç aslında güzel
To Top