原创 docker容器中文控制檯和日誌打印輸出都是問號

RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \     && localedef -i en_US -c -f UTF-8

原创 docker-compose部署設置東八時區上海時間

前言 部署的docker容器一定要是東八時區,纔不至於導致程序部署時間錯誤,從而引起簡單而又致命的錯誤。 配置 宿主機配置東八時區 詳見: centos7下配置中國時區 docker-compose.yml文件配置東八時區上海時間 ver

原创 Linux權限:提示-bash: ./startup.sh: Permission denied的解決方案

Linux上執行shell文件,顯示:-bash: ./startup.sh: Permission denied 的提示。 這是因爲用戶沒有權限,而導致無法執行。用命令chmod 修改一下bin目錄下的.sh權限就可以了。 chmod

原创 Docker常用鏡像基本操作

Docker Docker鏡像的首行從FROM alpine之類的鏡像開始,但是最初的基礎鏡像是如何創建的,本文使用一個busybox創建一個基礎鏡像,相信在此過程中會對docker一些相關的概念有進一步的理解。 什麼是基礎鏡像

原创 Golang 標準庫context的基本使用

在 Go http包的Server中,每一個請求在都有一個對應的 goroutine 去處理。請求處理函數通常會啓動額外的 goroutine 用來訪問後端服務,比如數據庫和RPC服務。用來處理一個請求的 goroutine 通常需要訪問

原创 golang tailf日誌組件的基本使用

git上log日誌組件https://github.com/hpcloud/tail/blob/master/tail.go 我們寫個test來測試下這個組件 package main import ( "fmt" "ti

原创 Golang 鎖的使用

鎖的介紹與使用 1 互斥鎖 傳統併發程序對共享資源進行訪問控制的主要手段,由標準庫代碼包中sync中的Mutex結構體表示。 //Mutex 是互斥鎖, 零值是解鎖的互斥鎖, 首次使用後不得複製互斥鎖。 type Mutex stru

原创 Go interface詳解

如Go method中提及,Golang沒有明確支持多態,但是通過其他手段可以實現類似C++中的多態特性,即本文中即將介紹的Go interface功能。 interface定義   interface(接口)是golang最重要的特性之

原创 Golang 高性能高可用消息隊列框架go-nsq使用

爲什麼要使用Nsq 最近一直在尋找一個高性能,高可用的消息隊列做內部服務之間的通訊。一開始想到用zeromq,但在查找資料的過程中,意外的發現了Nsq這個由golang開發的消息隊列,畢竟是golang原汁原味的東西,功能齊全,關鍵是性能

原创 UUID算法分析:如何保證唯一性

UUID具有以下涵義: 經由一定的算法機器生成 爲了保證UUID的唯一性,規範定義了包括網卡MAC地址、時間戳、名字空間(Namespace)、隨機或僞隨機數、時序等元素,以及從這些元素生成UUID的算法。UUID的複雜特性在保證了其唯一

原创 CentOS 7 配置靜態IP

在新安裝好的CentOS7上和之前的CentOS6版本一樣,初始狀態是沒有網絡配置的,則需要使用dhclient命令來自動獲取IP地址,查看獲取的IP地址則使用命令 ip addr,則會看到網卡信息和lo卡信息,進入配置文件修改IP信息

原创 Golang 爲什麼相對Python、Java速度更快更高效

Python雖然也支持協程模式,但一直被詬病併發很弱,因爲GIL的關係,Python在單進程運行的情況下,無法利用多核CPU,所以就被其他能在單進程的情況下利用多核CPU的語言“吊打”性能了,相對而言Python語言是比較慢的。 Java

原创 Golang 爲什麼這麼【快】

本文主要從 Go 調度器架構層面上介紹了 G-P-M 模型,通過該模型怎樣實現少量內核線程支撐大量 Goroutine 的併發運行。以及通過 NetPoller、sysmon 等幫助 Go 程序減少線程阻塞,充分利用已有的計算資源,從而最

原创 Elasticsearch Kibana for Mac的安裝與使用

Elasticsearch 安裝好了之後,Kibana 插件可以爲這個功能強大的搜索工具添加可視化功能。 在我之前的文章中,我向 Mac 用戶介紹了安裝Elasticsearch 的步驟,這是世界上最受歡迎的企業級搜索引擎。其自然語言處

原创 Go 語言爲什麼這麼快,帶你詳細瞭解Golang CSP併發模型

go語言的最大兩個亮點,一個是goroutine,一個就是chan了。二者合體的典型應用CSP,基本就是大家認可的並行開發神器,簡化了並行程序的開發難度,我們來看一下CSP。 一、CSP是什麼 CSP 是 Communicating Se