Modern IM sistem mimarisinde mesaj sistemi mimarisi

Önsöz

IM'nin tam adı "Anında Mesajlaşma" ve Çince adı anlık mesajlaşmadır. Bu son derece bilgili mobil İnternet çağında, IM ürünleri yaşamın olmazsa olmazı haline geldi ve DingTalk, WeChat, QQ gibi daha ünlü ürünler ve ana işlevi IM olan diğer ürünler. Elbette, WeChat ekolojik bir ürün haline geldi, ancak temel işlevi hala IM. Ayrıca IM sistemine dayalı olmayan bazı uygulamalar da vardır.Bunlardan en tipik olanları çevrimiçi oyunlar ve sosyal uygulamalardır, IM ayrıca önemli bir işlevsel modüldür. IM sisteminin zaten sosyal özelliklere sahip herhangi bir uygulama için temel bir işlev olduğu söylenebilir ve bu tür sistemlerin tasarımı ve uygulaması hakkında İnternette giderek daha fazla tartışma vardır.

IM sistemi, İnternetin ilk günlerinde vardı ve temel teknik mimarisi, on yıldan fazla bir süredir geliştirilmesinde birçok kez güncellenmiş ve yinelenmiştir.Erken CS ve P2P mimarisinden günümüzün arka planına kadar, mobil terminalleri içeren karmaşık bir dağıtılmış sisteme dönüşmüştür. Ağ iletişimi, protokoller, güvenlik, depolama ve arama teknolojilerinin tüm yönleri. IM sisteminin temel kısmı mesaj sistemidir. Mesaj sisteminin temel işlevi, mesajların senkronizasyonu, depolanması ve geri çağrılmasıdır:

  • Mesaj senkronizasyonu : Göndericiden alıcıya mesajın eksiksiz ve hızlı teslimi, mesajın senkronizasyonudur. Bir mesaj senkronizasyon sisteminin en önemli ölçüm göstergeleri, mesaj teslimatının gerçek zamanlı, eksiksiz ve desteklenebilir mesaj ölçeğidir. İşlevsel bir bakış açısından, genellikle en azından çevrimiçi ve çevrimdışı itmeyi destekler ve gelişmiş IM sistemleri de "çoklu terminal senkronizasyonunu" destekler.
  • Mesaj saklama : Mesaj depolama, mesajların kalıcı olarak depolanmasıdır.Geleneksel mesaj sistemleri genellikle mesajların yalnızca alıcı uçta yerel olarak depolanmasını destekler ve veriler temelde güvenilir değildir. Modern mesajlaşma sistemleri, mesajların sunucudaki çevrimiçi depolanmasını destekleyebilir ve işlevsel karşılığı "mesaj dolaşımı" dır. Mesaj dolaşımının avantajı, tüm geçmiş mesajları görüntülemek için hesabın herhangi bir sonunda oturum açabilmesidir.
  • Mesaj alımı : Mesajlar genellikle metindir, bu nedenle tam metin aramayı desteklemek de gerekli yeteneklerden biridir. Genel olarak konuşursak, geleneksel mesajlaşma sistemleri mesajların yalnızca yerel olarak alınmasını destekleyebilir ve yerel olarak depolanan mesaj verilerine dayalı olarak oluşturulur. Artık mesaj sistemi, mesajların çevrimiçi olarak depolanmasını destekledikten sonra, mesajların "çevrimiçi olarak geri alınması" yeteneğine de sahiptir.

Bu makalenin içeriği esas olarak IM sistemindeki mesaj sistemi mimarisini içerir ve Alibaba Cloud Tablestore'un Timeline modeline dayalı bir mesaj sistemi tanıtacaktır. Tablestore Zaman Çizelgesine dayalı modern mesaj sistemi, "çoklu terminal senkronizasyonu", "mesaj dolaşımı" ve "çevrimiçi erişim" dahil olmak üzere mesaj sisteminin birçok gelişmiş özelliğini aynı anda destekleyebilir. Performans ve ölçek açısından, tam mesaj bulut depolama ve indeksleme, milyonlarca TPS yazma ve milisaniye düzeyinde gecikme mesajı senkronizasyonu ve alma yetenekleri elde edebilir.

Daha sonra, Tablestore Timeline modelinin kavramını ve kullanımını daha ayrıntılı olarak tanıtmak için iki makale yayınlamaya devam edeceğiz:

  • Model makaleler : Tablestore Timeline modelinin temel kavramlarını ve temel veri yapısını ayrıntılı olarak tanıtın ve IM sistemi ile birlikte temel modellemeyi gerçekleştirin.
  • Uygulama : Tablestore Zaman Çizelgesine dayalı olarak, "çoklu terminal senkronizasyonu", "mesaj dolaşımı" ve "çevrimiçi erişim" gibi gelişmiş işlevlere sahip basit bir anlık mesajlaşma sistemi uygulayacak ve kaynak kodumuzu paylaşacağız.

Geleneksel mimari ve modern mimari

Geleneksel mimari Daha sonra mesaj önce senkronize edilir ve ardından saklanır. Çevrimiçi kullanıcılar için, mesaj doğrudan çevrimiçi alıcıya gerçek zamanlı olarak senkronize edilecektir.Mesaj başarıyla senkronize edildikten sonra sunucuda kalmayacaktır. Çevrimdışı kullanıcılar için veya mesaj gerçek zamanlı olarak başarıyla senkronize edilemediğinde, mesaj çevrimdışı kütüphanede kalacaktır.Alıcı yeniden bağlandığında, tüm okunmamış mesajlar çevrimdışı kütüphaneden alınacaktır. Çevrimdışı kütüphanedeki mesaj alıcıyla başarılı bir şekilde senkronize edildiğinde, mesaj çevrimdışı kütüphaneden silinecektir. Geleneksel mesajlaşma sistemlerinde, sunucunun ana görevi, gönderen ile alıcı arasındaki bağlantı durumunu korumak ve mesajların göndericiden alıcıya teslim edilmesini sağlamak için çevrimiçi mesaj senkronizasyonu ve çevrimdışı mesaj tamponlama yetenekleri sağlamaktır. Sunucu mesajlarda kalmaz, bu nedenle mesaj dolaşımını destekleyemez. Mesajların kalıcı olarak depolanması ve endekslenmesi yalnızca alıcı uçta yerel olarak uygulanabilir ve veri güvenilirliği son derece düşüktür.

Modern mimari Daha sonra mesaj önce depolanır ve ardından senkronize edilir. Önce depolamanın ve ardından eşitlemenin avantajı, alıcı mesajın alındığını onaylarsa, mesajın buluta kaydedilmiş olması gerektiğidir. Ve mesajlar iki kütüphanede depolanacaktır, biri mesaj depolama kütüphanesi olup, tüm konuşmaların tüm mesajlarını depolamak için kullanılır, esas olarak mesaj dolaşımını desteklemek için kullanılır. Diğeri, esas olarak alıcının çok terminalli senkronizasyonu için kullanılan mesaj senkronizasyon kitaplığıdır. Mesaj göndericiden gönderildikten sonra, sunucu tarafından iletilir ve sunucu mesajı önce mesaj depolama veritabanına kaydeder ve ardından mesaj senkronizasyon veritabanına kaydeder. Mesajın kalıcı olarak saklanmasını tamamladıktan sonra, çevrimiçi alıcı doğrudan çevrimiçi göndermeyi seçecektir. Ancak çevrimiçi push gerekli bir yol değil, daha iyi bir ileti teslim yoludur. Çevrimiçi gönderimi başarısız olan veya çevrimdışı olan alıcılar için başka bir birleşik mesaj senkronizasyon yöntemi olacaktır. Alıcı, senkronize edilmemiş tüm mesajları aktif olarak sunucuya çekecektir, ancak alıcının ne zaman senkronize edileceği ve bu noktada mesajın senkronize edileceği sunucu tarafından bilinmemektedir, bu nedenle sunucunun alıcıya senkronize edilmesi gereken tüm mesajları kaydetmesi gerekir. Bu, mesaj senkronizasyon kütüphanesinin ana işlevidir. Yeni senkronizasyon cihazları için, mesaj deposunun ana işlevi olan mesaj dolaşımına ihtiyaç duyulacaktır.Mesaj deposunda, herhangi bir görüşmenin tüm geçmiş mesajlarını alabilirsiniz. Mesaj alımının gerçekleştirilmesi, genellikle neredeyse gerçek zamanlı (NRT) indeks oluşturma süreci olan mesaj deposundaki mesajların indekslenmesine dayanır ve bu indeks de çevrimiçidir.

Yukarıdakiler geleneksel mimari ile modern mimari arasında basit bir karşılaştırmadır.Modern mimari üzerindeki tüm mesaj senkronizasyonu, depolama ve indeksleme süreci çok karmaşık hale gelmemiştir. Modern mimarinin gerçekleştirilmesi, esasen geleneksel mimarideki yerel depolamayı ve indekslemeyi buluta taşımaktır. En büyük zorluk, tüm mesajların depolanmasını ve indekslenmesini merkezi olarak yönetme ihtiyacıdır. Yararı, gerçekleştirilebilmesidir. Çoklu terminal senkronizasyonu , Mesaj dolaşımı Hem de Çevrimiçi arama . Modern mimarinin özünün, iki mesaj kitaplığı "ileti senkronizasyon kitaplığı" ve "ileti depolama kitaplığı" olduğu ve "ileti depolama kitaplığı" nın "ileti dizini" nin gerçekleştirilmesi olduğu görülebilmektedir. Daha sonra bunları yavaş yavaş parçalarına ayıracağız. Temel tasarım ve uygulama.

Temel model

Mesaj sisteminin tasarımını ve uygulamasını derinlemesine açıklamadan önce, mesaj sistemindeki birkaç temel kavram ve temel model hakkında bilgi sahibi olmak gerekir. İnternette analiz edilen birçok farklı tipte mesaj sistemi uygulaması, farkın farkına varılması esas olarak mesaj senkronizasyonunda ve depolama şemasında, aslında mesaj veri modelinde büyük bir ortaklık var. Veri senkronizasyon modeli etrafındaki tartışma esas olarak "okuma difüzyonu", "yazma difüzyonu" ve "hibrit mod" üç çözümüne odaklanmaktadır Şu anda başka seçenek yoktur. Veri modelinin soyutlanması için standart bir tanım yoktur.

Bu bölüm, mesaj sistemindeki mesaj modelinin bir soyutlaması olan, Tablestore tarafından önerilen ve geliştiricilerin mesaj sistemindeki mesaj senkronizasyonunu ve depolama modelini basitleştirip daha iyi anlamasına olanak tanıyan Zaman Çizelgesi modelini tanıtacaktır. Bu modele dayanarak, biz Mesaj senkronizasyonunun ve depolamanın seçimi ve gerçekleştirilmesini daha fazla tartışacaktır.

Zaman çizelgesi modeli

Zaman çizelgesi, mesajları özetleyen mantıksal bir modeldir. Bu model, mesaj senkronizasyonu ve depolama modellerini anlamamızı kolaylaştırmamıza yardımcı olacaktır. Mesaj senkronizasyon kitaplıklarının ve depolama kitaplıklarının tasarımı ve uygulaması da Zaman Çizelgesi'nin özelliklerine ve gereksinimlerine dayanmaktadır.

Şekil, Zaman Çizelgesi modelinin soyut bir ifadesidir. Zaman çizelgesi basitçe bir mesaj kuyruğu olarak anlaşılabilir, ancak bu mesaj kuyruğu aşağıdaki özelliklere sahiptir:

  • Her mesaj bir sıra kimliğine karşılık gelir : Her mesajın benzersiz bir sıra kimliği (Sıra Kimliği) vardır ve sıra iletileri Sıra Kimliği'ne göre sıralanır.
  • Yeni mesaj yazma işlemi, her zaman kuyruğun sonuna eklenmesini sağlamak için otomatik olarak artan bir sıra kimliği atayabilir : Zaman çizelgesinde mesajlar senkronizasyon konumuna, yani sıra kimliğine göre senkronize edilir Bu nedenle, yeni yazılan mesaj verilerinin sıra ID'sinin senkronize edilen mesajın sıra ID'sinden daha küçük olmaması gerekir, aksi takdirde verilerin senkronize olmasına neden olur. Yeni yazılan verilere, şu anda depolanan tüm mesajların sıra kimliğinden daha büyük bir sıra kimliğinin otomatik olarak atanması desteği.
  • Yeni mesaj yazma, özel sıralama gereksinimlerini karşılamak için sıra kimliğini de özelleştirebilir : Yukarıda bahsedilen sıra kimliklerinin otomatik tahsisi, esas olarak mesaj senkronizasyonunun ihtiyaçlarını karşılamak içindir Mesaj senkronizasyonu, mesajların "senkronize" veya "yazılı" sırasına göre sıralanmasını gerektirir. Mesajların depolanması genellikle mesajların konuşma sırasına göre sıralanmasını gerektirir. Görüşme sırası genellikle sunucunun senkronizasyon sırasından ziyade son görüşme tarafından belirlenir.Bunlar iki sipariş gereksinimidir.
  • Sıra kimliğine göre rastgele konumlandırmayı destekleyin : Sıra Kimliğine göre Zaman Çizelgesinde belirli bir konuma rastgele konumlandırabilir ve bu konumdan mesajları pozitif veya ters sırada okuyabilir.Ayrıca belirli bir sıra kimliği ile belirli bir mesajı okumayı da destekleyebilir.
  • Mesajlar için özel indeksi destekleyin : Mesaj gövdesindeki veriler, farklı hizmetlere göre farklı alanlar içerecektir Zaman çizelgesinin, mesaj içeriğinin tam metin indekslenmesini veya herhangi bir alanın esnek koşul kombinasyon sorgusunu desteklemek için farklı alanların özel indekslenmesini desteklemesi gerekir.

Mesaj senkronizasyonu Zaman çizelgesine dayalı olarak çok basit bir şekilde uygulanabilir Şekildeki örnekte, mesajı gönderen A'dır, mesaj alıcısı B'dir ve B birden fazla alıcıya, yani B1, B2 ve B3'e sahiptir. A, B'ye bir mesaj gönderir ve mesajın, B'nin birden fazla ucuna senkronize edilmesi gerekir. Senkronize edilecek mesajlar, bir Zaman Çizelgesi aracılığıyla değiş tokuş edilir. A tarafından B'ye gönderilen tüm mesajlar bu Zaman Çizelgesine kaydedilecek ve B'nin her alıcı ucu bu Zaman Çizelgesinden bağımsız olarak mesajlar çekecektir. Senkronizasyon tamamlandıktan sonra, her alıcı uç, bir sonraki mesaj senkronizasyonunun başlangıç pozisyonu olarak yeni senkronize edilmiş mesajın Sıra Kimliği'ni, yani en son pozisyonu yerel olarak kaydedecektir. Sunucu, her bir ucun senkronizasyon durumunu kaydetmez ve her bir uç, herhangi bir zamanda herhangi bir noktadan mesajları alabilir.

Mesaj saklama Aynı zamanda Zaman Çizelgesi temelinde de uygulanır Mesaj senkronizasyonundan tek farkı, ileti depolamanın sunucunun Zaman çizelgesindeki tüm verileri sürdürmesini gerektirmesidir ve mesajlar, özel bir sipariş kimliği gerektiren oturum sırasına göre depolanır.

Mesaj alımı Timeline tarafından sağlanan mesaj indeksine bağlı olarak, daha esnek bir çok alanlı indeksi destekleyebilir ve farklı hizmetlere göre daha yüksek bir serbestlik derecesi ile özelleştirilebilir.

Mesaj depolama modeli

Resim, Zaman Çizelgesine dayalı mesaj depolama modelini gösterir Mesaj depolama, her oturumun bağımsız bir Zaman Çizelgesine karşılık gelmesini gerektirir. Şekildeki örnekte gösterildiği gibi, A ve B / C / D / E / F'nin her ikisinin de konuşmaları vardır.Her sohbet bağımsız bir Zaman Çizelgesi'ne karşılık gelir.Her Zaman Çizelgesi bu konuşmadaki tüm mesajları içerir.Mesajlar, konuşma sırasına göre sıralanır. Son, her Zaman Çizelgesini kalıcı olarak saklayacaktır ve ayrıca mesaj dolaşımı özelliğine sahiptir.

Mesaj senkronizasyon modeli

Mesaj senkronizasyon modeli, mesaj depolama modelinden biraz daha karmaşıktır.Mesaj senkronizasyonunun genellikle iki farklı yöntemi vardır: farklı Zaman çizelgesi fiziksel modellerine karşılık gelen okuma difüzyonu (çekme modu olarak da adlandırılır) ve yazma difüzyonu (itme modu olarak da adlandırılır).

Şekil, okuma difüzyonu ve yazma difüzyonunun iki farklı senkronizasyon moduna karşılık gelen farklı Zaman çizelgesi modellerini göstermektedir.Şekildeki örneğe göre, A mesaj alıcısıdır ve B / C / D / E / F ile bir konuşması vardır. Görüşmedeki tüm yeni mesajların A'nın belirli bir sonuna senkronize edilmesi gerekir. Mesajların iki okuma difüzyon ve yazma difüzyon modunda nasıl senkronize edildiğini görelim.

  • Difüzyonu oku : Mesaj depolama modelinde, her oturumun zaman çizelgesi bu oturumun tüm mesajlarını depolar. Okuma difüzyonunun mesaj senkronizasyon modunda, her oturumda üretilen yeni mesajların, depolama için kullanılan zaman çizgisine yalnızca bir kez yazılması gerekir ve alıcı uç, bu zaman çizgisinden yeni mesajları alır. Bunun avantajı, mesajın yalnızca bir kez yazılması gerektiğidir, bu da özellikle grup mesajlaşma senaryosunda, yazma difüzyon moduna kıyasla mesaj yazma sayısını büyük ölçüde azaltabilir. Ancak eksiklikleri de açıktır, mesajları senkronize etmek için alıcı ucun mantığı nispeten karmaşık ve verimsiz olacaktır. Alıcı tarafın, tüm mesajları alması için her konuşma için bir kez çekmesi gerekir.Okuma büyük ölçüde güçlendirilir ve her konuşma yeni mesajlar oluşturmayacağından birçok geçersiz okuma üretilir.
  • Difüzyon yazın : Yazma difüzyonunun mesaj senkronizasyon modu, yalnızca mesaj senkronizasyonu için kullanılmak üzere ek bir Zaman Çizelgesi gerektirir.Genellikle, her alıcı uç, ihtiyacı alıcı uca depolamak için kullanılan bağımsız bir senkronizasyon Zaman Çizelgesine (veya gelen kutusuna) sahip olacaktır. Tüm mesajlar senkronize edildi. Her oturumdaki mesaj birden çok kez yazılacaktır.Mesaj depolama için oturum zaman çizelgesini yazmanın yanı sıra, eşzamanlanması gereken alıcı ucun eşitleme zaman çizelgesini de yazması gerekir. Kişisel ve kişisel görüşmelerde, mesaj fazladan iki kez yazılacaktır Bu konuşmanın kaydedilen Zaman Çizelgesine yazmanın yanı sıra, bu konuşmaya katılan iki alıcının senkronize Zaman Çizelgesine de yazılması gerekir. Grup senaryosunda, yazı daha da güçlendirilecektir Grupta N katılımcı varsa, her mesajın N kez daha yazılması gerekir. Yazma difüzyon senkronizasyon modunun avantajı, alıcı uçtaki mesaj senkronizasyon mantığının çok basit olması ve mesaj senkronizasyonu için gereken okuma basıncını büyük ölçüde azaltan senkronizasyon Zaman Çizelgesinden yalnızca bir kez okunmasının gerekmesidir. Dezavantajı, özellikle grup senaryosu için mesaj yazımının güçlendirilmesidir.
  • Zaman çizelgesi modeli, okuma difüzyonu veya yazma difüzyonu seçimini kısıtlamaz, ancak aynı anda her iki modu da destekleyebilir, çünkü esasen iki modun mantıksal veri modelleri aynıdır, ancak mesaj verileri, çoklu terminal okuma veya kopyalamayı desteklemek için bir zaman çizelgesi kullanır. Çok uçlu okumayı desteklemek için birden çok Zaman Çizelgesine.

IM uygulama senaryosu için, mesajlaşma sistemi genellikle yazma difüzyonunun mesaj senkronizasyon modunu seçer. IM senaryosunda, bir mesaj yalnızca bir kez oluşturulur, ancak birden çok kez okunur Bu, daha fazla okuma ve daha az yazma içeren tipik bir senaryodur.Mesaj okuma-yazma oranı yaklaşık 10: 1'dir. Okuma yayma senkronizasyon modu kullanılırsa, tüm sistemin okuma ve yazma oranı 100: 1'e genişletilecektir. Tek boyutlu okuma veya yazmanın tavana değmemesi için bu okuma ve yazma basıncını dengelemek için iyi optimize edilmiş bir sistem tasarlanmalıdır. Bu nedenle, IM sistemleri gibi senaryolarda, eşzamanlı yazma difüzyon modu genellikle okuma ve yazmayı dengelemek ve 100: 1 okuma ve yazma oranını 30:30 ile dengelemek için uygulanır. Elbette, eşzamanlı yazma difüzyon modu, on binlerce kişilik büyük gruplar gibi bazı aşırı senaryolarla da uğraşmak zorundadır. Bu aşırı yazma difüzyon senaryosu için, okuma difüzyonunun kullanılması dejenere olacaktır. Basit bir IM sistemi genellikle ürün düzeyinde bu kadar büyük bir grubun varlığını sınırlarken, gelişmiş bir IM sistemi için, bu tür ürünlerin ihtiyaçlarını karşılamak için eşzamanlı bir okuma-yazma difüzyon hibrit modu benimsenecektir. Karışık modda, farklı veri türlerine ve farklı okuma ve yazma yüklerine göre yazma difüzyonu veya okuma difüzyonu kullanılıp kullanılmayacağı belirlenir.

Tipik mimari tasarım

Şekilde, birkaç önemli bileşen içeren tipik bir mesaj sistemi mimarisi gösterilmektedir:

  • son : Mesajların göndereni ve alıcısı olarak, mesaj sunucusuna bağlanarak mesaj gönderin ve alın.
  • Mesaj sunucusu : Yatay olarak ölçeklenebilen, mesaj gönderme ve alma isteklerini işleyen ve arka uç mesajlaşma sistemine bağlanabilen bir grup durum bilgisi olmayan sunucu.
  • mesaj kuyruğu : Yeni yazılan mesajların tampon kuyruğu, mesaj sisteminin ön mesaj deposu, en yüksek seviyede tıraş ve vadi doldurma ve asenkron tüketim için kullanılır.
  • Mesaj işleme : Mesaj kuyruğundaki mesaj verilerinin eşzamansız tüketimi, mesaj kalıcılığını işleme ve yazma difüzyon senkronizasyonu için bir grup durumsuz tüketim işleme sunucusu.
  • Mesaj depolama ve dizin kitaplığı : Mesajların kalıcı olarak depolanması, her oturum, mesajın depolanması için bir Zaman Çizelgesine karşılık gelir ve saklanan mesajlar, mesaj almayı sağlamak için indekslenir.
  • Mesaj senkronizasyon kitaplığı : Senkronizasyon mesajlarını difüzyon şeklinde yazın.Her kullanıcının gelen kutusu bir Zaman Çizelgesine karşılık gelir Senkronizasyon kütüphanesindeki mesajların kalıcı olarak depolanması gerekmez.Genellikle mesaj için bir yaşam döngüsü ayarlanır.
  • Yeni mesaj sona kadar gönderilecektir, genellikle mesaj gövdesi mesaj kimliğini (tekilleştirme için), mantıksal zaman damgasını (sıralama için), mesaj türünü (kontrol mesajı, resimli mesaj veya metin mesajı vb.), Mesaj gövdesini vb. Mesaj ilk olarak mesaj kuyruğuna temeldeki depolama için geçici bir tampon olarak yazılacaktır. Mesaj kuyruğundaki mesajlar, sıra dışı kullanıma izin verebilecek mesaj işleme sunucusu tarafından tüketilecektir. Mesaj işleme sunucusu önce mesajları depolar ve ardından senkronize eder, bunları önce giden kutusu Zaman Çizelgesine (depolama kitaplığı) yazar ve ardından bunları her alıcı tarafın gelen kutularına (senkronizasyon kitaplığı) yazar. Mesaj verileri depolama kitaplığına yazıldıktan sonra, neredeyse gerçek zamanlı olarak indekslenecektir İndeks, metin mesajının tam metin indeksini ve çok alanlı indeksi (gönderen, mesaj tipi, vb.) İçerir.

Çevrimiçi cihazlar için, mesaj sunucusu aktif olarak çevrimiçi cihaz tarafına itebilir. Çevrimdışı cihazlar için, oturum açtıktan sonra mesajları sunucuyla aktif olarak senkronize edecektir. Her cihaz en son mesajın sıra kimliğini yerel olarak saklayacak ve sıra kimliğinden sonra tüm mesajları sunucuya senkronize edecektir.

sonuç olarak

Bu makale temel olarak modern IM sistemindeki mesajlaşma sisteminin gerektirdiği yetenekleri tanıtmakta ve geleneksel mimari ile modern mimariyi karşılaştırmaktadır. Aşağıdaki derinlemesine tartışmayı kolaylaştırmak için, Tablestore tarafından tanıtılan Timeline modeli ve IM sistemindeki mesaj depolama ve mesaj senkronizasyon modelinin temel kavramları ve stratejileri tanıtıldı.Son olarak, tipik bir mimari tasarım tanıtıldı.

Eser sahibi: Los Wood

Bu makalenin kaynağı: Aliyun Yunqi Topluluğu

Kaynak bağlantı: https://yq.aliyun.com/articles/698301

Oyunda Chen Xiao'nun kollarından birini kırdı ve şimdi kısa çizmeli bir bel elbisesi giyiyor ve güneşteki ilk aşkı oluyor.
önceki
8 yaşındaki çocuğun ağzındaki bu şey çürümüş ve siyah! Doktor şok oldu!
Sonraki
Yang Ying, yüksek topuklu bir tüp üst etek giydi ve açıkta kalan bacakları gördü. Netizenler: Bu gerçek
Shen Xiangfu, Süper Lig'de harika bir an yarattı: Kaleci 3 dakika boyunca ileri attı ve değiştirildi, tüm veriler 0
Platformdan orta aşamaya: Elaticsearch'ün Ant Financial'daki pratik deneyimi
Ya 43 yaşında? Zhao Wei hâlâ pembe kıyafetler giymeye cüret ediyordu ama barışı bozmak yerine daha da kız gibiydi.
Okuma hizmeti mimarisi yüksek kullanılabilirlik, yüksek ölçeklenebilirlik ve eşzamanlılığı nasıl sağlar?
Dünya dalgası kırılıyor! Çin Süper Ligi'nin dış yardımı sıkıntı içinde patlak verdi ve ön kapı umutsuz bir bakışla yere oturdu
Çin'den maaş almıyor, ancak Çin'in matematikte güçlü bir ülke olmasına yardım etmeye kararlı. Kim o?
"Swagger" ın kahramanı, modern kıyafetler giyiyor ama onu tanıyamayacak kadar şişman ve oturduğunda buzağı kalınlaşıyor
Büyük ölçekli görsel arama nasıl yapılır? eBay, uygulamaya dayalı 7 öneriyi özetledi
Şaşırtıcı tesadüf mü? Arsenal de 18 yıl önceki ilk turda onları mağlup etti, ancak tersine döndü!
Real Madrid planı başarısız oldu: 220 milyon süperstar Paris'te kalacağını açıkladı, Lafayette bu sefer tamamen pes etti
Bir dizi rekor kıran bilet fiyatı% 50 pahalı, "Avenger 4" "Wolf Warrior 2" yi geçebilir mi?
To Top