- 博客(4)
- 收藏
- 关注
原创 nodejs基于RabbitMq的RPC调用
在微服务架构中,SpringCloud,Eureka,Dubbo,ZooKeeper这些框架再熟悉不过了,其中面向接口的远程方法调用是其主要核心功能之一,而MQ主要用来应用解耦,削峰填谷等作用;最近在RabbitMq官网上看到,竟然还支持RPC调用,处于好奇,动手用js跑了一遍。 共三个文件:RpcUtil.js, server.js,client.js client.js const { 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不等于paid where.amount: { $ne: sequelize.col(
2020-06-17 10:49:47 1213
原创 原生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 1003 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人