Moleculer
PHP AMQP
Moleculer | PHP AMQP | |
---|---|---|
16 | 11 | |
6,025 | 4,405 | |
0.8% | 0.3% | |
7.5 | 6.6 | |
4 days ago | 20 days ago | |
JavaScript | PHP | |
MIT License | GNU Lesser General Public License v2.1 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Moleculer
-
Make microservices look like monoliths
My goto for this kind of task is moleculer: https://moleculer.services/
Fast, battle tested, vue2-like approach, great documentation, good community. The automatic indipendent-scalability as an option is usually the main selling point of these solutions, but honestly I think the real pro is the "composition" approach, which is essential if you want to keep a clean and well-organized codebase. On this regard, I found moleculer pretty great even for large teams.
-
How to Import/Reference a Microservice from another one
If you’re using k8s, check out https://moleculer.services and this would likely solve what you’re looking for.
-
Node JS Microservice Frameworks for Developing Scalable Web Apps.
Molecular – Progressive Microservices Framework for Node.js
-
First time building microservice-based application
While you’re delving into microservices, check out Moleculer https://moleculer.services
-
if Nodejs does not meant for CPU intensive tasks so I think it's better to avoid it from the beginning
I almost can’t believe I haven’t seen it mentioned here before, but adding Moleculer into your node project (if it’s clustered/k8s’d) will literally solve many single threaded problems, not to mention tons of other scalability issues. https://moleculer.services/
-
How to deal with singletons in a distributed system?
You could use a framework for this. Have a look at moleculer
-
Where can I learn to implement microservices?
I haven't used this, but it seems neat: https://moleculer.services/
-
Microservices using express js
Look into Moleculer.
-
Been playing with moleculerjs recently, and just finished my first package: a service that allows you to use any node API framework as a moleculer gateway.
Moleculer already provides an in-house http gateway, but what if you want to use an existing API, and how to maintain decoupled code when creating your gateway? This package solves both. You can create your API, passing in any services you require as dependencies. You can then bind your API to moleculer using the moleculer-universal-gateway.
-
Don’t start with microservices – monoliths are your friend
But there's more to the topic of microservices. Seems like all the conversation focuses on deployment pain. You can build a service with something like Akka or Moleculer where the modules act independently and have some message passing and resilience from each other, but they can still all live in one codebase, one process, and deployed as one unit. It works fine and isn't painful at all. And maybe down the line you decide to split the thing up into multiple processes and multiple deployment units, and that's an easy refactor because the modules are already somewhat separated.
PHP AMQP
- Weekly help thread
-
Django Celery tutorial not returning results
I installed rabbitmq succesfully and went through the tutorials without trouble: http://www.rabbitmq.com/getstarted.html
-
Microservices using express js
Microservices have nothing to do with Nest vs Express or anything like that. It's really just about breaking your code into smaller services and then using a mechanism to communicate between them. Hell, you can even have one service using Nest and the other Express if your communication mechanism is HTTP. A more robust system typically uses something like RabbitMQ, which allows for different types of messaging patterns and asynchronous messaging.
- Introdução ao RabbitMQ e Symfony
-
Introduction to RabbitMQ and Symfony
One day I was trying to learn the deep concepts of RabbitMQ, its use cases and why it's different from other message brokers. I've started by reading the cool documentation and then I was eager to try it out in a demo application.
-
Redis && RabbitMQ
Having said that, RabbitMQ has wonderful tutorials, and a lot of effort has gone into making it accessible for newcomers. Here you go: https://www.rabbitmq.com/getstarted.html
- RabbitMQ
- Moving from REST API to pub/sub
-
An Introduction to Microservices pt. 5
I'm not going to explain every argument of the called methods. If you want to better understand each of them, take the RabbitMQ tutorial. It's pretty simple and will give you all the information you need!
-
Introducing my first open source project: Roger, Rabbit: A RabbitMQ client and drop-in replacement for streadway/amqp with automatic redials, method middleware, and more!
If you are not familiar with RabbitMQ or the streadway/amqp driver, you can try it out using the official tutorials. Just replace any "github.com/streadway/amqp" import statements with "github.com/peake100/rogerRabbit-go/pkg/amqp". If you find a tutorial this does not work for, please open a PR!
What are some alternatives?
Nest - A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀
BunnyPHP - Performant pure-PHP AMQP (RabbitMQ) sync/async (ReactPHP) library
Express - Fast, unopinionated, minimalist web framework for node.
Bernard - Bernard is a multi-backend PHP library for creating background jobs for later processing.
AWS Lambda Router for NodeJS - AWS Lambda router for NodeJS
Pheanstalk - PHP client for beanstalkd queue
seneca - A microservices toolkit for Node.js.
Tarantool Queue - PHP bindings for Tarantool Queue.
AdonisJs Framework - AdonisJS is a TypeScript-first web framework for building web apps and API servers. It comes with support for testing, modern tooling, an ecosystem of official packages, and more.
Thumper - PHP Library that implements several messaging patterns for RabbitMQ
fastify - Fast and low overhead web framework, for Node.js
supabase - The open source Firebase alternative.