Blog

Blog

PHODAL

Seneca——微服务框架实战2

当我在告别毕业答辩之后,我开始了继续学习微服务构架的道路,而这时打开Seneca的官网,发现上一篇关于微服务框架的文章——微服务框架——Seneca,一个Node.js的微服务工具包 。显然,已经不合我的胃口,官网首页的更适合我,于是这次比上次好多了。

微服务框架 Seneca

Built it Now, Scale it Later!

This toolkit lets you write clean code that you can scale without needing to refactor. Start with everything in one process, and split it all out onto multiple systems when you need to.

口号已经变成了:现在构架,未来缩放

这工具可以让你写出清晰的代码,你可以在不需要重构的情况下扩展。开始每件事在一个进程里,分割这一切到系统中当你需要的时候。

Seneca示例

1.这里继续用官方的示例

require('seneca')()                       
  .add( 
        { generate:'id'},                 
        function( message, done ) {
          done( null, 
                {id:''+Math.random()} )
        })
  .listen()

这是一个微服务生成的标识符,你可以发送微服务的JSON对象,他会响应一个新的JSON对象。

2.让我们把它保存为example.js然后

 npm install seneca

3.接着运行

 node example.js

下面是一个运行结果

node example.js
2014-05-28T13:33:06.851Z    INFO    hello   Seneca/0.5.17/chcg20
2014-05-28T13:33:07.265Z    INFO    plugin  transport   -   9u1hc3  listen  localhost   10101   /act    Seneca/0.5.17/chcg20

4.于是我们可以通过curl POST数据的方式来获取返回结果:

  curl --data '{"generate":"id"}' http://localhost:10101/act

返回了

   {"id":"0.30422571394592524"}

返回的是上面声明的随机数。

Seneca实战

上面的想法让我认为我们可以通过修改,传进来的参数限制其传入,上面的

 {"generate":"id"}

是一个固定的,学官网添加一个nid,不同的是只是做为验证的参考。

require('seneca')()                       
  .add( 
        { generate:'id',type:"nid"},                 
        function( message, done ) {
          done( null, 
                {id:''+"12"} )
        })
  .listen()

于是我们的curl就要变成

 curl -d '{"generate":"id","type":"nid"}' http://localhost:10101/act

返回一个固定的结果

  {"id":"12"}

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

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

QQ技术交流群: 321689806

新书《前端架构:从入门到微前端》

《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。

前端架构包含以下五部分内容:

  • 设计:讲述了架构设计的模式,以及设计和制定前端工作流。
  • 基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
  • 实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。
  • 微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
  • 演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构。
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

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

开源深度爱好者

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

联系我: h@phodal.com

微信公众号: 与我沟通

标签