Kia ora, Habr! E hiahia ana ahau ki te whakapuaki i tetahi pukapuka tohutoro mo te matauranga i taea e au te kohikohi RabbitMQ me te whakamaarama ki nga tohutohu poto me nga whakatau.
Ripanga o nga ihirangi
- RapetiMQ. Wāhanga 1. Kupu Whakataki. Erlang, AMQP me RPC
- RapetiMQ. Wāhanga 2. Te Maramatanga ki nga Whakawhitiwhiti
- RapetiMQ. Wāhanga 3. Te Māramatanga ki ngā Tūtira me ngā Here
- RapetiMQ. Wāhanga 4. Te māramatanga he aha ngā karere me ngā tāpare
- RapetiMQ. Wāhanga 5: Te Whakaputa Karere me te Mahi Whakamahi
- RapetiMQ. Wāhanga 6. Te arotake i nga waahanga o te Federation me te koko
- RapetiMQ. Wāhanga 7. Nga korero mo te Hononga me te Chanel
- RapetiMQ. Wāhanga 8. RabbitMQ i .NET
- RapetiMQ. Wāhanga 9. Te Aroturuki
He korero poto mo AMQP
Ko te AMQP (Advanced Message Queuing Protocol) he kawa tuwhera mo te tuku karere i waenga i nga waahanga punaha. Ko te whakaaro matua ka taea e nga punaha-a-roto takitahi (nga tono motuhake ranei) te whakawhiti i nga karere i runga i te ahua o te kaihokohoko AMQP, e mahi ana i te ararere, ka whakamanahia pea te tuku, te tohatoha i nga awa raraunga, me te ohauru ki nga momo karere e hiahiatia ana.
Tuhinga AMQP e whakaatu ana i nga ariā e toru:

exchange(whakawhitinga, whakawhiti ranei) - ka tukuna nga karere ki a ia. Ira whakawhiti ka tohatoha karere i roto i te rarangi kotahi, neke atu ranei. Ko ia ara i nga karere ki tetahi rarangi i runga i nga hononga i hangaia (binding) i waenganui i a ia me te tūtiraqueue(Tira) - he hanganga raraunga i runga i te kōpae, i te RAM ranei ka penapena hononga ki nga karere me te tuku kape o nga karereconsumers(ki nga kaihoko)binding(binding) - he ture e ka korero ki te waahi whakawhiti ko tehea rarangi me uru enei karere
Ka rere te kawa ki runga .
He poto mo Erlang
Ko te waehere puna o te kaupapa kei roto i te putunga i . Hangahanga i runga i me te KUrupae.
Erlangwhakawhanakehia e te kamupeneEricssoni waenganui o te 1980s he punaha toha, he-kore, he punaha wa-pono mo nga tono me 99,999% te wa mahi.Erlangwhakamahia i roto i nga momo ahumahi me nga tono hou, hei tauira.
He korero poto mo RabbitMQ
he kaihokohoko karere puna tuwhera. Ka arataki i nga karere i runga i nga maapono taketake katoa o te kawa whakaahuatia i roto i . RabbitMQ ka whakatinana me te taapiri i te kawa AMQP.
Ko te whakaaro matua o te tauira karere i roto RabbitMQ mea ko producer (kaiwhakaputa) kaore e tuku karere tika ki te rarangi. Inaa, he maha tonu, kaore te kaiwhakaputa i te mohio mena ka tukuna atu te karere ki tetahi rarangi.
Engari, ka taea e te kaiwhakaputa anake te tuku karere ki te whakawhiti. I tetahi taha, ka whiwhi te whakawhitiwhiti i nga karere mai i nga kaiwhakaputa, i tetahi atu ringa, ka tukuna atu ki nga rarangi. Me tino mohio te whakawhitinga ki te mahi ki te karere ka riro mai. Me taapiri atu ki tetahi rarangi motuhake? Me taapiri atu ki nga rarangi maha? Me waiho ranei te karere.

Mahi poto RabbitMQ Ka taea te korero penei:
- Ka tukuna e te kaiwhakaputa he karere ki tetahi whakawhitinga motuhake
- Ko te whakawhitinga, ka tae mai he karere, ka toro atu ki tetahi, neke atu ranei o nga rarangi i runga i nga ture here i waenga i a ia me te rarangi.
- Ka penapenahia e te rarangi he tohutoro ki tenei karere. Ko te karere ake kei te penapena i roto i te RAM, i te kōpae ranei
- Kia rite te kaihoko ki te whiwhi karere mai i te rarangi, ka hangaia e te kaimau he kape o te karere ma te hono me te tuku
- Ka whiwhi te kaihoko i te panui me te tuku i te whakapumautanga ki te kaihokohoko
- Ka tangohia e te kaihokohoko he kape o te karere mai i te rarangi. Na ka mukua mai i te RAM me te kōpae
Kotahi
tukanga kei raro tata katoa nga taunekeneke ki te karihi RabbitMQ. Hei tauira, ko nga korerorero tuatahi mo nga kupu a te kiritaki me RabbitMQ, e whakaatu ana i tetahi tukanga RPC. Kia oti tenei raupapa, RabbitMQ ka rite ki te whakaae ki nga tono a te kaihoko:

I roto ano hoki i te whakaritenga AMQP Ka taea e te kiritaki me te tūmau te tuku whakahau. Ko te tikanga kei te tatari te kiritaki ki te korero ki te tūmau. Ko nga whakahau he karaehe me nga tikanga. Hei tauira, Connection.Start – karanga tikanga Start akomanga Connection.
Hononga me nga hongere
Mo nga whakawhitiwhiti korero penei i waenga i te kaihoko me te tūmau, hongere. Ka hangaia nga hongere i roto hononga motuhake. Ka wehea ia hongere mai i etahi atu hongere. I roto i te keehi tukutahi, kaore e taea te whakahaere i te whakahau e whai ake nei kia tae ra ano he whakautu.
Kia taea ai e koe te tuku whakahau i roto i te whakarara, me whakatuwhera e koe etahi hongere. Ka hangaia e ia hongere he waahanga motuhake Erlang tukanga. Ka taea e tetahi hononga te maha nga hongere (). Mo ia hongere he hanganga me etahi taonga kei roto i te mahara. No reira, ko te maha o nga hongere kei roto i tetahi hononga, ko te He nui ake te mahara a RabbitMQ ki te whakahaere i taua hononga.

He tauira ngawari mo te hanga hononga me te hongere ma te whakamahi :
// ...
private void TryConnect()
{
var factory = new ConnectionFactory()
{
HostName = "host_name",
UserName = "user_name",
Password = "p@ssword",
// Включение автоматичекого восстановления
// соединения после сбоев сети
AutomaticRecoveryEnabled = true
};
_connection = factory.CreateConnection();
}
// ...
public void CreateChanel()
{
_channel = _connection.CreateModel();
// other options
}Ko te whakatuwhera i tetahi hononga hou mo ia mahi ka tino whakakorehia na tenei ka nui te utu. Me mau tonu nga hongere, engari he maha nga hapa kawa ka kati te hongere, na reira ka poto ake te roanga o te hongere i tera o te hononga.
Kei hea te RabbitMQ e whakamahia ana?
I roto i te horopaki o microservices, te kawa AMQP me tona whakatinanatanga i roto RabbitMQ whakamahia maha mo pāhekoheko tukutahi i waenganui i nga ratonga.
I roto i te horopaki IIOT kawa AMQP me tona whakatinanatanga i roto RabbitMQ whakamahia mo te whakawhiti raraunga i waenga i nga tūmau (tūmau-tūmau). Whakamahia hoki te mono he whakatinanatanga o te kawa mo te tuku raraunga i waenga i te pūoko me te tūmau i roto i nga taiao iti-tere, teitei-tere (he rarangi katoa o nga kawa tautoko kua whakarārangihia i ).
I roto i te tuhinga e whai ake nei ka timata tatou ki te mohio ki nga Whakawhitinga i roto i nga korero taipitopito.
tohutoro
Source: will.com
