As a young kid in Science class I remember learning about simple machines – levers, ramps, etc.  The one thing I had trouble understanding was how increasing distance decreased work. It seemed counter-intuitive to me, since the shortest distance between two points was a straight line.  One of my teachers pointed something out to me that made the light bulb in my head turn on: “Have you ever noticed how it is easier to walk up a ramp in a zig-zag path rather than a straight line?”  I was in 3rd grade so of course every ramp I came across was an opportunity for me to run zig-zag up or down.  The point was clear - if a straight line is too much work, take some extra steps if you must.

Building apps can be the same way.  We intuitively add extra steps in the form of integrations to accomplish tasks because sometimes the effort to build apps in a straight line (minimal steps, minimal integrations, etc.) is too great.  We rely on APIs, connectors, frameworks, and sometimes switch between languages in a project because we reach a point where the effort to build in a straight line becomes too great.  Specifically in reference to microservices, part of the joy is deploying a tiny code footprint that can live almost anywhere, including at the edge where these types of services really make operational sense.  When databases are introduced – like non-relational centralized cloud databases – that joy of a tiny footprint and getting powerful app behaviors like complex event and stream processing without lots of integrations or transactions from edge to cloud disappears.

As more enterprises embrace microservices, selecting a framework that is lightweight enough to deliver application performance and development simplicity while still including meaningful features to reduce integration effort can be a challenge to application architects.

The Moleculer microservices framework is a good example of tech evolving to make it easier to build in a straight line.  By using the moleculer-db connector, application creators can perform database actions at the edge without heavy integrations – but the performance improvement of distributed microservice applications is only fully realized when the database is also distributed and co-located with the microservice at the edge.

Moleculer took a step forward recently, adding support for Macrometa’s Global Data Network as a way to store entities in a distributed database.  Developers using the Moleculer framework will now be able to perform CRUD actions, parsing, event notifications and more in a globally distributed database rather than a standalone non-relational cloud database.  This enables developers to build distributed apps in a straight line with Moleculer and Macrometa – reducing or eliminating complex integrations and cloud transaction costs.

Macrometa and Moleculer have been collaborating in the second half of this year to extend the capabilities of the framework and provide more options for microservice developers who wish to build, deploy and run code at the edge.  The resulting connector can be found on github by following this link.

Macrometa provides a Global Data Network, a distributed database platform and developer tools that allow application authors to use a distributed, strongly consistent database to offload or cache cloud database operations at the edge while shortening the time needed to build complex event processing apps and APIs.

If you’re tired of zig-zagging through your developer toolbox to integrate and manage dynamic data at the edge with microservices, sign up for a Global Data Network account and see how much effort and cost you’ll save using Macrometa and the Moleculer framework to build services that natively access your dynamic data while keeping it where it can do the most work – at the edge and closer to your users for optimum application performance.

Dec 10, 2019

More from 



View All

Join Our Newsletter and Get the Latest
Posts to Your Inbox

No spam ever. Read our Privacy Policy
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.