原创 Redis生成分佈式環境下自增ID

相信大家在分佈式系統一定會遇到如何生成唯一Id;  uuid 可以但是,作爲數據庫主鍵很浪費性能(索引相關), 雪花算法可以, 但是很依賴於環境. 這裏推薦大家使用redis生成;   1. 需求明確 我們生成的Id組成爲, 時間戳+ 自

原创 Docker(十二) Docker Swarm搭建

1. 環境準備 準備三臺安裝docker的CentOS7的linux機器 如果沒有的請移步  https://rourou.blog.csdn.net/article/details/84386617 安裝完後通過xshell進入服務

原创 分佈式一致性算法 Paxos

Paxos 是著名的分佈式一致性算法,Google Chubby的作者Mike Burrows對Paxos的評價極高: “這個世界上只有一種一致性算法,那就是 Paxos”。 其實也不爲過,像非常有名的 Raft 算法、Zab 算法等都是

原创 分佈式一致性算法 Raft

分佈式一致性算法最著名的應該是 Paxos,1990年提出,google的Chubby Lock服務就是使用的Paxos 之後的一些一致性算法基本都是在Paxos思路上的調整,例如 ZooKeeper的 ZAB 但Paxos算法一直被認爲

原创 Nginx (二) nginx根據url配置不同的錯誤維護頁面

生產過程中肯定會遇到升級, 大多數公司應該實現了無感知灰度發佈->正式發佈, 此篇博客只適用於需要維護頁面的羣體.   一. 設計錯誤界面 一般有2種, app的h5升級維護頁面, web工程的h5維護頁面.網頁設計好放在同一個目錄下,命

原创 Docker(十一)Docker安裝RabbitMq

docker 安裝rabbitMQ 1、進入docker hub鏡像倉庫地址:https://hub.docker.com/ 2、搜索rabbitMq 進入官方的鏡像,可以看到以下幾種類型的鏡像;我們選擇帶有“mangement”的版本(

原创 Docker(三)Docker安裝ElasticSearch

  ElasticSearch的官方中文文檔地址是 https://www.elastic.co/guide/cn/index.html 1. 拉取鏡像 docker pull hub.c.163.com/library/elastic

原创 Linux(八) linux 安裝nginx

1. 下載tar包 http://nginx.org/en/download.html   2.解壓縮 tar -zxvf nginx-1.16.0.tar.gz 3.編譯,配置 首先創建nginx安裝的文件目錄 mkdir ng

原创 Linux(九) linux系統重新安裝yum

所有操作均在ROOT用戶下,系統版本是Linux7.0 X86_64: 一、刪除原有YUM # rpm -aq|grep yum|xargs rpm -e --nodeps 二、下載yum,注意自己的LINUX系統版本,是什麼版本就進相

原创 ThreadLocal(三) 線程上下文實戰

 場景: 某個複雜長鏈路請求, 例如下單, 需要多組件方法參與,但是對於各種參數聚合, 耦合度很高對於二次開發不方便 解決思路: 利用 ThreadLocal 線程變量來完成, 以後每次改造只需要改造,或者向 ThreadLocal 中增

原创 MySQL建數據庫字符集與排序規則設定

1.字符集說明: 一般選擇utf8.下面介紹一下utf8與utfmb4的區別。 utf8mb4兼容utf8,且比utf8能表示更多的字符。至於什麼時候用,看你的做什麼項目了,到http://blog.csdn.net/leelyliu/

原创 JVM之遠程監控springboot程序

1. 準備好springboot 的jar包 2. 編寫啓動腳本. 這是改動之前的腳本: jarname='eureka-server' pid=`ps aux | grep $jarname | grep -v grep | awk

原创 Docker(八)Docker安裝MySQL

1. 下載mysql鏡像 docker pull mysql:5.7 2. 查看鏡像 docker images 3. 執行mysql鏡像生成容器 tip1:先創建volume, 作用是宿主機和容器的數據備份 docker vo

原创 Docker(十) 爲Docker容器安裝vim

        在使用docker容器時,有時候裏邊沒有安裝vim,敲vim命令時提示說:vim: command not found,這個時候就需要安裝vim,可是當你敲apt-get install vim命令時,提示:       

原创 Redis實現延遲任務(過期取消訂單)

1. 生產需求: 用戶下訂單後,15分鐘未支付自動取消; 用戶成功下單支付後確認收貨, 15天默認好評 2. 實現思路 利用redis的排序列表,ZSet進行需求實現, 下面是我的流程圖和思路導線   3. 思路說明 我們把Zset中的