这一年以来,一直在搞nodejs。说实话,拿js做服务端实在是一件很蛋疼的事。js上手虽然快,但是其维护和调试的代价也太高了,几乎不支持断点调试功能,能找到的断点调试插件,也很不实用,因为当代码进入引用文件(require的文件)的函数之后,断点就失效了。 今天一个同事提出了一个想法,就是修改自己的user-agent,然后代码加上对应的处理语句,这样就可以在不重启线上服务器的情况下,使得自己的调试数据能够打印,并且不会对其它用户产生影响。 其实还有更好的办法,对于http协议来说,可以使用cookie来处理这些情况。只要在自己的请求头中加入一个自定义cookie(当然对于服务端来说,这个cookie是需要预先编写好处理代码的),这样的调试就更方便了。 以上是在小型项目中的做法,在大型项目中,这样做不好维护。不如做个中间层,用来处理请求分发。现在许多系统都有消息队列,使用消费者模式。其实就是监听,可以在分发层处理线上调试的数据转发,既不影响原有代码,也不干扰用户。三全其美。
|
|