В настоящее время проект находится на начальной стадии разработки. Это продолжение моего изучения netty. В процессе написания этого проекта я обнаружил интересный и забавный коммуникационный фреймворк talent-aio. Он очень быстрый, простой в использовании, исходный код заслуживает внимания. Возможно, после доработки он сможет заменить netty. Важно то, что он написан китайским разработчиком, и его необходимо поддерживать.
Недавно я ознакомился с новым руководством по разработке на Java от Alibaba «Руководство по разработке на Java от компании Alibaba», которое показалось мне хорошим и может быть использовано в качестве стандарта кодирования для проекта.
При проектировании я также руководствовался принципами, изложенными в статье «Принципы проектирования архитектуры» от автора dubbo Лян Фэя.
Первый этап включает изучение некоторых существующих колёс MQ и рассмотрение простых идей дизайна MQ, заимствуя хорошие структуры из различных источников:
>>> https://github.com/tang-jie/AvatarMQ.git
Автор имеет специальный раздел в своём блоге на Baidu, где подробно объясняет свой опыт создания других продуктов MQ. Код не только для просмотра, но и для написания.
>>> https://github.com/uncodecn/uncode-mq.git
У автора есть блог на oschina. Автор разработал довольно полный проект, но не уделил должного внимания производительности, например, часть сериализации всё ещё использует IO JDK.
>>> https://git.oschina.net/xuxueli0323/xxl-mq
У автора есть блог.
>>> https://git.oschina.net/blackbeans/kiteq
Версия на языке Go.
>>> https://git.oschina.net/itteam/sf-mq
Оказалось сложным проектом, неудивительно, что дизайн выглядит таким сложным, это версия 3.x от MQ Alibaba.
>>> https://git.oschina.net/rushmore/zbus
Довольно активный и надёжный вариант реализации MQ вне основного потока.
>>> https://github.com/adyliu/jafka
Клонированная версия Kafka, реализованная на Java вместо Scala.
>>> https://github.com/fusesource/mqtt-client
Используется как пример эффективного клиентского соединения.
>>> https://github.com/killme2008/Metamorphosis/
Ранняя версия rocketmq, Meta. Любая хорошая структура начинается с простоты и развивается со временем, понимание эволюции ранних проектов может помочь лучше понять их развитие.
Второй этап предполагает чтение и изучение основных Java-фреймворков MQ, таких как RocketMQ, ActiveMQ. RocketMQ от Alibaba будет основным направлением, также будет рассмотрен Kafka (Scala), RabbitMQ (Erlang), ZeroMQ (C/C++).
>>> https://github.com/apache/incubator-rocketmq
>>> https://github.com/apache/activemq
На третьем этапе планируется переписать некоторые зависимости текущего проекта в качестве следующего шага обучения.
/minimq/broker/${brokerID}(ip:port)/${topic}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )