Blog

Blog

PHODAL

微服务框架——Seneca,一个Node.js的微服务工具包

了解完微服务的一些知识之后,便开始寻找一些框架来玩玩这东西。

Seneca简介

官方上是这样写的

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对象中,一个进来,同步?

Seneca实战

Seneca安装

与工具名一致的npm安装

  npm install seneca

引入这个库

 var seneca = require('seneca')()

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: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《全栈应用开发:精益实践》

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签