月&盾

生活的精彩要去发现,而不是等待出现

最新文章

webpack构建vue项目警告

bundle.js:935 [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build. (found in <Root>) 与entry属性平级添加 resolve: { alias: { 'vue$': 'vue/

阅读全文
  • 分类:【前端
  • 浏览(4)
  • 评论(0
  • 发表时间:2018-2-16 21:22:49

再聊docker和nodejs

上一篇写到了如何在docker中运行nodejs,运行方式是在docker中安装了pm2来保证node服务宕机重启,这种方式更像是把docker当做虚拟机来使用。其实,既然使用了docker的话就可以不使用pm2来管理进程,因为docker自身可以充当守护进程,在node进程退出时进行重启。只要在启动docker容器时加上--restart=always参数即可。例如:docker run -d --restart=always -p 3000:3000 mynode:1 没有pm2如何开启多进程 使用pm2可以开启多node进程,并且自带负载均衡,但是有个限制,pm2可以开启的进程数是CPU

阅读全文
  • 分类:【docker
  • 浏览(54)
  • 评论(0
  • 发表时间:2018-1-26 12:35:58

pm2日志记录和日志分割

pm2介绍 pm2是nodejs进程管理工具,现在基本是node生产服务器的标准选择,可以帮助我们实现node多进程服务,开启的多个实例自动实现负载均衡。 最重要的是保证node单进程不会因为错误退出,作为守护进程保证nodejs服务不宕机。 总体来说就是有性能监控、自动重启、负载均衡的作用。 pm2-logrotate介绍 pm2本身是可以输出日志文件的,默认的文件路径: error log path │ /home/username/.pm2/logs/app-error-0.log out log path │ /home/username/.pm2/logs/app-o

阅读全文
  • 分类:【Nodejs
  • 浏览(109)
  • 评论(0
  • 发表时间:2018-1-25 17:49:36

最新版火狐Firefox Quantum 57没有pocket按钮

从火狐量子浏览器开始,pocket按钮集成到了地址栏右侧, 如果你找不到,那么有可能是在浏览器配置中关闭了,开启方式: 地址栏中输入about:config,点击“我了解风险”继续,搜索“pocket.enabled”,如果是false双击修改为true就会出现。 其他情况可参考:https://help.getpocket.com/article/942-where-is-the-pocket-button-in-firefox

阅读全文
  • 分类:【工具使用
  • 浏览(75)
  • 评论(0
  • 发表时间:2018-1-19 10:40:54

在docker中运行nodejs

首先看项目目录: 再看Dockerfile文件内容: # 以最新的node为基础镜像 FROM hub.c.163.com/library/node:latest # 工作目录为app WORKDIR /app # 拷贝当前所在项目根目录到app目录 COPY . /app # 全局安装pm2 RUN npm install pm2 -g EXPOSE 8081 #使用pm2启动nodejs,如果没有--no-daemon参数docker启动后就退出 CMD ["pm2-runtime", "dest/server.js", "--no-d

阅读全文
  • 分类:【docker
  • 浏览(72)
  • 评论(0
  • 发表时间:2018-1-18 12:26:34

pm2的fork模式和cluster模式的区别

pm2的fork模式和cluster模式的区别 fork模式 pm2默认启动的是fork模式,是以单核单进程运行的,在fork模式下可以直接运行coffee-script,PHP,python。 参考:http://pm2.keymetrics.io/docs/tutorials/using-transpilers-with-pm2 cluster模式可以根据CPU数量进行实例扩展,可以开启多进程而不需要修改代码。可提高程序性能和可靠性。类似于分布式系统,只不过是在单台机器上开启多实例,而pm2自带负载均衡。 ** 使用方法 ** pm2 start app.js -i max 使用-i参数

阅读全文
  • 分类:【Nodejs
  • 浏览(84)
  • 评论(0
  • 发表时间:2018-1-17 22:21:51

本地producer和consumer连接不上远程kafka服务

Hostname and port the broker will advertise to producers and consumers. If not set, it uses the value for "listeners" if configured. Otherwise, it will use the value returned from java.net.InetAddress.getCanonicalHostName(). advertised.listeners=PLAINTEXT://ip:9092 打开advertised.listener

阅读全文
  • 分类:【工具使用
  • 浏览(69)
  • 评论(0
  • 发表时间:2018-1-12 13:14:17

推荐在Nodejs使用的java常用技术和工具

作为Nodejs开发者可能会对java中常用的一些技术工具不太关心,主要原因大概除了语言级别的间隙就是Nodejs相对于java来说比较轻量级,大多用来开发简单系统,用不到其他工具。根据经验来说,开发相同功能的系统,Nodejs的开发周期和代码体量上也会比Java少太多,毕竟java出生年代长,生态丰富,如果不使用几个框架都感觉不是在开发系统。而Nodejs要开发一个web系统基本使用express或koa就差不多够了。所以对于Nodejs开发者来说,分布式,消息队列,远程调用等技术接触就少些。当然,不用这些技术其实也不会有太大影响,但是对于一个有追求有理想的码农来说我们的眼界不应该局限于系统

阅读全文
  • 分类:【工具使用
  • 浏览(104)
  • 评论(0
  • 发表时间:2017-12-26 23:24:12

为什么需要RPC,而不是简单的HTTP接口

目前有很多Java的RPC框架,有基于Json的,有基于XML,也有基于二进制对象的。 论复杂度,RPC框架肯定是高于简单的HTTP接口的。但毋庸置疑,HTTP接口由于受限于HTTP协议,需要带HTTP请求头,导致传输起来效率或者说安全性不如RPC。 现在问题是,遇到怎样的瓶颈了才需要或者说更适合用RPC(比如像阿里这么大的请求并发量,简单的HTTP肯定达不到预期),但问题是大家所在的公司,要有像阿里这么大的量是比较少的,甚至说1/1000的量可能都没有,那我们还需要使用RPC吗? 技术应该不是为了使用新技术而去使用,而应该是旧技术存在某些瓶颈,存在难以支撑或者扩展性越老越差等问题暴露出来之后

阅读全文
  • 分类:【系统架构
  • 浏览(136)
  • 评论(0
  • 发表时间:2017-12-18 14:25:22

请求发送到Nodejs服务器以后响应非常慢

在项目中遇到过这种情况:请求发送后迟迟没有响应,但也并没有报错,在代码中一步步调试都没有发现问题,明明已经走到最后返回数据一步了客户端却没有返回。原因是在中间件中使用了redis或memcache缓存,然后连接缓存服务失败,然后就会一直等待,直到连接缓存超时才会继续执行后续操作

阅读全文
  • 分类:【疑难杂症
  • 浏览(189)
  • 评论(0
  • 发表时间:2017-12-04 14:38:36