ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

Exchange - ವಿನಿಮಯಕಾರಕ ಅಥವಾ ವಿನಿಮಯ ಬಿಂದು. ಅದಕ್ಕೆ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ. Exchange ಸಂದೇಶವನ್ನು ವಿತರಿಸುತ್ತದೆ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸಾಲುಗಳಲ್ಲಿ. ಅವನು ಸರತಿ ಸಾಲಿನಲ್ಲಿ ಸಂದೇಶಗಳನ್ನು ರವಾನಿಸುತ್ತದೆ ರಚಿಸಿದ ಲಿಂಕ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ (bindings) ಇದು ಮತ್ತು ಸರದಿಯ ನಡುವೆ.

Exchange ಅಲ್ಲ ಎರ್ಲಾಂಗ್ ಪ್ರಕ್ರಿಯೆ. ಸ್ಕೇಲೆಬಿಲಿಟಿ ಕಾರಣಗಳಿಗಾಗಿ exchange ಅಂತರ್ನಿರ್ಮಿತ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್ (ರೂಟಿಂಗ್ ಲಾಜಿಕ್ ಇರುವ ಕೋಡ್‌ನೊಂದಿಗೆ ಮಾಡ್ಯೂಲ್‌ಗೆ ಲಿಂಕ್) ಸ್ಮೃತಿ. 1 ಸಾವಿರ ವಿನಿಮಯಕಾರಕಗಳು ಕೇವಲ 1MB ಮೆಮೊರಿಯನ್ನು ಬಳಸುತ್ತವೆ.

ಪರಿವಿಡಿ

  • ಮೊಲMQ. ಭಾಗ 1. ಪರಿಚಯ. ಎರ್ಲಾಂಗ್, AMQP ಮತ್ತು RPC
  • ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು
  • ಮೊಲMQ. ಭಾಗ 3. ಕ್ಯೂಗಳು ಮತ್ತು ಬೈಂಡಿಂಗ್‌ಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
  • ಮೊಲMQ. ಭಾಗ 4. ಸಂದೇಶಗಳು ಮತ್ತು ಚೌಕಟ್ಟುಗಳ ಬಗ್ಗೆ ವ್ಯವಹರಿಸುವುದು
  • ಮೊಲMQ. ಭಾಗ 5: ಸಂದೇಶ ಪ್ರದರ್ಶನವನ್ನು ಪ್ರಕಟಿಸುವುದು ಮತ್ತು ಸೇವಿಸುವುದು
  • ಮೊಲMQ. ಭಾಗ 6. ಫೆಡರೇಶನ್ ಮತ್ತು ಸಲಿಕೆ ಮಾಡ್ಯೂಲ್ಗಳ ಅವಲೋಕನ
  • ಮೊಲMQ. ಭಾಗ 7. ಸಂಪರ್ಕ ಮತ್ತು ಶನೆಲ್ ಬಗ್ಗೆ ವಿವರಗಳು
  • ಮೊಲMQ. ಭಾಗ 8. .NET ನಲ್ಲಿ RabbitMQ
  • ಮೊಲMQ. ಭಾಗ 9. ಮಾನಿಟರಿಂಗ್

ನೇರ ವಿನಿಮಯ

Direct exchange - ಅಗತ್ಯವಿದ್ದಾಗ ಬಳಸಲಾಗುತ್ತದೆ ನಿರ್ದಿಷ್ಟ ಸಾಲುಗಳಿಗೆ ಸಂದೇಶವನ್ನು ತಲುಪಿಸಿ. ಸಂದೇಶವನ್ನು ವಿನಿಮಯಕಾರಕಕ್ಕೆ ನಿರ್ದಿಷ್ಟವಾಗಿ ಪ್ರಕಟಿಸಲಾಗಿದೆ ರೂಟಿಂಗ್ ಕೀ ಮತ್ತು ಇದೇ ರೀತಿಯ ರೂಟಿಂಗ್ ಕೀಲಿಯೊಂದಿಗೆ ಈ ವಿನಿಮಯಕಾರಕದೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಎಲ್ಲಾ ಸರತಿ ಸಾಲುಗಳನ್ನು ಪಡೆಯುತ್ತದೆ. ರೂಟಿಂಗ್ ಕೀ ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಆಗಿದೆ. ಬಳಸಿ ಹೊಂದಾಣಿಕೆ ಮಾಡಲಾಗುತ್ತದೆ ಸಮಾನತೆಗಾಗಿ ತಂತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ.

ಸಂದೇಶ ಹರಿವಿನ ಚಿತ್ರಾತ್ಮಕ ನಿರೂಪಣೆ:

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

В rabbitmq ಒಂದು ಪರಿಕಲ್ಪನೆ ಇದೆ ಡೀಫಾಲ್ಟ್ ವಿನಿಮಯಕಾರಕ. ಅದು direct exchange ಹೆಸರಿಲ್ಲ. ಡೀಫಾಲ್ಟ್ ವಿನಿಮಯಕಾರಕವನ್ನು ಬಳಸಿದರೆ, ನಂತರ ಸಂದೇಶವನ್ನು ಸಮಾನವಾದ ಹೆಸರಿನೊಂದಿಗೆ ಸರದಿಯಲ್ಲಿ ಕಳುಹಿಸಲಾಗುತ್ತದೆ ಸಂದೇಶ ರೂಟಿಂಗ್ ಕೀ.

ವಿಷಯ ವಿನಿಮಯ

Topic exchange - ಹೋಲುತ್ತದೆ direct exchange ರೂಟಿಂಗ್ ಕೀಯನ್ನು ಹೋಲಿಸುವ ಮೂಲಕ ಆಯ್ದ ರೂಟಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಆದರೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಕೀಲಿಯನ್ನು ನೀಡಲಾಗಿದೆ ಟೆಂಪ್ಲೇಟ್ ಮೂಲಕ. ಟೆಂಪ್ಲೇಟ್ ರಚಿಸುವಾಗ, ಬಳಸಿ 0 ಅಥವಾ ಹೆಚ್ಚಿನ ಪದಗಳು (ಅಕ್ಷರಗಳು AZ и az ಮತ್ತು ಸಂಖ್ಯೆಗಳು 0-9), ಚುಕ್ಕೆ, ಹಾಗೆಯೇ ಚಿಹ್ನೆಗಳಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ * и #.

  • * - ನಿಖರವಾಗಿ ಬದಲಾಯಿಸಬಹುದು 1 ಪದ
  • # - ಮೂಲಕ ಬದಲಾಯಿಸಬಹುದು 0 ಅಥವಾ ಹೆಚ್ಚಿನ ಪದಗಳು

ಸಂದೇಶ ಹರಿವಿನ ಚಿತ್ರಾತ್ಮಕ ನಿರೂಪಣೆ:

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

ಆವೃತ್ತಿಯಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ RabbitMQ 2.4.0 ರೂಟಿಂಗ್ ಅಲ್ಗಾರಿದಮ್ topic exchange ತನಕ ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿದರು 145 ಪಟ್ಟು ವೇಗವಾಗಿ. ವಿಧಾನವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ ಅವರು ಇದನ್ನು ಸಾಧಿಸಿದರು ಅನುಷ್ಠಾನಕ್ಕೆ ಪ್ರಯತ್ನಿಸಿ, ಇದು ಮರದ ರಚನೆಯಾಗಿ ಟೆಂಪ್ಲೇಟ್‌ಗಳ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ ಟೆಂಪ್ಲೇಟ್‌ಗಳು a.b.c, a.*.b.c, a.#.c и b.b.c ಕೆಳಗಿನ ರಚನೆಯಿಂದ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ:

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

ಪ್ಯಾಟರ್ನ್ ಹೊಂದಾಣಿಕೆಯನ್ನು ಮೂಲದಿಂದ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಮೇಲಿನಿಂದ ಕೆಳಕ್ಕೆ ಹುಡುಕಲಾಗುತ್ತದೆ.

ವೈಶಿಷ್ಟ್ಯಗಳು

  • ಈ ವಿನಿಮಯಕಾರಕದ ಬಳಕೆ ಆಗಬಹುದು ಸಂಭವನೀಯ ಭವಿಷ್ಯದ ಅಪ್ಲಿಕೇಶನ್ ಅಭಿವೃದ್ಧಿಗೆ ಉತ್ತಮ ಆಯ್ಕೆ, ಏಕೆಂದರೆ ಟೆಂಪ್ಲೇಟ್‌ಗಳನ್ನು ಯಾವಾಗಲೂ ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದು ಇದರಿಂದ ಸಂದೇಶವನ್ನು ಅದೇ ರೀತಿ ಪ್ರಕಟಿಸಲಾಗುತ್ತದೆ direct exchange ಅಥವಾ fanout exchange
  • ಬಳಸುವ ಟೆಂಪ್ಲೇಟ್‌ಗಳು * ಹೆಚ್ಚು ವೇಗವಾಗಿಬಳಸುವ ಟೆಂಪ್ಲೇಟ್‌ಗಳಿಗಿಂತ #.
  • topic exchange ನಿಧಾನವಾಗಿ direct exchange

ಅಭಿಮಾನಿಗಳ ವಿನಿಮಯ

Fanout exchange - ಎಲ್ಲಾ ಸಂದೇಶಗಳನ್ನು ಎಲ್ಲಾ ಸಾಲುಗಳಿಗೆ ತಲುಪಿಸಲಾಗುತ್ತದೆ ಸಂದೇಶದಲ್ಲಿ ರೂಟಿಂಗ್ ಕೀಲಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ್ದರೂ ಸಹ.

ವೈಶಿಷ್ಟ್ಯಗಳು

  • RabbitMQ ರೂಟಿಂಗ್ ಕೀಗಳು ಮತ್ತು ಟೆಂಪ್ಲೆಟ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ ಇದು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಸಕಾರಾತ್ಮಕ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಇದು ಅತ್ಯಂತ ವೇಗವಾಗಿದೆ exchange;
  • ಎಲ್ಲಾ ಗ್ರಾಹಕರು ಎಲ್ಲಾ ಸಂದೇಶಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ;

ಸಂದೇಶ ಹರಿವಿನ ಚಿತ್ರಾತ್ಮಕ ನಿರೂಪಣೆ:

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

ಹೆಡರ್ ಎಕ್ಸ್ಚೇಂಜ್

Headers exchange - (ಕೀ, ಮೌಲ್ಯ) ಗುಣಲಕ್ಷಣಗಳ ಜೋಡಿಗಳ ಹೋಲಿಕೆಯ ಆಧಾರದ ಮೇಲೆ ಸಂಬಂಧಿತ ಸಾಲುಗಳಿಗೆ ಸಂದೇಶಗಳನ್ನು ನಿರ್ದೇಶಿಸುತ್ತದೆ headers ಬೈಂಡಿಂಗ್ ಮತ್ತು ಇದೇ ರೀತಿಯ ಸಂದೇಶ ಆಸ್ತಿ. headers ಒಂದು Dictionary<ключ, значение>.

ನೀವು ನಿಘಂಟಿಗೆ ವಿಶೇಷ ಕೀಲಿಯನ್ನು ಸೇರಿಸಿದರೆ x-match ಅರ್ಥದೊಂದಿಗೆ any, ನಂತರ ಜೋಡಿಗಳು (ಕೀ, ಮೌಲ್ಯ) ಭಾಗಶಃ ಹೊಂದಾಣಿಕೆಯಾದರೆ ಸಂದೇಶವನ್ನು ರವಾನಿಸಲಾಗುತ್ತದೆ. ಈ ನಡವಳಿಕೆಯು ಆಪರೇಟರ್‌ನಂತೆಯೇ ಇರುತ್ತದೆ or.

var bindingArguments = new Dictinary<String, Object>();
bindingArguments.add("x-match", "any");

ಡೀಫಾಲ್ಟ್ ಕೀ x-match ಮೌಲ್ಯವನ್ನು ಒಳಗೊಂಡಿದೆ all. ಇದರರ್ಥ ಜೋಡಿಗಳು (ಕೀ, ಮೌಲ್ಯ) ಸಂಪೂರ್ಣವಾಗಿ ಹೊಂದಿಕೆಯಾದಾಗ ಸಂದೇಶವನ್ನು ರವಾನಿಸಲಾಗುತ್ತದೆ. ಈ ನಡವಳಿಕೆಯು ಆಪರೇಟರ್‌ನಂತೆಯೇ ಇರುತ್ತದೆ and.

ಸಂದೇಶ ಹರಿವಿನ ಚಿತ್ರಾತ್ಮಕ ನಿರೂಪಣೆ:

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

ವೈಶಿಷ್ಟ್ಯಗಳು

  • ಹೆಚ್ಚುವರಿ ನಮ್ಯತೆ
  • ಹೆಚ್ಚುವರಿ ಕಂಪ್ಯೂಟೇಶನಲ್ ಓವರ್ಹೆಡ್. ಗುಣಲಕ್ಷಣದ ಎಲ್ಲಾ ಜೋಡಿಗಳು (ಕೀ, ಮೌಲ್ಯ). headers ಸಂದೇಶ ರೂಟಿಂಗ್ ಮೌಲ್ಯಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಮೊದಲು ಕೀ ಹೆಸರಿನಿಂದ ವಿಂಗಡಿಸಬೇಕು. ಇತರ ರೀತಿಯ ವಿನಿಮಯಕ್ಕಿಂತ ನಿಧಾನ.

ಸ್ಥಿರವಾದ ಹ್ಯಾಶಿಂಗ್ ವಿನಿಮಯ

ಈ ವಿನಿಮಯಕಾರಕ ಪ್ಲಗಿನ್ и ನಿರ್ಮಿಸಲಾಗಿಲ್ಲ в RabbitMQ.

Consistent-hashing exchange (ಸ್ಥಿರವಾದ ಹ್ಯಾಶಿಂಗ್‌ನೊಂದಿಗೆ ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಿ) - ಸಂದೇಶದ ಸಂಭಾವ್ಯ ಸ್ವೀಕೃತದಾರರಾಗಿರುವ ಬಹು ಸಾಲುಗಳಿರುವಾಗ ಮತ್ತು ಅವುಗಳ ನಡುವೆ ಲೋಡ್ ಅನ್ನು ಸಮತೋಲನಗೊಳಿಸಬೇಕಾದಾಗ ಬಳಸಲಾಗುತ್ತದೆ. ಸಂದೇಶವು ತೂಕದ ಮೂಲಕ ಕ್ಯೂಗೆ ಸಂಬಂಧಿಸಿದೆ (ಇದರಿಂದ ಷರತ್ತುಬದ್ಧ ಸ್ಟ್ರಿಂಗ್ ಮೌಲ್ಯ 0 - n).

ಸರದಿಗಳ ಸಮಾನ ತೂಕ - ಪ್ರತಿ ಕ್ಯೂ ಸ್ವೀಕರಿಸುತ್ತದೆ ಎಂದು ಸೂಚಿಸುತ್ತದೆ ಸುಮಾರು ಅದೇ ಮೊತ್ತ ಸಂದೇಶಗಳು (ಪ್ರತಿ ಸಂದೇಶವನ್ನು ಕೇವಲ ಒಂದು ಸರದಿಯಲ್ಲಿ ಹಾಕಲಾಗುತ್ತದೆ). ಸಂದೇಶಗಳ ಏಕರೂಪದ ವಿತರಣೆಯ ಸಂಪೂರ್ಣ ಗ್ಯಾರಂಟಿ ಇಲ್ಲ.

ಸಂದೇಶ ಹರಿವಿನ ಚಿತ್ರಾತ್ಮಕ ನಿರೂಪಣೆ:

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

Hash ರೂಟಿಂಗ್ ಕೀ ಅಥವಾ ಆಸ್ತಿಯ ಆಧಾರದ ಮೇಲೆ ಲೆಕ್ಕಹಾಕಲಾಗಿದೆ headers ಸಂದೇಶಗಳು. ಎಲ್ಲಾ ಪ್ರಕಟಿತ ಸಂದೇಶಗಳು ವಿಭಿನ್ನ ರೂಟಿಂಗ್ ಕೀಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಅಥವಾ headers, ನಂತರ ವಿತರಣೆಯು ತೂಕದಿಂದ ಸಂಭವಿಸುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ, ರೂಟಿಂಗ್ ಕೀಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಅಥವಾ headers.

ಗ್ರಾಹಕ ಥ್ರೋಪುಟ್ ಒಂದೇ ಸರದಿಯನ್ನು ಬಳಸುವ ಅನೇಕ ಗ್ರಾಹಕರೊಂದಿಗೆ ಪರಿಹಾರಕ್ಕಿಂತ ಹೆಚ್ಚಿಗೆ ಬೆಳೆಯಬೇಕಾದಾಗ ಸಹಾಯ ಮಾಡಬೇಕು.

ವಿನಿಮಯಕಾರಕಗಳ ಸಂಯೋಜನೆ (E2E)

ಸಂವಹನವನ್ನು ಬಳಸಿಕೊಂಡು ಎಲ್ಲಾ ವಿನಿಮಯಕಾರಕಗಳ ನಡವಳಿಕೆಯನ್ನು ಸಂಯೋಜಿಸಬಹುದು ಎಕ್ಸ್ಚೇಂಜ್-ಟು-ಎಕ್ಸ್ಚೇಂಜ್ (ವಿನಿಮಯಕಾರರ ಸಂಯೋಜನೆಯನ್ನು ನಿರ್ದಿಷ್ಟತೆಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿಲ್ಲ AMQP. ಇದು ಬದಿಯಿಂದ ಪ್ರೋಟೋಕಾಲ್ ವಿಸ್ತರಣೆಯಾಗಿದೆ RabbitMQ).

ಸಂದೇಶ ಹರಿವಿನ ಚಿತ್ರಾತ್ಮಕ ನಿರೂಪಣೆ:

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

ವೆಚ್ಚದಲ್ಲಿ E2E ಪ್ರಸ್ತುತ ಮತ್ತು ಬೆಳೆಯುತ್ತಿರುವ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸುವ ಸರಿಯಾದ ಸ್ಕೇಲೆಬಲ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ನಾವು ಕಾಣಬಹುದು.

ವಿನಿಮಯವನ್ನು ರಚಿಸಿ

ವಿನಿಮಯಕಾರಕವನ್ನು ಸಿಂಕ್ರೊನಸ್ ಬಳಸಿ ರಚಿಸಲಾಗಿದೆ RPC ಸರ್ವರ್‌ಗೆ ವಿನಂತಿ. ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ವಿನಂತಿಯನ್ನು ಮಾಡಲಾಗಿದೆ Exchange.Declareನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಕರೆಯಲಾಗುತ್ತದೆ:

  • ವಿನಿಮಯಕಾರಕ ಹೆಸರು
  • ವಿನಿಮಯಕಾರಕ ಪ್ರಕಾರ
  • ಇತರ ಆಯ್ಕೆಗಳು

ಸೃಷ್ಟಿ ಉದಾಹರಣೆ exchange ಸಹಾಯದಿಂದ RabbitMQ.Client:

//...
channel.ExchangeDeclare(
    exchange: "my_exchange",
    type: "direct",
    durable: "false",
    autoDelete: "false",
    arguments: null
);
//...

  • exchange - ನಾವು ರಚಿಸಲು ಬಯಸುವ ವಿನಿಮಯಕಾರಕ ಹೆಸರು. ಹೆಸರು ಅನನ್ಯವಾಗಿರಬೇಕು
  • type - ವಿನಿಮಯಕಾರಕ ಪ್ರಕಾರ
  • durable - ಸ್ಥಾಪಿಸಿದರೆ true, ನಂತರ exchange ಶಾಶ್ವತವಾಗಿರುತ್ತದೆ. ಇದನ್ನು ಡಿಸ್ಕ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಸರ್ವರ್/ಬ್ರೋಕರ್ ಮರುಪ್ರಾರಂಭದಿಂದ ಬದುಕಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಮೌಲ್ಯವಾಗಿದ್ದರೆ false, ನಂತರ exchange ಇದು ತಾತ್ಕಾಲಿಕವಾಗಿದೆ ಮತ್ತು ಸರ್ವರ್/ಬ್ರೋಕರ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿದಾಗ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ
  • autoDelete - ಸ್ವಯಂಚಾಲಿತ ಅಳಿಸುವಿಕೆ. Exchange ಎಲ್ಲಾ ಸಂಬಂಧಿತ ಸರತಿ ಸಾಲುಗಳನ್ನು ಅಳಿಸಿದಾಗ ಅಳಿಸಲಾಗುತ್ತದೆ
  • arguments ಐಚ್ಛಿಕ ವಾದಗಳಾಗಿವೆ. ಹೆಚ್ಚಾಗಿ, ವಾದಗಳ ಸೆಟ್ ಮೂಲಕ alternative exchange (ಪರ್ಯಾಯ ವಿನಿಮಯಕಾರಕ) ಒಂದು ಸಂದೇಶವು ಮೂಲ ಮಾರ್ಗದ ಮೂಲಕ ಹೋಗಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಅದನ್ನು ಬೇರೆ ಮಾರ್ಗದಲ್ಲಿ ರವಾನಿಸಲು ಪರ್ಯಾಯ ವಿನಿಮಯಕ್ಕೆ ಕಳುಹಿಸಬಹುದು.

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

ಸೃಷ್ಟಿಯಾದರೆ exchange ಬಹುಶಃ, ನಂತರ ಸರ್ವರ್ ಕ್ಲೈಂಟ್ ಅನ್ನು ಸಿಂಕ್ರೊನಸ್ ಕಳುಹಿಸುತ್ತದೆ RPC ಉತ್ತರ Exchange.DeclareOk. ಸೃಷ್ಟಿಯಾದರೆ ಅಸಾಧ್ಯ (ವಿನಂತಿಯ ಮೇಲೆ ನಿರಾಕರಣೆ ಕಂಡುಬಂದಿದೆ Exchange.Declare), ನಂತರ ಚಾನಲ್ ಮುಚ್ಚುತ್ತದೆ ಅಸಮಕಾಲಿಕ ಆಜ್ಞೆಯನ್ನು ಬಳಸುವ ಸರ್ವರ್ Channel.Close ಮತ್ತು ಕ್ಲೈಂಟ್ ವಿನಾಯಿತಿ ಪಡೆಯುತ್ತಾನೆ ಆಪರೇಷನ್ ಇಂಟರಪ್ಟೆಡ್ ಎಕ್ಸೆಪ್ಶನ್, ಇದು ದೋಷ ಕೋಡ್ ಮತ್ತು ಅದರ ವಿವರಣೆಯನ್ನು ಹೊಂದಿರುತ್ತದೆ.

ಪೋಸ್ಟ್ ಮಾಡುವ ಮೊದಲು ವಿನಿಮಯಕಾರಕವನ್ನು ರಚಿಸಬೇಕು. ನೀವು ಕೆಲವು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ವಿನಿಮಯಕಾರಕಕ್ಕೆ ಸಂದೇಶವನ್ನು ಪ್ರಕಟಿಸಿದರೆ - RabbitMQ ಮೌನವಾಗಿ ಅದನ್ನು ತೆಗೆದುಹಾಕಿ.

ವಿನಿಮಯ GUI ಅನ್ನು ರಚಿಸಿ

ನಿರ್ವಾಹಕ ಫಲಕಕ್ಕೆ ಹೋಗಿ RabbitMQ ಬಳಕೆದಾರರ ಅಡಿಯಲ್ಲಿ guest (ಬಳಕೆದಾರ ಹೆಸರು: guest ಮತ್ತು ಪಾಸ್ವರ್ಡ್: guest) ಬಳಕೆದಾರ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ guest ಸ್ಥಳೀಯ ಹೋಸ್ಟ್‌ನಿಂದ ಮಾತ್ರ ಸಂಪರ್ಕಿಸಬಹುದು. ಈಗ ಟ್ಯಾಬ್‌ಗೆ ಹೋಗೋಣ Exchanges ಮತ್ತು ಕ್ಲಿಕ್ ಮಾಡಿ Add a new exchange. ಗುಣಲಕ್ಷಣಗಳನ್ನು ಭರ್ತಿ ಮಾಡಿ:

ಮೊಲMQ. ಭಾಗ 2. ವಿನಿಮಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದು

ಹೆಚ್ಚಿನ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಮೇಲೆ ವಿವರಿಸಲಾಗಿದೆ. ನಾವು ಹೊಂದಿಸಿದರೆ ಇಲ್ಲಿ ನಾವು ಗಮನಿಸುತ್ತೇವೆ Internal, ನಂತರ ವಿನಿಮಯವನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದು E2E. Producer ಅಂತಹ ವಿನಿಮಯಕ್ಕೆ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.

ತೀರ್ಮಾನಕ್ಕೆ

ವ್ಯವಸ್ಥೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ, ಟೋಪೋಲಜಿಯನ್ನು ವಿವರಿಸಲು ಅನುಕೂಲಕರವಾಗಿದೆ ರೂಟಿಂಗ್ ಗ್ರಾಫ್ ಅನ್ನು ಬಳಸುವುದು. ಆದರೆ ನೀವು ಗ್ರಾಫ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ಹೆಚ್ಚಿನ ದಟ್ಟಣೆಯೊಂದಿಗೆ ಮಾರ್ಗಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡುವುದು ಯೋಗ್ಯವಾಗಿದೆ, ಏಕೆಂದರೆ. ಅವರು ಅಗತ್ಯವಿದೆ ಹೆಚ್ಚಿನ ಥ್ರೋಪುಟ್ (ಕಾರ್ಯಕ್ಷಮತೆ). ಮುಂದೆ, ನೀವು ಸಂಚಾರವನ್ನು ವರ್ಗೀಕರಿಸಬಹುದು. ತದನಂತರ ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸಿ.

ನಿರ್ಮಿಸಿದ ಗ್ರಾಫ್‌ನಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ ಸೀಮಿತ ಸೆಟ್ ರೂಟಿಂಗ್ ಕೀಗಳು, ನಂತರ, ಹಲವಾರು ಕಡೆಗೆ ನೋಡುವುದು ಯೋಗ್ಯವಾಗಿದೆ fanout exchange, ಇದು 1:1 ರೂಟಿಂಗ್ ಕೀಗೆ ಸಂಬಂಧಿಸಿದೆ. ಅದು ನೆನಪಿರಲಿ fanout exchange ಅತ್ಯಂತ ವೇಗವಾದ.

ಮಾರ್ಗಗಳ ಸಂಖ್ಯೆ ಇದ್ದರೆ ಅನಂತತೆಗೆ ಒಲವು ತೋರುತ್ತದೆ, ಇದು ಗಮನ ಕೊಡುವುದು ಯೋಗ್ಯವಾಗಿದೆ topic exchange ಅಥವಾ, ಟೆಂಪ್ಲೇಟ್ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ, ನೀವು ಆಯ್ಕೆ ಮಾಡಬಹುದು direct exchnge, ಏಕೆಂದರೆ ಅವನು ವೇಗವಾಗಿರುತ್ತಾನೆ topic exchange.

ವಿವಿಧ ಸಂಯೋಜನೆಗಳು exchange ಸರಿಯಾದದನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಬೇಕು. ಸ್ಕೇಲೆಬಲ್ ಕಾನ್ಫಿಗರೇಶನ್, ಇದು ಪ್ರಸ್ತುತ ಮತ್ತು ಬೆಳೆಯುತ್ತಿರುವ ಸಿಸ್ಟಮ್ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸುತ್ತದೆ.

ಸಂಖ್ಯೆ exchange ಮತ್ತು ಮಾರ್ಗಗಳ ಸಂಖ್ಯೆಗೆ ಹೋಲಿಸಿದರೆ ಸರತಿ ಸಾಲುಗಳು ಕನಿಷ್ಠವಾಗಿರಬೇಕು.

ಮುಂದಿನ ಲೇಖನದಲ್ಲಿ, ನಾವು ಕ್ಯೂಗಳು ಮತ್ತು ಬೈಂಡಿಂಗ್‌ಗಳ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ.

ಉಲ್ಲೇಖಗಳು

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ