Description
Is your feature request related to a problem? Please describe.
I have developed a ScyllaDB adapter for MoleculerJS that allows users to integrate ScyllaDB as a data store in their services. Currently, there is no official adapter for ScyllaDB in the MoleculerJS, which limits options for developers looking to leverage ScyllaDB's high performance and scalability.
Describe the solution you'd like
I would like to propose the addition of my ScyllaDB adapter to the MoleculerJS. This adapter is designed to provide seamless integration with ScyllaDB, enabling developers to utilize its capabilities within their MoleculerJS services. I have followed the standard MoleculerJS contribution guidelines and have written unit tests to ensure the reliability of the adapter.
Describe alternatives you've considered
While there are other databases supported by MoleculerJS, such as MongoDB, there is currently no support for ScyllaDB. Developers looking for a high-performance NoSQL solution may find this adapter beneficial.
Additional context
I am currently using this adapter in my company's production environment, and it has proven to be effective and reliable. My GitHub repository for the ScyllaDB adapter is currently private to protect my code until it is reviewed. However, I am willing to grant access to the maintainers of MoleculerJS for review purposes. Please let me know if you would like me to invite you as collaborators to the repository.
Usage Example
Here’s a simple example of how to use the ScyllaDB adapter in a Moleculer service:
const { ServiceBroker } = require("moleculer");
const DbService = require("moleculer-db");
const ScyllaDbAdapter = require("moleculer-db-adapter-scylla");
const scyllaOptions = {
contactPoints: ["127.0.0.1"],
localDataCenter: "datacenter1",
keyspace: "test",
authProvider: { username: "cassandra", password: "cassandra" },
ormOptions: {
defaultReplicationStrategy: {
class: 'SimpleStrategy',
replication_factor: 1
},
migration: 'safe'
}
};
const adapter = new ScyllaDbAdapter(scyllaOptions);
const broker = new ServiceBroker();
broker.createService({
name: "users",
mixins: [DbService],
adapter: adapter,
actions: {
// service actions
}
});
broker.start();
Thank you for considering my contribution to the MoleculerJS ecosystem. I look forward to your feedback!
Best regards,
Azita Abdollahi
Activity