Magento 2 EE 2.1 তে বার্তা কাতার কনফিগারেশন পরিবর্তন হয়


10

আমি EE বার্তাগুলির সারি কার্যকারিতা দেখছি, তবে মনে হচ্ছে এটি অসম্পূর্ণ।

২.১ এর আগে একটি যুক্তিসঙ্গত কার্যকরী বাস্তবায়ন ছিল যা আপনাকে etc/queue.xmlঅফিসিয়াল ডকুমেন্টেশনে বর্ণিত হিসাবে প্রকাশক, বিষয়, ভোক্তা এবং সারিগুলি সংজ্ঞায়িত করতে একটি তৈরি করতে দেয়: http://devdocs.magento.com/guides/v2.0/config-guide /mq/config-mq.html

কনফিগারেশনে সংজ্ঞায়িত কোনও বিষয়ের সাথে তাল মিলিয়ে বাঁধাই তৈরি করতে সক্ষম না হওয়ার মতো সীমাবদ্ধতা রয়েছে, যা আপনার সামনে সমস্ত সম্ভাব্য বিষয়ের সম্ভাবনাগুলি সংজ্ঞায়িত করার কারণে নমনীয়তা সীমাবদ্ধ করে। পুনরাবৃত্তি ইনস্টল স্ক্রিপ্টের অভাবের অর্থ এছাড়াও ইনস্টলার স্ক্রিপ্টটি আবার চালানোর জন্য আপনাকে কিছুটা হ্যাকিং করতে হয়েছিল।

২.১ হিসাবে প্রকাশক, বিষয়, গ্রাহক এবং বাঁধাইয়ের উপাদানগুলি etc/queue.xmlঅবচয় করা হয়েছে এবং কনফিগারেশনটি এর মধ্যে বিভক্ত হয়ে গেছে etc/queue.xmlএবং এটি etc/communication.xmlএখানে দেখা যাবে: https://github.com/magento/magento2-sams/blob/master/sample- মডিউল-নমুনা-বার্তা-সারি / ইত্যাদি / । অবহেলিত প্রকাশক / বিষয় / ভোক্তা / বাইন্ড স্কিমাটি এখনও বিচ্ছিন্নভাবে ব্যবহার করা যেতে পারে, তবে সংশোধিত ব্রোকার / সারি স্কিমার সাথে একত্রে নয়।

যাইহোক, এর কোনওটিই অফিসিয়াল ডকুমেন্টেশনে হাজির হয়নি এবং এটি কনফিগারেশনটি কেন বিভক্ত হয়েছে এবং তা কিছু ক্ষেত্রে নকলের প্রয়োজন তা অবিলম্বে পরিষ্কার করা যায় না। আরও গুরুত্বপূর্ণ বিষয়, এখন বাঁধার সংজ্ঞা দেওয়ার কোনও সুবিধা বলে মনে হচ্ছে না, পরিবর্তে বিষয়টির নামটি রাউটিং কী হিসাবে ব্যবহৃত হয়েছে। এর ফলে বাঁধাগুলির সারিগুলির জন্য বিশেষ অক্ষর ব্যবহার করা অসম্ভব হয়ে পড়ে। সুতরাং এটি রিফ্যাক্টর হয়েছে তবে কার্যকারিতা হারিয়েছে বলে মনে হয়।

ইতিবাচক নোটে, magento/module-amqpমডিউলটি এখন একটি পুনরাবৃত্তি ইনস্টলার স্ক্রিপ্ট ব্যবহার করে যাতে রান করার সময় সারি কনফিগারেশনের পরিবর্তনগুলি ইনস্টল হয় magento setup:upgrademagento/module-mysql-mqযদিও এই পরিবর্তনটি মডিউলটিতে এখনও প্রয়োগ করা হয়নি।

সুতরাং আমি জানতে চাই: ক) আমি কি এই সমস্ত ভুল পেয়েছি এবং বাইন্ডিংগুলি তৈরি করার আসলে উপায় আছে এবং এটি যেটি মনে হয় তার চেয়ে আরও নমনীয়? খ) কনফিগারেশনটি কেন বিভক্ত হয়েছে?


পার্শ্ব নোট হিসাবে, আমি এটির পরীক্ষা নিরীক্ষা করার সময় https://www.rabbitmq.com / টিউটোরিয়ালস / টিউটোরিয়াল- চারটি-পিএইচপি এইচটিএমএলে র‌্যাবিট এমকিউ টিউটোরিয়ালগুলির একটি টপোলজির উদাহরণ ব্যবহার করেছি :

এখানে চিত্র বর্ণনা লিখুন

এই অবহেলিত কনফিগারেশনটি বেশিরভাগ অংশের জন্য টপোলজি অর্জন করেছে:

queue.xml:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/queue.xsd">
    <topic name="quick.orange.rabbit" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" />
    <topic name="quick.orange.fox" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" />
    <topic name="lazy.pink.rabbit" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" />
    <topic name="lazy.orange.elephant" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" />
    <topic name="lazy.brown.fox" schema="Example\MessageQueue\Api\MessageInterface" publisher="default" />
    <consumer name="consumerOne" queue="queueOne" connection="amqp" class="Example\MessageQueue\Model\Subscriber" method="processMessage" executor="Magento\Framework\MessageQueue\BatchConsumer" />
    <consumer name="consumerTwo" queue="queueTwo" connection="amqp" class="Example\MessageQueue\Model\Subscriber" method="processMessage" executor="Magento\Framework\MessageQueue\BatchConsumer" />
    <bind queue="queueOne" exchange="magento" topic="*.orange.*" />
    <bind queue="queueTwo" exchange="magento" topic="*.*.rabbit"  />
    <bind queue="queueTwo" exchange="magento" topic="lazy.#" />
</config>

আপডেট: ডকুমেন্টেশন এখন আপডেট করা হয়েছে। ওয়াইল্ডকার্ডগুলি এখন সমর্থিত নয়, সুতরাং কোনও বিষয়ের বিনিময়ের নমনীয়তা নালার আকারে দেওয়া হয়েছে। সুতরাং আমি নিম্নলিখিত সরাসরি বিনিময় পুনরায় তৈরি করার চেষ্টা করেছি:

এখানে চিত্র বর্ণনা লিখুন

communication.xml:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Communication/etc/communication.xsd">
    <topic name="orange" request="Example\MessageQueueExample\Api\MessageInterface" />
    <topic name="black" request="Example\MessageQueueExample\Api\MessageInterface" />
    <topic name="green" request="Example\MessageQueueExample\Api\MessageInterface" />
</config>

queue.xml:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework-message-queue:etc/queue.xsd">
    <broker topic="orange" type="amqp" exchange="magento">
        <queue consumer="consumerOne" name="queueOne" handler="Example\MessageQueueExample\Model\Subscriber::processMessage" consumerInstance="Magento\Framework\MessageQueue\Consumer"/>
    </broker>
    <broker topic="black" type="amqp" exchange="magento">
        <queue consumer="consumerTwo" name="queueTwo" handler="Example\MessageQueueExample\Model\Subscriber::processMessage" consumerInstance="Magento\Framework\MessageQueue\Consumer"/>
    </broker>
    <broker topic="green" type="amqp" exchange="magento">
        <queue consumer="consumerTwo" name="queueThree" handler="Example\MessageQueueExample\Model\Subscriber::processMessage" consumerInstance="Magento\Framework\MessageQueue\Consumer"/>
    </broker>
</config>

তবে, আপনি যখন গ্রাহকরা চালান, কেবলমাত্র "সবুজ" বিষয়টি কনজিউমারটো-তে পৌঁছে দেওয়া হয়, এটি "কালো" বিষয়টিকে উপেক্ষা করে। সুতরাং মনে হয় যে সর্বোত্তম যেটি সম্পাদন করা যায় তা হ'ল সারিবদ্ধ এবং ভোক্তা কেবলমাত্র একটি বাঁধাইয়ের সাথে সরাসরি এক্সচেঞ্জ।

উত্তর:


1

আমরা http://devdocs.magento.com/guides/v2.1/config-guide/mq/config-mq.html এবং http://devdocs.magento.com/guides/ এ প্রায় 2.1 বার্তা কাতারে ডকুমেন্টেশন প্রকাশ করেছি v2.1 / কনফিগ-নির্দেশিকা / MQ / কিউ-migration.html


ধন্যবাদ @ কে হার্পার, আপডেট হওয়া ডকুমেন্টেশন খুব সহায়ক। দুঃখজনকভাবে এটি নিশ্চিত করে যে সারি কনফিগারেশনের নমনীয়তা হ্রাস করা হয়েছে।
ফিলাপট

আমি সীমিত নমনীয়তার বিশদটি মূল পোস্টে একটি আপডেট যুক্ত করেছি, আশা করি আপনি সরাসরি এক্সচেঞ্জ টপোলজি তৈরির উপায় আছে কিনা সে বিষয়ে পরামর্শ দিতে সক্ষম হবেন।
ফিলাপট

এছাড়াও কেবল আপনাকে জানাতেই এটি আবার ২.২-এ পরিবর্তিত হয়েছে * *
আন্দ্রে ফেরাজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.