了解完微服务的一些知识之后,便开始寻找一些框架来玩玩这东西。
官方上是这样写的
This toolkit lets you focus on the real, "business" code of your app. Instead of worrying about which database to use, how to structure your components, or how to manage dependencies, you can just start coding.
You write everything as a command. Your commands get called whenever they match a set of properties. Your calling code doesn't know, or care, which command gets the work done. A JavaScript object goes in, and one comes out, asynchronously.'
一个不是很好的翻译便是
这个工具包的目的是让你可以集中于编写可用于产品环境的代码。而不是关心于使用哪个数据库,怎样去构建你的组件,或者是如何管理依赖,你需要的只是开始编程。
你写的一切代码将作为一个命令。当一些与属性集相匹配时则会调用你的命令。我的调用代码也不知道,或者说不关心,哪个命令完成了工作。在JavaScript对象中,一个进来,同步?
与工具名一致的npm安装
npm install seneca
引入这个库
var seneca = require('seneca')()
引自官方的代码
var seneca = require('seneca')()
seneca.add( {role:'math', cmd:'sum'}, function(args,callback) {
var sum = args.left + args.right
callback(null,{answer:sum})
})
seneca.act( {role:'math', cmd:'sum', left:1, right:2}, function(err,result) {
if( err ) return console.error( err )
console.log(result)
})
运行这个示例
node example.js
运行结果
2014-05-27T02:49:45.456Z INFO hello Seneca/0.5.17/5h2jdv
{ answer: 3 }
围观我的Github Idea墙, 也许,你会遇到心仪的项目