Posts
Ligengxin's Blog
Cancel

基于 Redis 的分布式锁的实现方案

  经过上次的调研(这篇blog),最终和 Leader 确定使用 Redis 来实现我们的分布式锁. 实现思路    首先, 我们的 redis 是集群(Cluster)模式,集群里面的 redis 机器都会有一个 backup. 然后当我们的微服务部署后,一般来说分布式锁的名字都是会带上一个数据库中表数据的 id 来保证唯一性,并且使用{}来包裹这个id. 这样在集群模式下 redis...

Javascript 设计模式与开发实践总结

  上班路上看完了《Javascript 设计模式与开发实践》 看完给我个人的感觉就是设计模式的思想是很不错,可以规避很多软件开发和维护的问题.但是因为设计模式太多,全部记住不太现实,所以这里做个笔记把这些设计模式可以解决的问题记录下,当下次遇到什么问题的时候能够想起来可以用那个设计模式来解决.整本书的编程思想可以总体概况为这几个原则. (因为现在希望, 以及目前工作中主要还是使用 Type...

分布式锁/分布式事务的研究报告

  成功换了一个后端的工作,开始的第一个任务就是熟悉下分布式锁和分布式事务的实现方案,然后写一份调研报告,这里简单记录下. 1. 分布式锁/分布式事务概念 分布式锁 只要的应用场景是在集群模式的多个相同服务,可能会部署在不同机器上,解决进程间安全问题,防止多进程同时操作一个变量或者数据库.解决的是多进程的并发问题. 分布式事务 解决一个联动操作,比如一个商品的买卖分为: ...

使用 Trojan 进行科学上网

  双 11 淘宝不打折,云服务器打折,果断买了一个来学习下如何搭建一个可以进行科学上网的梯子. 1.购买域名以及获取证书   因为 Trojan 工作原理是伪装成 HTTPS 流量来躲避 GFW 的检测. 所以我们需要一个域名来获取证书.关于如何购买域名以及获取证书可以参考从0到1构建自己具有https协议的服务器这一篇文章.   不过不同的地方在于安装证书的时候只需要输入 acm...

搭建属于自己的服务器

  最近搬家了,整理东西的时候竟然发现了一台大学时候用的笔记本,卖二手也卖不了多少钱,所以就废物利用,用来搭建一个服务器. 想想现在的云服务 16G Rom 得多少钱,而且这个不用的笔记本还有一个256G 的 SSD 和一个 1T 的机械硬盘.用来做一个数据中心是挺不错的选择. 1.准备工作 需要一个公网 IP,这样的话才能外网访问到我们的搭建起来的服务器。 ...

Docker 踩坑合集

  今天检查服务器运行状况的 Git Action 突然报错, 连上服务器一看.容器都在正常运行啊.怎么会报错呢.看了下日志 Tue Jul 27 2021 11:09:04 GMT+0000 (Coordinated Universal Time) Connect mongoose failed with error: connect ECONNREFUSED 172.17.0.2:270...

低成本备份数据库数据到云端

  万万没想到,刚买没多久的野机场的服务器老板跑路了.服务器直接没了,数据都没来得及备份.现在换了新服务器第一件事情就是想办法备份数据库数据.一开始看了下各大云厂商的云存储,价格虽然不贵但是我这数据也不多.买了的话感觉有点杀鸡用牛刀的感觉.于是我突然看到我的oneDrive,所以我就想到可以备份到oneDrive里面去.免费的容量就5G,可以去淘宝扩容到永久15G.我只用了5块钱. 用来备份...

从0到1构建自己具有https协议的服务器

  又是一年618活动.去年买的华为云网络是真的拉跨,所以今年换了一个野机场的VPS价格公道合理,就是买了一年的结果一周没用到机器就没了。野机场果然不靠谱,最后还是买了朋友手里一个闲置的二手搬瓦工的VPS. 1. 首先需要一个域名 我是在 https://www.namesilo.com/account_home.php 这上面买的域名,买域名没啥可讲的. 2. 获取免费证书 # 安装...

浅谈Node.js的垃圾回收机制

  总结下关于 Node 的 GC 的理解.众所周知, Node 是构建在 V8 引擎之上, Node 和 Chrome 架构如图1-1所示 (webKit: 布局引擎, libuv: 多平台兼容组件).而 V8 引擎可以说是 JS 的一个虚拟机.就像 JAVA 虚拟机一样,也是通过垃圾回收机制来进行内存管理的. 图1-1 Chrome 和 Node 的组件   在 V8 中,所有的 ...

Azure Automation Account Runbook 入门

  因为线上的一个Stream Analytics job服务运行不是很稳定(Stream Analytics job 目前是public perview版本),所以需要重启让它重新正常工作.由于这是整个服务的数据流中必不可少的一个部分.如果这里阻塞了将导致下游的服务都不能正常运行,所以势必需在出问题后立刻重启(手动是不可能手动的,能自动化为什么要手动).所以就是为什么需要用到Runbook...