- 博客(4)
- 收藏
- 关注
原创 nodejs基于RabbitMq的RPC调用
在微服务架构中,SpringCloud,Eureka,Dubbo,ZooKeeper这些框架再熟悉不过了,其中面向接口的远程方法调用是其主要核心功能之一,而MQ主要用来应用解耦,削峰填谷等作用;最近在RabbitMq官网上看到,竟然还支持RPC调用,处于好奇,动手用js跑了一遍。共三个文件:RpcUtil.js, server.js,client.jsclient.jsconst { RpcUtil } = require('./rpcUtil');const rpcUtil = new RpcU
2021-02-04 14:17:36
1378
5
原创 Mysql Innodb RR隔离等级下的“幻读”问题
间隙锁是用来解决innodb在RR隔离等级下幻读的问题,目前发现有两种情况还是会产生幻读。事务A先进行快照读,事务B新增操作,事务B提交;事务A再进行当前读,发现多了一条数据;sql语句如下:SELECT * FROM TABLE WHERE id < 10;INSERT INTO TABLE (id) VALUES (9);SELECT * FROM TABLE WHERE id < 10 LOCK IN SHARE MODE;第二种严格的说并不是幻读,是mvcc的特性;
2020-12-14 16:43:19
237
原创 sequelize几个常用但不好记的查询
查询指定时间// 查询上个月的所有条目const schemaOrderMonth = moment().subtract(1, 'months').format('YYYY-MM');where.create_time = sequelize.literal('date_format(create_time,"%Y-%m")="'+schemaOrderMonth+'"');查询不相等字段// amount不等于paidwhere.amount: { $ne: sequelize.col(
2020-06-17 10:49:47
1219
原创 原生cluster实现node热重载
1. 概述node服务器需要重启才能执行改动后的代码,如果在生产环境中重启会造成用户几秒钟的无响应。针对这一问题,我们可以利用cluster模块来实现零秒热重载。2. 原理master进程开启一个监听重启命令的http服务器,监听重启命令后,fork一个新的工作进程,等新的工作进程创建完成时,kill原来老的工作进程,便实现了热重载。3. 源码const cluster = require('cluster');const child_process = require('child_proce
2020-06-15 14:18:27
1006
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人